Portál AbcLinuxu, 22. prosince 2025 14:45

DVS: Domáci výpočetní středisko – Fáze 1. - WOL

27.12.2009 00:07 | Přečteno: 2148× | DVS | Výběrový blog | poslední úprava: 28.12.2009 14:13

Byl jsem požádán o dodání návodu na WOL neboli wake-on-lan. Vzhledem k tomu, že jsem ho stejně zapoměl dopsat do první části této minisérie, tak rád vyhovím. Zde se tedy dozvíte něco málo teorie o wake-on-lan a něco málo praxe a použití wake-on-lan. A pro ty, co netuší, co wake-on-lan je vězte, že je to zapnutí počítače přes síť.

Základním předpokladem toho, aby jsme mohli zapnout počítač přes síťóvou kartu je mít síťovou kartu (LAN-kabel), která toto probuzení podporuje a je schopna počítač probudit. To je v dnešní době většina síťových karet jak integrovaných tak PCI, i když moje, ne až tak stará základovka s 3COMkou se tváří, že WOL umí, ale PC se nevzbudí i kdybych se na hlavu stavěl. V minulosti musel být na kartě speciální konektor se 3 kabílky a na základní desce taky. Tímto konektorem se obstarávalo dodatečné napájení síťové karty i když byl PC vypnutý a zajišťovalo se zapnutí PC. Od PCI verze 2.2 (tuším) nic takového není potřeba, takže stačí zastrčit do PCI i starý realtek a můžeme začít (mimochodem můj případ). Další nutnou věcí je zapnout podporu WOL v Biosu (v naprosté většině případů). Tuto volbu lze většinou nalézt někde okolo power managementu a standartně je podpora WOL vypnutá.

Troška teorie

Probouzení se děje pomocí takzvaného magického paketu. Tedy on to vlastně vůbec není magický paket, on je docela obyčejný, jen síťovky ví, že když něco takového dostanou, když je PC vypnuté, mají poslat signál na zapnutí PC. Celý magický paket se skládá ze zdrojové adresy, z broadcast adresy multicastové (tedy broadcast) a dále pak ze 6 bitubytů o hodnotě FF a potom 16x opakované MAC adresy zapínaného PC, takže není až tak problém si napsat vlastní program pro WOL. Aby síťová karta mohla zaregistrovat, že takový paket přišel musí být ve speciálním modu (viz dále). Do tohoto modu se dostane jen tehdy, když se PC korektně vypne a při zapnutí se tento mod opět zruší. Z toho vyplívá, že pokud PC vypnete podržením tlačítka napájení a nebo vypadne elektrika, tak se prostě budete muset zvednout a zapnout PC ručně (případně někdo za vás).

V Linuxu

Tak, když jsme si pohráli s biosem a dokumentací k základní desce, jestli něco takového umí, je čas se vrhnout na pár úprav v systému, který hodláme probouzet. První takovou je ověření, jestli opravdu karta umí WOL. To provedeme pomocí nástroje ethtool a příkazu # ethtool eth0 (doplňte si samozřejmě vaší síťovku). Může se vám objevit zhruba následující výpis:

Settings for eth0:
	Supported ports: [ TP ]
	Supported link modes:   10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Supports auto-negotiation: Yes
	Advertised link modes:  10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Advertised auto-negotiation: Yes
	Speed: Unknown!
	Duplex: Unknown! (255)
	Port: Twisted Pair
	PHYAD: 1
	Transceiver: internal
	Auto-negotiation: on
	Supports Wake-on: pumbag
	Wake-on: g
	Current message level: 0x00000001 (1)
	Link detected: no

Zde nás zajímají hlavně hodnoty Supports Wake-on a Wake-on. První představuje list možných stavů síťové karty a druhá aktuální nastavený stav. Aby šel PC zapnout. Musí být síťová karta ve stavu g. Do toho ji dostaneme příkazem # ethtool -s eth0 wol g. Bohužel toto není trvalá volba a po každém startu je potřeba kartu nastavovat znovu. Proto doporučuji následující příkaz zapsat někam, kde se spustí pokaždé po startu PC (např. /etc/rc.local).

Dalším nutným krokem je, že musíme říct systému, aby nevypínal síťové karty při vypínání. Defaultně je systém nastaven tak, aby karty vypnul (parametr -i). Proto editujte (většinou) soubor /etc/init.d/halt. Tady bude muset zapracovat inteligence a budete muset upravit soubor sami podle vaší distribuce. Snad jen v Ubuntu Server Edition 9.04 stačí na začátku souboru změnit NETDOWN=yes na NETDOWN=no.

Zapínáme

K zapnutí můžete použít 3 programy do příkazové žádky (možná i víc, ale nehledal jsem). K zapnutí PC potřebujete znát MAC adresu síťové karty a pokud jste v jiné síti, tak i IP adresu daného PC. Zde je tedy popis programů, které můžete použít:

Já osobně používám program wakeonlan. Mno a abych to celé dokončil. Teď už jen stačí pustit daný příkaz na nějakém PC ve stejné síti jako stroj, který chcete probudit či případně ještě specifikovat IP adresu (někde broadcast IP) počítače, který chcete vzbudit, pokud jste v jiné síti. Pokud jste samozřejmě v jiné síti, tak musí být routry po cestě nakonfigurovány tak, aby jste se k tomu PC, když je zapnuté, mohli dostat a aby router nezahazoval broadcast adresy.

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

27.12.2009 07:23 marek_hb
Rozbalit Rozbalit vše Re: DVS: Domáci výpočetní středisko – Fáze 1. - WOL
Odpovědět | Sbalit | Link | Blokovat | Admin
a když je PC které chci vzbudit za routerem?
27.12.2009 07:52 marek_hb
Rozbalit Rozbalit vše Re: DVS: Domáci výpočetní středisko – Fáze 1. - WOL
aha, slibuju, že příště budu číst až do konce
27.12.2009 11:06 aaa
Rozbalit Rozbalit vše Re: DVS: Domáci výpočetní středisko – Fáze 1. - WOL
Odpovědět | Sbalit | Link | Blokovat | Admin
Jak vypada 6 bitu s hodnotou FF? Vis vubec jaky je rozdil mezi multicastem a broadcastem? Vis co je subnet? Clanek je snuska chyb a nepresnosti.
bazil avatar 27.12.2009 11:24 bazil | skóre: 33 | blog: sluje | Miroslav
Rozbalit Rozbalit vše Re: DVS: Domáci výpočetní středisko – Fáze 1. - WOL
Jo, má tam bejt 6bytů, to jsem přehlédl.

Broadcast je vysílání, kdy je cílem celá jedna síť. Na rozdílném subnetu se použije maska sítě pro broadcast např 192.168.1.255/24. Na stejném subnetu se pak ještě nastaví MAC adresa na FF:FF:FF:FF:FF:FF. Routery po cestě nemají šanci zjistit, že se jedná o broadcast. Až cílový router zjistí, že je to adresa jeho subnetu, tak změní MAC. Multicast je jakési vylepšení Broadcast, tady opravdu přesně nevím.

Subnet je podsíť ... má cenu to detailně vysvětlovat?

Případně nás poučte a nekritizujte.
27.12.2009 12:05 aaa
Rozbalit Rozbalit vše Re: DVS: Domáci výpočetní středisko – Fáze 1. - WOL
Na rozdílném subnetu se použije maska sítě pro broadcast např 192.168.1.255/24. Na stejném subnetu se pak ještě nastaví MAC adresa na FF:FF:FF:FF:FF:FF. Routery po cestě nemají šanci zjistit, že se jedná o broadcast. Až cílový router zjistí, že je to adresa jeho subnetu, tak změní MAC.
Blbost...Plete si subnet a net. Maska site se pouzije? Vis jak se pouziva maska? 192.168.1.255/24 neni subnet...je to net...z ktereho se da udelat subnet...

Multicast je skupinove vysilani...Broadcast vsesmerove...

Kritizovat budu pac jsou psane blbosti...
bazil avatar 27.12.2009 12:49 bazil | skóre: 33 | blog: sluje | Miroslav
Rozbalit Rozbalit vše Re: DVS: Domáci výpočetní středisko – Fáze 1. - WOL
Ehm a jak můžete tvrdit, že ta adresa je subnet(nebo není), když absolutně nevíte, co je nad ní? Sítě a podsítě jsou vidět až při kompletním obrázku sítě.

Takže Broadcast je speciálním případem Multicastu ... jo díky za vysvětlení.

Ste mohl rovnou dopsat, co je blbě, než tu takhle hrubě pokřikovat. Já sám nejsem genius a poučit se nechám, ale komentář, že jsou všechno blbosti, to je trošku moc.
27.12.2009 17:58 aaa
Rozbalit Rozbalit vše Re: DVS: Domáci výpočetní středisko – Fáze 1. - WOL
To muzu tvrdit snadno...Sit 192.168.1.0/24 musi byt sit...Nemuze to byt podsit...Neni zadna sit nad. Bavime se totiz o privatnim rozshu drive (pri classfull) oznacovanym jako class C. Na to nepotrebuji zadny obrazek...
bazil avatar 27.12.2009 18:17 bazil | skóre: 33 | blog: sluje | Miroslav
Rozbalit Rozbalit vše Re: DVS: Domáci výpočetní středisko – Fáze 1. - WOL
To, že je to standartně použíto takhle Celá síť na 192.168.1.0 / 255.255.255.0 Neznamená, že to nemůže být použito takhle: Celá síť na 192.168.0.0 / 255.255.0.0 Podsítě na 192.168.1-255.0 / 255.255.255.0

Ještě něco?
27.12.2009 18:07 aaa
Rozbalit Rozbalit vše Re: DVS: Domáci výpočetní středisko – Fáze 1. - WOL
Takže Broadcast je speciálním případem Multicastu ...
Blbost...
bazil avatar 27.12.2009 18:20 bazil | skóre: 33 | blog: sluje | Miroslav
Rozbalit Rozbalit vše Re: DVS: Domáci výpočetní středisko – Fáze 1. - WOL
Tak už nám konečně prozraďte, jak to je, místo psaní "Blbost..."
27.12.2009 21:09 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
Rozbalit Rozbalit vše Re: DVS: Domáci výpočetní středisko – Fáze 1. - WOL
Pěkný článek, on se vždycky najde někdo, kdo má v něčem dobré znalosti, má nějaký komplex a potřebuje si ho léčit (člověk co chce konstruktivně upoznornit na nepřesnosti nepoužívá takový tón a nevystupuje jako anonym (tím nemyslím neuvedení jména, ale i neuvedení běžné přezdívky na netu). Docela rozšířené je to ve školství (učitelé co dupou žáky). Nedělat si z takových těžkou hlavu (to nic nemění na tom, že mají třeba pravdu).

Blog dobrý, díky za něj.
Baník pyčo!
bazil avatar 28.12.2009 01:40 bazil | skóre: 33 | blog: sluje | Miroslav
Rozbalit Rozbalit vše Re: DVS: Domáci výpočetní středisko – Fáze 1. - WOL
děkuji
28.12.2009 12:04 aaa
Rozbalit Rozbalit vše Re: DVS: Domáci výpočetní středisko – Fáze 1. - WOL
Urcite mam komplex...A potrebuji si ho lecit...Presne tak...Ted jsi mne odhalil...A ja za to pujdu do pekla...Protoze jsem moc spatnej... No a ted vazne...Pouzivam bezne nick aaa...A upozornoval jsem na chyby...To ze nekdo kvuli tomu vyvadi (ze jsem pouzil slovo blbost - coz neni nic drsneho), tak at se tesi do pracovniho procesu kde po nem budou dupat sefove a klienti (chteji mit vse v top kvalite (vysoky vykon, vysoka dostupnost atd. )a platit malo penez)...
bazil avatar 28.12.2009 13:24 bazil | skóre: 33 | blog: sluje | Miroslav
Rozbalit Rozbalit vše Re: DVS: Domáci výpočetní středisko – Fáze 1. - WOL
Nikdo se nezlobí za slovo blbost.

Jen když je něco blbě, tak kritizujte konstruktivně, protože tady nejsme v práci, tady to všichni děláme dobrovolně a já osobně si myslím, že podle toho mého blogu se WOL určitě rozchodit dá. Mno a když už tedy kritizujete, tak nám neznalým konečně povězte ten rozdíl mezi broadcastem a multicastem, tedy kromě toho, že broadcast je pro celou síť ohraničenou routerem a multicast je pro skupinu PC (jestli ve stejné síti, nebo ne, nevím).

A není náhodou celá siť taky jen skupina PC?
28.12.2009 13:59 aaa
Rozbalit Rozbalit vše Re: DVS: Domáci výpočetní středisko – Fáze 1. - WOL
Ano multicast je jen pro skupinu koncovych prvku. Jen ty ktere se k tomu "prihlasi" a maji D class IP adresu. Na siti tim padem muzete mit vice multicastovych skupin. Broadcast je "povinnost" a patri tam automaticky kazdy. A tomuto provozu se musi venovat... Broadcastova adresa je jasna (same jednicky v uzivatelske casti IP adresy). Multicastova je jak jiz jsem psal D trida IP adres.
bazil avatar 28.12.2009 14:09 bazil | skóre: 33 | blog: sluje | Miroslav
Rozbalit Rozbalit vše Re: DVS: Domáci výpočetní středisko – Fáze 1. - WOL
speeer, děkuji za vysvětlení
gtz avatar 27.12.2009 17:29 gtz | skóre: 27 | blog: gtz | Brno
Rozbalit Rozbalit vše Re: DVS: Domáci výpočetní středisko – Fáze 1. - WOL
Pro ty kdo neví .... wiki Multicast

wiki Broadcast
- nejhorší jsou trpaslíci ... Ti Vám vlezou úplně všude
bazil avatar 27.12.2009 18:18 bazil | skóre: 33 | blog: sluje | Miroslav
Rozbalit Rozbalit vše Re: DVS: Domáci výpočetní středisko – Fáze 1. - WOL
Konečně nějaký konstruktivní příspěvěk, ale ty wiki jsem taky viděl a moc jsem z toho ten multicast nepochopil.
30.12.2009 05:11 xyz
Rozbalit Rozbalit vše Re: DVS: Domáci výpočetní středisko – Fáze 1. - WOL
ono to bude tou ceskou verzi wikipedie kde temer nic neni. http://en.wikipedia.org/wiki/Multicast
28.12.2009 22:38 MilanK
Rozbalit Rozbalit vše Re: NETDOWN=no
Odpovědět | Sbalit | Link | Blokovat | Admin
Proto editujte (většinou) soubor /etc/init.d/halt.
V Ubuntu 9.10 editujte /etc/default/halt:
# Default behaviour of shutdown -h / halt. Set to "halt" or "poweroff".
HALT=poweroff
NETDOWN=no
/etc/init.d/halt si to už najde...
bazil avatar 29.12.2009 00:33 bazil | skóre: 33 | blog: sluje | Miroslav
Rozbalit Rozbalit vše Re: NETDOWN=no
jo, máš pravdu, teď jsem psal, jak je to špatně protože v init.d/halt je to a to a uvědomil jsem si svoji vlastní blbost :-)

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.