forum

www.SAMURAJ-cz.com 

25.11.2014 Kateřina Translate to English by Google     VÍTEJTE V MÉM SVĚTĚ

Články

Wake on LAN - lokální i vzdálený subnet

Neděle, 10.08.2008 20:42 | Samuraj - Petr Bouška |
Asi každý má představu o tom, co je to Wake on LAN, tedy vzdálené zapnutí (probuzení) počítače. Když jsem ale začal přemýšlet o použití WOL na počítač, který je v jiném subnetu a je tedy mezi ním router, tak jsem si uvědomil řadu komplikací. Prostudoval jsem množství článků a diskuzí a zjistil jsem, že většinou je popis neúplný a často dokonce nesprávný. Proto v tomto článku shrnuji komplexně celou problematiku, kterou jsem nastudoval. Popisuji řešení pro probuzení počítače ve stejném, ale i vzdáleném (třeba přes internet) subnetu. A uvádím také příklad skriptu v PHP.

Vytvořil jsem webovou verzi aplikace, která provádí dále popsaný Wake on LAN. Dostupná je na adrese Wake On LAN (WoL) - turning on your computer remotely (v AJ).

Wake on LAN (WOL) funguje na Ethernetu a je nezávislý protokolu (TCP/IP, IPX či jiný). Jak by název napovídal, tak buzení funguje v rámci lokální sítě. LAN dříve představoval jeden subnet, takže vše bylo jednoduché a dále je popsáno v první variantě. Dnes je však lokální síť velmi často dělena do řady subnetů a jako LAN se označuje určitá geografická lokalita. Takže se WOL řeší do jiného subnetu, občas se označuje jako WOL over the internet, a tuto situaci popisuji v dalších variantách.

Pozn.: V článku různě používám termíny rámec (frame) a paket (packet), často (ne vždy) se dají zaměnit, záleží na tom, zda nás v daném kontextu zajímají i MAC adresy nebo pouze IP adresy a výše. Podrobněji v článku TCP/IP - model, encapsulace, paket vs. rámec.

Co musí splňovat klient - zapnutí WOL

Nejprve začnu tím, co musí splňovat klient, tedy buzený počítač, aby jej bylo možné vzdáleně zapnout.

Je potřeba podpora u základní desky a u síťové karty (NIC). Funguje to tak, že i když je počítač vypnutý, tak síťová karta je stále napájena a poslouchá komunikaci, zda nepřišel speciální rámec (frame), který se jmenuje Magic Packet. Síťová karta pracuje ve speciálním režimu Magic Packet Mode. Ve chvíli, kdy zachytí Magic Packet, který je určen pro ni (podle MAC adresy, viz dále), tak pošle signál základní desce, aby zapnula počítač.

Dříve se pro externí síťové karty používal speciální kabel, který je spojoval se základní deskou. Později se tento budící signál začal posílat po PCI sběrnici (od verze PCI 2.2). Dnes máme síťovou kartu integrovanou na základní desce, takže je vše jednodušší (ale stejně to ve skutečnosti funguje po PCI či PCIe).

Většinou stačí v BIOSu zapnout funkci Wake On LAN, která bývá nazvána různě, například na mé domácí základní desce se skrývá v AMI BIOSu pod Power - APM Configuration - Power On By PCIE Device, protože integrovaná síťová karta je na PCI Express sběrnici.

Někdy je třeba ještě nastavit síťovou kartu, což můžeme udělat z Windows pod Control Panel - System - Hardware - Device Manager - daný síťový adaptér - Properties - Advanced - zde nastavení Wake Up Capabilities, případně ještě Wake From Shutdown.

Důležité je, že standardně musí být síťová karta přepnuta do speciálního režimu Magic Packet Mode (to se provede nastavením bitu v interním registru), kdy kontroluje síťový provoz, zda nepřišel Magic Packet. To dosáhneme korektním vypnutím počítače (při zapnutí se tento speciální mód automaticky vypne), někde se tomu říká Soft Shutdown. K tomu nedojde například při přerušení dodávky elektrické energie nebo při vypnutí počítače dlouhým podržením Power Button. Vše ještě záleží na to, zda do Magic Packet Mode přepíná ovladač síťové karty, pak vše musí být nastaveno v tomto ovladači a operační systém musí být korektně ukončen. Nebo je to řešeno v hardwaru či BIOSu.

Pozn.: To, že je síťová karta napájena i při vypnutém počítači poznáme podle toho, že má stále link state (svítí dioda na síťové kartě i na portu switche, na switchi se hlásí jako connected).

Základní princip WOL - Magic Packet

Wake on LAN funguje tak, že z nějaké řídící stanice odešleme speciální rámec (frame) tzv. Magic Packet. Magic Packet je standardní rámec, který obsahuje zdrojovou adresu, cílovou adresu, která může být adresou cílové stanice nebo multicastovou (tzn. i broadcast) adresou. Datový obsah paketu musí kdekoliv uvnitř (ale většinou zde jiný obsah není) obsahovat synhronizační stream, což je 6 bytů o hodnotě FF. Následovaný 16 krát zopakovanou MAC adresou cílové stanice (bez oddělovače).

Rámec se odesílá jako UDP a doporučuje se použít port 9 discard nebo 7 echo, ale většinou se port nekontroluje, takže se může použít libovolný od 0 do 65535. Zdrojový port je dynamický.

WOL v lokálním subnetu

Pomocí broadcastu

Pokud jsou obě stanice (vysílající i buzená) ve stejném subnetu, tak je situace jednoduchá a bezproblémové. Běžně to funguje tak, že se Magic Packet pošle jako broadcast. Tedy hodnoty v rámci jsou na L2 (druhá vrstva dle OSI modelu) zdrojová MAC = vysílající stanice, cílová MAC = FF:FF:FF:FF:FF:FF. L3 zdrojová IP adresa = vysílající stanice, cílová IP = 255.255.255.255.

Wake On LAN - broadcast packet

Pozn.: Z toho je vidět, že pro použití potřebujeme znát pouze MAC adresu probouzené stanice.

Pozn.: Pokud bychom Magic Packet v rámci stejného subnetu chtěli poslat jako unicast, tak dojde k problému. Když fyzická vrstva síťového rozhranní vytváří rámec a nezná MAC adresu pro zadanou IP adresu (z lokální ARP tabulky), tak odešle ARP dotaz (broadcast), na který nedostane odpověď, takže rámec nikdy nevytvoří. My sice MAC adresu známe (a navíc není důležitá), ale to bychom museli vytvořit rámec sami na nižší vrstvě (než asi běžně použijeme v nějakém programovacím jazyku).

WOL do vzdáleného subnetu (přes internet)

Složitější situace nastane, pokud buzená stanice není ve stejném subnetu, to znamená, že v cestě se nachází jeden nebo více routerů. Vše plyne z principu komunikace v síti (nebo funkce aktivních síťových prvků), podrobněji se můžete dočíst v článku TCP/IP a ethernet - cesta v síti, aktivní síťové prvky.

První věc je, že router odděluje broadcastové domény, jednodušeji řečeno, broadcasty se skrze router nešíří (standardně, dá se to obejít speciální konfigurací routeru). Aplikace, které se dají získat na internetu, většinou nabízí i možnost zadání IP adresy buzené stanice (a bohužel většinou bez popisu co jak zadávat). A od toho se na internetu vede řada diskusí. Vždyť přece vypnutá stanice nemá IP adresu, síťová karta má pouze svoji hardwarovou adresu, tedy MAC adresu. Ale použití této IP adresy neslouží k identifikaci stanice, ale k identifikaci subnetu.

Pozn.: Síťová karta v Magic Packet Mode se většinou nedívá na L2, L3 ani L4, ale pouze do datového obsahu rámce.

Pomocí unicastu

Pokud je cíl v jiném subnetu, tak můžeme použít unicast, ale to funguje jen chvíli (možné časy jsou uvedeny dále) po vypnutí počítače. Při odesílaní paketu naše stanice zjistí, že cíl je v jiném subnetu, takže zprávu pošle na bránu (gateway nebo podle své routovací tabulky, do rámce se použije MAC adresa brány a IP adresa cíle, to řeší fyzická vrstva síťového rozhranní). Pokud router má v ARP tabulce uloženu danou cílovou IP adresu, tak použije správnou MAC adresu a odešle rámec. Pokud dostane rámec switch a v CAM tabulce (tabulka MAC adres a portů) nemá záznam, tak pošle zprávu na všechny porty mimo příchozího. Pokud ještě záznam má, tak pošle přímo na daný port.

Problém ale nastane, když router nemá záznam v ARP tabulce. Tehdy pošle broadcast, kde se ptá, kdo má danou IP adresu, ale protože nedostane odpověď (od vypnuté stanice), tak paket zahodí.

Pozn.: V tomto případě tedy potřebujeme MAC adresu cílové stanice a její poslední IP adresu. Teoreticky bychom mohli použít i jinou IP adresu z daného subnetu, ale jde o to, aby ji router měl ve své ARP tabulce (je nám jedno, že ji na L2 přiřadí jinou MAC adresu) a naopak switch, aby tuto přiřazenou MAC adresu neměl v CAM tabulce, protože by rámec odeslal jen na jiný port. Pokud bychom za routerem měli hub, tak bychom mohli použít IP adresu libovolné běžící stanice v daném subnetu a vždy by nám to fungovalo.

Pomocí směrovaného broadcastu

Abychom tedy dostali paket do cílového subnetu, můžeme použít směrovaný broadcast na subnet (Subnet Directed Broadcast, např. 10.0.0.255), který používá boradcastovou adresu daného subnetu, více v článcích TCP/IP - metody vysílání dat a TCP/IP - adresy, masky, subnety a výpočty. Ten by měl cestovat přes routery až na ten, který má daný subnet jako přímo připojený. Tento router upraví rámec na běžný broadcast a odešle jej na odpovídající rozhranní.

Pozn.: V tomto případě tedy potřebujeme MAC adresu cílové stanice a broadcastovou adresu subnetu, v kterém se nachází.

Protože však tato technika byla používána k útokům, tak bývá na routerech nebo i firewallech většinou zakázána. To se týká routeru, který by měl rámec převést na broadcast, přes ostatní by měl rámec projít normálně.

Pozn.: Nejběžnější je Smurf Attack, který má zařídit Denial of Services (DoS). Útočník odesílá množství paketů  ICMP echo reply s podvrženou zdrojovou adresou jako directed broadcast, všechny stanice v subnetu odpovídají echo reply a stanice, jejíž adresa je ta podvržená, je zahlcena.

Na novějších Cisco routerech a switchích (L3) je tato funkce defaultně zakázána, ale je možno ji povolit pro daný interface (port či VLANu). Následuje ukázka nastavení.

Switch(config)#interface vlan 100
Switch(config-if)#ip directed-broadcast   // povolení pro interface, může být následováno označením ACL
Switch(config-if)#exit 
Switch(config)#ip forward-protocol udp 9  // určení povoleného protokolu a portu (volitelně) pro directed broadcast

bezpečnostních důvodů se vždy doporučuje povolení směrovaných broadcastů doplnit o ACL (kde se povolí odesílání třeba jen z jedné IP adresy).

Pro zajímavost se může hodit informace o defaultním timeoutu hodnot na některých Cisco zařízeních. Timeout pro CAM tabulku bývá 5 minut, timeout pro ARP tabulku bývá 4 hodiny. Tyto hodnoty jsou nastavitelné.

Příklad skriptu Wake On LAN v PHP

Zde je uvedený jednoduchý příklad implementace Wake On LAN pomocí PHP. Pokud známe princip WOL, tak není nic těžkého takovýto skript napsat.

// použití WakeOnLAN("00-02-A5-31-CE-5E");
// nebo    WakeOnLAN("00-02-A5-31-CE-5E", "192.168.10.15");
// nebo    WakeOnLAN("00-02-A5-31-CE-5E", "192.168.10.255");
// vrací   true - odeslání proběhlo OK (to neznamená, že cílová stanice přijala rámec)
//         false - došle k chybě při vytváření nebo odeslání rámce
function WakeOnLAN($mac, $ip = "255.255.255.255", $port = 9) {
  $mac = strtoupper($mac);          // převedeme písmena v MAC adrese na velká
  if(ereg("^([0-9|A-F]{2})[.|:|-]?([0-9|A-F]{2})[.|:|-]?([0-9|A-F]{2})[.|:|-]?([0-9|A-F]{2})[.|:|-]?([0-9|A-F]{2})[.|:|-]?([0-9|A-F]{2})$", $mac, $val)) 
    $mac = chr(hexdec($val[1])).chr(hexdec($val[2])).chr(hexdec($val[3])).chr(hexdec($val[4])).chr(hexdec($val[5])).chr(hexdec($val[6]));  // uloží MAC jako hexadecimální hodnoty
  else return false;                // MAC adresa je v neplatném tvaru
  $msg = str_repeat(chr(255), 6);   // úvodní synchronizační stream 6x FF
  $msg .= str_repeat($mac, 16);     // následovaný 16x zopakovanou MAC adresu cíle
  if(($s = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP)) == false) return false;    // otevře UDP socket
  if(socket_set_option($s, SOL_SOCKET, SO_BROADCAST, true) == false) return false; // nastaví jako broadcast
  if(socket_sendto($s, $msg, strlen($msg), 0, $ip, $port) == false) return false;  // odešle Magic Packet na danou IP a UDP port
  socket_close($s);                 // uzavření socketu
  return true;
}

Tento kód můžeme doplnit o nějaké kontroly a vytvořit jednoduché webové rozhraní a máme aplikaci.

WOL webové rozhranní

Aplikace pro WOL

Samuraj Wake On LAN Command Line - sWOLcmd

Jako první musíme zmínit aplikaci, kterou jsem vytvořil po napsání tohoto článku (a kde jsem zúročil nabité zkušenosti). Podrobný popis naleznete v Samuraj Wake On LAN Command Line - aplikace sWOLcmd. Jedná se o WOL aplikaci pro příkazový řádek a funkční v 32 bitových Windows. Stáhnout si můžete komprimovaný archiv sWOLcmd.

sWOLcmd

Další aplikace

Aplikací, které slouží k probuzení počítače pomocí WOL, je velká řada. Ať už grafických nebo pro příkazovou řádku a pro rozličné operační systémy. Často je funkce WOL doplněna do různých aplikací pro správu síťového prostředí. Uvádím zde pár příkazů grafických aplikací pro Windows.

Odkazy

zobrazeno: 75371krát | Komentáře [55]

Autor:

Související články:

Počítačové sítě - Computer networks

Tento seriál se věnuje základům počítačových sítí. Jsou zde stručně popsány důležité praktické aspekty, které by měl znát každý, kdo se o sítě zajímá.

Pokud se Vám článek líbil, tak mne potěšíte, když uložíte odkaz na některý server:

Pokud se chcete vyjádřit k tomuto článku, využijte komentáře níže. Pokud chcete poradit s nějakým problémem či diskutovat na nějaké téma, tak použijte fórum.

Komentáře

  1. [1] lukas

    Moc dekuji za tento clanek, neco podobneho jsem hledal.

    Jen bych se chtel zeptat. Mam problem s tim ze ten php kod funguje pokud ho poustim na Apache/Win XP, ale kdyz ho pustim na IIS7/W2008 tak to sice posle pakety (Wake on Lan Monitor), ale nic se nestane. Nemate nekdo s timto zkusenost?

    Středa, 13.08.2008 17:18 | odpovědět
  2. [2] invader

    Ahoj,

    ja bych se chtel zeptat, zda by slo paket poslat proste unicastem na rozhrani routeru a na nem forwardovat vse co prijde na udp port treba 9 na adresu broadcastu insterni site, kde se nachazi pocitac, ktery chci zaptnout. To by melo jit taky?

    Pondělí, 18.08.2008 17:22 | odpovědět
  3. [3] Samuraj

    odpověď na [2]invader: No to je vlastně to, co dělá directed subnet broadcast. Ale třeba na Linuxovém routeru by to asi šlo nastavit.

    Pondělí, 18.08.2008 17:41 | odpovědět
  4. [4] Heron

    odpověď na [1]lukas: Z Windows Vista po SP1 take nelze posilat "WOL" packety. Proste to utnuli.

    Úterý, 19.08.2008 11:03 | odpovědět
  5. [5] Lukas

    odpověď na [4]Heron:

    Nejsem si jist jak myslis "utnuli" ,ale na komp nejaka sada dat prijde. a podle WOL monitoru vcelku podobne jako z XP pc. Nicmene nejsou tak "ucinna" :-( a pocitac se proste neprobudi..

    Úterý, 02.09.2008 09:26 | odpovědět
  6. [6] Lukas

    odpověď na [5]Lukas:

    PS: kdyz pouziju samurajovo program swolcmd tak pocitac z W2008 probudim. Spis mam podezreni na ten php kod a na to jestli "neco" neklape kdyz to bezi na IIS a ne na apache.. ale do toho ja uz moc nevidim :(

    Středa, 03.09.2008 15:09 | odpovědět
  7. [7] Samuraj

    odpověď na [6]Lukas: No zdá se mi to celé podivné. Ten můj prográmek je napsaný v PHP a základ je ten kód zde (i když doplněný). Na webovém serveru by nemělo záviset, je to otázka PHP interpretru a knihoven. Řekl bych, že to používá klasickou síťovou vrstvu Windows, takže na OS asi záleží.

    Ale pokud ten paket odejde OK, tak nevím v čem by mohl být problém. Jedině, že se paket nesestaví správně (například broadcast). Jinak určitě to ovlivňuje php extension php_sockets.

    Chci to na W2008 zkusit, ale pořád jsem nenašel čas.

    Středa, 03.09.2008 16:04 | odpovědět
  8. [8] Paia

    Trochu mi zatím není jasný, jestli se tímto postupem dá zapnout můj domácí komp z kompu v práci. Mám doma naštěstí veřejnou IP, router s NAT a kompy doma v rozsahu 192.168.xx.yy, přičemž xx je jiný než rozsah adres na síti v práci. A připojení v práci máme VPN tunelem do mateřský firmy 250 km daleko, takže po cestě ven do internetu je pár routerů a u nich firewall pro celou firmu.

    Čili, kdybych udělal na mým routeru cestu pro packet dle čísla portu na jednotlivý kompy, mohlo by to fungovat, no ne? Tedy pokud by packet prošel skrz firmu ven...

    Pátek, 05.09.2008 15:49 | odpovědět
  9. [9] Samuraj

    odpověď na [8]Paia: Teoreticky by to chodit mělo, jak píšete. Když to dojde až na váš domácí router, tak pak jen je otázka, aby ten z toho uměl udělat broadcast.

    Problém je, že na neveřejnou adresu nemůžete použít directed broadcast (nedošel by na router), takže jediná možnost je, poslat to na veřejnou adresu routeru a ten to musí transformovat.

    Pátek, 05.09.2008 16:40 | odpovědět
  10. [10] Karel Bordich

    Pro probuzení počítače přes internet, třeba z kavárny na dovolené, lze použít webovou aplikaci na adrese wol.vanis.cz/

    Sobota, 06.09.2008 18:14 | odpovědět
  11. [11] Samuraj

    odpověď na [10]Karel Bordich: Ano, ale jak jsem se snažil vysvětlit v článku, tak většině lidí to nebude fungovat.

    Neděle, 07.09.2008 12:35 | odpovědět
  12. [12] Paia

    odpověď na [9]Samuraj: Prima, tak jen musím najít, jak to transformovat, snad to půjde, má docela bohatou konfiguraci, jen se v ní vyznat (no, překlad portů pro VNC a dalších pár aplikací jsem v nastavení NATu zvládnul).

    Pondělí, 08.09.2008 09:54 | odpovědět
  13. [13] Honza

    Clanek hezky, skoda, ze jsem jej neobjevil pred rokem, rovnez, jak autor uvadi, prvotni nastudovani tematu z existujicich zdroju nebylo snadne.

    Pridam par zkusenosti>

    Probouzet z prace pocitac doma, ktery na ADSLku se me dari, mam na konci ADSL router (Well 845), kdyz se nastavi spravny portforward, funguje v pohode. Jen je potreba nastavit forward na typ multicast, unicast funguje obvykle opravdu jen ty 4 hodiny, po ktere router drzi v pameti ARP IP k MAC. Jen nezapomente u portforwardu oznacit, ze se jedna o UDP pf.

    Skript na generovani z prostredi PHP je naprosto v poradku, potize mohou vzniknout na Win kdyz neni v prostredi PHP nakonfigurovany socket funkce.

    Dle meho zjisteni, na porty (doporucovany 7,9 nekde jsem zahlednul i 5) muzete fakt kaslat, vetsina sitovek nedela rozdil.

    Male nedokonale reseni pro ty, jez maji doma router a neumi portforward pretavit na multicast> v ARP zustane IP/MAC 4 hodiny. Muzete naprogramovat z nejakeho webhostingu, spolu s CRONem cosi, co jednou za necele 4 hodiny pocitac ozivi a nekam do programu po spusteni zadat skript, co do 3 minut (pokud uzivatel nerozhodne jinak) stroj zase vypne.

    Druhou alternativou casto pouzivanou ve vetsich sitich je provadel WoL lokalne pres stroj, ke kteremu mate permanentni VNC pristup.

    Reseni treti, mate-li ve firme linuxovou gateway, je naprogramovat to pro apache/php na tom linuxu. Nekdy to take byva jedine reseni, protoze starsi distro red hatu (na ktere se v nejedne firmne zaprasilo) umi portforward na multicast (zvenku dovnitr) jen jeden. Jak tam date 2 a vic pravidel, nefunguje zadne.

    Posledni moznosti je spichnout pro uvnitr nonstop zaplou masinu maly softik, ktery co minutu wget (web) koukne nekam na web a pokud tam najde priznak, ze ma budit, probudi neco lokalne. A probouzeni zadate z webu pres nejake webove rozhrani. Pro lidi, co jsou znacne omezeni politikou forwardovani a proxy je to zpravidla posledni moznost.

    MagicPacket se da snadno generovat ...

    Úterý, 30.12.2008 09:38 | odpovědět
  14. [14] Honza

    MagicPacket se da snadno generovat i v beznych vyvojovych prostredich, kdo ma zajem o kod pro Delphi, napiste mi (jan -at- cepelak -dot- cz).

    A par problemu z praxe, se kterymi jsem se setkal>

    1. Laciny desky s onboard sitovkama maji (nektere) zmrseny firmware, uz jsem videl desku, ktera probouzela pocitac prakticky na kazdy broadcastovy paket. A vyrobci lacinych desek na tuhle chybku malokdy udelaji novy firmware.

    2. svete div se, internet je veliky a nebezpecny. Bezne se setkate s tim, ze nekdo nahodne zkousi poslat WoL na nahodne IP/porty, leckdy najdu doma pocitac probuzeny, aniz bych si to pral a az kdyz jsem nekolik dni monitoroval prichozi traffic, nasel jsem, ze se to zdaleka nedeje ojedinele (Jen malokdy trefi spravny port na portforward, vetsinou zkousi nasobky tisicu+7 ci 9; chcete-li tomu predejit, ci to lehce omezit, postaci vybrat pro portforward port a la 9267).

    3. pokud Vam to nefunguje ani v lokalni siti a jste si jisti, ze deska/NIC WoL umi, na 99% je to jeden z techto "zadrhelicku"

    a) Probouzite z notebooku na WiFi a APcko kombinovane s routerem ma predani multicastu zakazane (viz clanek)

    b) zadali jste svoji, nez ciloveho stroje MAC, pitoma nepozornost, co zamestna na par desitek minut.

    c) Pres konfiguraci hardwaru ve Widlich jste WoL capability nepovolili.

    d) naspoledy jste nevypli PC metodou softShutDown - viz clanek

    Jeste jeden unikatni problem z praxe>

    ve starsich sitich najdete jeste i 10Mbit only huby. A v nekterych sitovkach se pres parametry sitovky da nastavit i WoL speed. Kdyz (jako se stalo me) nejakej lojza pred Vama naklika z defaultniho AUTO na 100Mbit, sitovka po softShutDown nechytne link.

    A jeste dotaz pro autora>

    Nekde jsem zahledl zminku i o jinych protokolech na probouzeni a dokonce v jednom BIOSu moznost nastavit i WoL heslo, ktere musi byt soucasti probouzeciho paketu, jinak k probuzeni nedojde. Nemas o tom nejake podrobnejsi info?

    Úterý, 30.12.2008 09:55 | odpovědět
  15. [15] Honza

    A jeste jedna drobnost...

    pro ty z Vas, kteri premysli jak vyresit problem s softShutDown (mate stroj ve firme, ktery potrebujete probudit, ale probudit nejde, neb ve firme doslo k vypadku proudu a tim nedoslo ke korektnimu vypnuti a nelze tedy zapnout), spousta desek dava moznost i v BIOSu nastavit (power managment), co se ma stat, kdyz pritece proud po vypadku. Defaultne byva nastaveno \"nic\". Kdyz nastavite \"Powerr On\", o starosti mate vystarano.

    A jeste mala poznamka.

    Kdyz jsem hledal po netu, v ruznych diskusich WoL dost odsuzovali stran bezpecnosti. Predevsim proto, ze WoL se neda moc zabezpecit a taky se casto probouzi stroj disponujici VNCckem.

    A pokud nemate VNCcko zabezpeceny (pres tunel, nebo u ultraVNC dsm plugin), hesla tecou nekryptovany. A veci znalym lidem rovnez nemusim pripominat, ze KRFB definice (VNC protokol) umi jen max 8 znaku do hesla (ze Vam nektery softy nabizi vic je jen iluze). Potencialni utocnik muze z jednim z dvou nasledujicich pokusu snadno uspet>

    1. Utocnik uvnitr site - sleduje broadcast pakety a kdyz zaznamena WoL, nasledujicich 5 minut loguje provoz, jez by mohl obsahovat VNC heslo.

    2. Utocnik z venku, odesle MagicPakety a o nocich metodou brutforce testuje hesla, neni jich (8 znaku) zas tolik a kdyz to provadi jen vnoci, jen tak si nevsimnete.

    Na obe dve metody se da napsat celkem snadno zautomatizovany softik a prolomeni je jen otazkou casu.

    Úterý, 30.12.2008 10:12 | odpovědět
  16. [16] Samuraj

    odpověď na [15]Honza: Díky za zajímavé informace. Pár mých poznámek.

    Upozornil bych na odkaz na začátku článku, který vede na stránku s WoL aplikací a hlavně anglickým popisem, kde jsem stručně popsal hlavní podmínky pro WoL over Internet.

    Nemám zkušenosti s domácími routery, takže jen teoreticky. Použití multicastu je zajímavé, ale lepší by mě přišlo použití broadcastu (ve forwardovacím pravidle). Otázka je také možnost zadat na routeru pevně ARP záznam pro náš počítač a pak použít unicast.

    O zabezpečení Magic Packetu jsem také četl jen malou zmínku. Pravděpodobně se jedná pouze o speciální implementace, například u nové Intel technologie AMT (Active Management Technology).

    Úterý, 30.12.2008 13:08 | odpovědět
  17. [17] sidak marker

    Klobouk dolů. Je to sice jen 2 roky co jsem neprogramoval a místo toho dělal jen management. Ale jak tak na těch cca 12 řádků koukám, tak jdu oprášit jazykové schopnosti. A angličtina to nebude ;) Díky!!!

    Středa, 28.01.2009 22:37 | odpovědět
  18. [18] Robert

    perfektní článek a ne jenom kusé informace jako jinde na internetu. Děkuji

    Pondělí, 02.03.2009 17:03 | odpovědět
  19. [19] Schooby

    Ahoj! Opravdu perfektní článek, dozvěděl jsem se vše co potřebuji a ještě něco navíc, mám jen jednu doplňující otázku. Dá se tímhle způsobem budit počítač, když je "suspend on ram"? (uspaný v operační paměti pomocí S3) Díky

    Středa, 29.07.2009 19:14 | odpovědět
  20. [20] Roman

    Ahoj, super článek! Akorát mam menší problém.. jeden počítač v doméně mi nejde vzdáleně spustit, když se kouknu do vlastností síť. adaptéru, je tam zaškrtnuto Povolit probouzet počítač z úsporného režimu pouze řídícím stanicím. Když to odkliknu a PC restartuji, je to opět zaškrtnuté. Nevím si rady.. před přidáním do domény to fungovalo:-(

    Díkes

    Sobota, 14.11.2009 12:33 | odpovědět
  21. [21] Neutrin

    odpověď na [20]Roman: mno videl bych to tak ze to mas nastaveno v domenovych pravidlech

    jinak, Samuraji, mas to tu vynikajici ;-)

    Pondělí, 30.11.2009 07:19 | odpovědět
  22. [22] Bukyn

    Ahoj,mám problém z buzením pc na dálku a to takový že když pc vypnu tak po třeba 5min. ho magic paketem ještě vzbudím,ale když je to pak dýl tak už pc neprobudím,v cestě mám AP router Zcomax (mám spojený PC s routerem kabelem),ve kterém si myslím že je problém,ale nevím to jistě,lámu si s tím hlavu už dlouho,díky za jakoukoliv radu,ahoj Jirka.

    Pondělí, 07.12.2009 19:25 | odpovědět
  23. [23] sanjuro

    Bukyn a co takto citat clanok? urcite sa ho snazis vzbudit unicastom a tym padom musi byt v ARP tabulke routra zaznam IP-MAC ktoru si ale pamata len isty cas po vypnuti konkretneho pocitaca!

    Úterý, 05.01.2010 11:50 | odpovědět
  24. [24] Tom

    Jakto, že můžu zapnout počítač nadálku přes webovou službu LogMeIn, ale jiné způsoby (přes web Samuraj či wol.vanis.cz) selhávají? Pokud jde počítač zapnout jedním způsobem, proč nejde jiným?

    • na komentář odpověděl [32]Leo
    Pondělí, 08.02.2010 11:07 | odpovědět
  25. [25] Petr

    Mne by zase zajímala "hardwarová" stránka věci.

    Mám dotaz,jak se změní "signál" na pinu č.3 konektoru Wake ON LAN síťové karty při příchodu magic packetu. Pin č.1 je napájení +5V (standby zdroj ATX),pin č.2 je zem. Je to tak,že síťová karta s podporou Wake ON LAN bude přijímat magic packet pokud bude mít napájení 5V i když nebude zasunuta v PCI slotu? Změní se stav pinu č. 3 z log 0 na log 1 při příchodu magic packetu? Mám totiž PC se základní deskou,která Wake ON LAN nepodporuje,ale pokud by síťová karta fungovala tak,jak se domnívám,nebyl by žádný problém doplnit tranzistor a tranzistorem následně zapnout PC.

    Může mi prosím někdo moji úvahu potvrdit? Děkuji

    Pátek, 19.02.2010 20:35 | odpovědět
  26. [26] Radomir

    a co tato situace jsem v praci - potrebuju pustit pc doma

    doma mám fw v praci se přiojim pres vpn na ten muj fw ted potrebuju aplikaci která ho probudi pujdeto??

    Úterý, 04.05.2010 10:45 | odpovědět
  27. [27] kwaczek

    odpověď na [13]Honza: Dekuji oboum panum. Funguje mi to pres internet. :-):-) Vse jsem pouzil dle Samuraje, ale porad to ne a ne projit z internetu (doma to slapalo). Az jsem si precetl komentare a zjistil jsem , ze muj router D-link DI-524 dava defaultne TCP port 9 pri forwardu. Zmenil jsem to na UDP a uz to vali :)

    Diky jeste jednou...

    Jeste dotaz:

    Chci si to omezit pouze na adresu, ktera mi posila WOL paket. Kdyz budu pouzivat wake-on-lan.samuraj-cz.com, bude to porad chodit ze stejne adresy?

    A je to adresa 93.185.104.17, nebo to je jen web?

    Omlouvam se zda to je mimo misu. Nejsem si uplne jist, zda jsem vse pochopil :-O

    Úterý, 03.05.2011 18:27 | odpovědět
  28. [28] Samuraj

    odpověď na [27]kwaczek: Zdrojová adresa by měla být pevná (ale neručím, že se někdy nezmění) a je to 93.185.104.17.

    Středa, 04.05.2011 14:49 | odpovědět
  29. [29] Jiri Sladek

    Není někde nějaký seznam mainboardů nebo jejich výrobců, kde by bylo napsané, jestli daný MB umí pořádně WOL nebo neumí?

    'Umí pořádně WOL' znamená, že:

    WOL funguje i po výpadku 230V

    WOL funguje i po najetí do BIOS SETUPu a vypnutí

    WOL funguje i po několikadenním ponecháni PC ve stavu SoftSutDown (řádné ukončení z Windows XP)

    'Neumí pořádně WOL' znamená, že:

    WOL nefunguje i po výpadku 230V

    WOL nefunguje i po najetí do BIOS SETUPu a vypnutí

    WOL nefunguje po několikadenním ponecháni PC ve stavu SoftSutDown (řádné ukončení z Windows XP)

    Příklad MB 'Umí pořádně WOL': FUJITSU SIEMENS ESPRIMO P5925

    Příklad MB 'Neumí pořádně WOL': ASUS P4P800S-X

    Díky

    Jiří Sládek

    Pátek, 20.05.2011 10:48 | odpovědět
  30. [30] Jiri Sladek

    Oprava předchozího příspěvku.

    Není někde nějaký seznam mainboardů nebo jejich výrobců, kde by bylo napsané, jestli daný MB umí pořádně WOL nebo neumí?

    "Umí pořádně WOL" znamená, že:

    WOL funguje i po výpadku 230V

    WOL funguje i po najetí do BIOS SETUPu a vypnutí

    WOL funguje i po několikadenním ponecháni PC ve stavu SoftShutDown (řádné ukončení z Windows XP)

    "Neumí pořádně WOL" znamená, že:

    WOL nefunguje po výpadku 230V

    nebo

    WOL nefunguje po najetí do BIOS SETUPu a vypnutí

    nebo

    WOL nefunguje po několikadenním ponecháni PC ve stavu SoftSutDown (řádné ukončení z Windows XP)

    Příklad MB "Umí pořádně WOL": FUJITSU SIEMENS ESPRIMO P5925

    Příklad MB "Neumí pořádně WOL": ASUS P4P800S-X

    Díky za info.

    Jiří Sládek

    sladek(zavinutec)czhops.cz

    Pátek, 20.05.2011 10:55 | odpovědět
  31. [31] Leo

    WOL v neveřejné síti.

    Situace:

    Mám vlastní domácí síť za routerem ale tento router nemá veřejnou IP adresu, protože sám je v neveřejné síti našeho providera. Teprve brána providera je přímo dosažitelná z inetu. Po cestě k mým PC jsou tedy dva routery(resp. brány). Náš provider nám ale přidělil na své veřejné adrese port, který přesměroval na náš router.

    Problém:

    Z inetu si domácí PC nezapnu. Pomocí LogMeIn to sice jde, ale jen tehdy, pokud v mé domácí síti běží nějaké PC se službou od LogMeIn (tuto podmínku ostatně na stránkách logmein.com najdeme).

    Myslím, že v podobné situaci bude hodně uživatelů.

    Neznáte řešení ??

    Středa, 08.06.2011 22:58 | odpovědět
  32. [32] Leo

    Odpověď naodpověď na [24]Tom:

    LogMeIn zázraky nedělá.

    LogMeIn dle svých stránek umí WOL pouze tehdy, je-li v subnetu (LAN) kde máte PC, které probouzíte, alespoň jednu stanici přihlášenou k Vašemu LogMeIn účtu ve stavu online. Vypnete-li i ji, LogMeIn Vám WOL nenabídne. Podle mých zkušeností to takto opravdu funguje, takže se zdá, že LogMeIn probouzí PC prostřednictvím jiného PC v té samé LAN (subnetu)- což je ta nejjednodušší varanta, dobře probraná i tady "U samuraje".

    Středa, 08.06.2011 23:13 | odpovědět
  33. [33] Martin

    Konečně článek který mi pomohl, děkuji za podrobnost.:-)

    Sobota, 03.09.2011 15:07 | odpovědět
  34. [34] duFo

    Super clanok - DAKUJEM!

    Pondělí, 12.12.2011 22:59 | odpovědět
  35. [35] duFo

    Zdravim, vsetko v podstate funguje krasne, ale snazim sa nejak zadefinovat do ARP tabulky - aby si pamatala MAC pre dane PC dlhsie ako 4 hodiny (napr. navzdy). Po chvili na google.com som nasiel cmd s hodnotou "arp -s" v ktorom sa da staticky zadefinovat MAC pre dane PC. Ked som vcera okolo 23:00 dal HIBERNATE PC a dnes rano som mu poslal magic packet z telefonu okolo 09:00 ---> PC sa pekne zobudil :) Niesom si ale isty ci si to bude ta tabulka pamatat aj po restart PC. Ak nie tak si myslim, ze by bolo riesenie napisat nejake to .bat alebo nejaky script (kedze som pre cmd arp nenasiel prikaz (permanent), ktory sa bude spustat pri starte s win a vzdy zadefinuje danu MAC pre dane PC. (vo win 7 som sa o nieco take pokusal), ale zatial sa mi to nepodarilo - pretoze UAC chce vzdy potvrdenie pre spustenie daneho cmd prikazu pod spravcom. - Vyskusam a ak by to fungovalo - dam vediet.

    Pátek, 16.12.2011 10:58 | odpovědět
  36. [36] samuraj

    odpověď na [35]duFo: Buď vám vůbec nerozumím nebo jste mimo. To PC, které chcete probudit, tak na jeho lokálních záznamech nezáleží. Jde o ARP tabulku na aktivním prvku.

    Pátek, 16.12.2011 11:46 | odpovědět
  37. [37] Jirka

    Zdravím, jsem asi jediny clovek na svete, ktery nikdy nerozchodil WOL. Na vnitrni siti mi funguje. To znamena, ze v pocitaci je vse nastavene dobre. Pokud jej mam zapnuty, proleze MagicPacket i pres Modem Cisco EPC3925. Ale pokud pocitac spi, nefunguje to. Nevim jak donutit modem aby preposlal paket na broadcast adresu, nedovoli mi ji zadat. V ARP tabulce je MAC a vnitrni IP zparovana. Tak nevim, dokazete mi poradit?

    Pondělí, 19.12.2011 17:15 | odpovědět
  38. [38] duFo

    to samuraj ----> kedze s tymto nemam ziadne skusenosti, tak skor budem mimo. Kazdopadne mi to funguje krasne aj ked je PC viac dni v hibernate mode. - este raz vdaka .)

    Pondělí, 19.12.2011 21:32 | odpovědět
  39. [39] paja

    Chapu to dobre? Pokud chci Wake Over internet tak potrebuju cisco router?

    Pátek, 30.12.2011 11:18 | odpovědět
  40. [40] duFo

    odpověď na [39]paja: nie

    Pondělí, 02.01.2012 18:13 | odpovědět
  41. [41] LuckeR

    odpověď na [37]Jirka: mam stejnej router (od upc) a taky jsem neprisel na to jak to zprovoznit :/ Jakmile se ARP tab vymaze tak uz neprobudim :/

    Pátek, 20.01.2012 01:08 | odpovědět
  42. [42] LuckeR

    a ARP tab se bohuzel vymaze do pul hodky, takze nepouzitelny :(

    Pátek, 20.01.2012 18:33 | odpovědět
  43. [43] Lidumil

    Super článek ... všechno pravda ... škoda, že mám doma router, který mi zaboha nechce pustit broadcast do vnitřní sítě. Mám za routerem ještě webserver a případně tam můžu rozběhnout OpenVPN. Tak jdu ještě zkusit ten php skript.

    Úterý, 24.01.2012 14:50 | odpovědět
  44. [44] David

    Lidi a slyšeli jste někdy o tom že lze nastavit statickou arp tabulku na routeru? Samozřejmě to nepůjde asi přes web interface, je potřeba to udělat přes ssh, nebo telnet.. každopádně pokud bude v arp tabulce napevno spojená IP s MAC adresou, kterou chcete probouzet tak to fungovat bude.

    Pátek, 02.03.2012 12:53 | odpovědět
  45. [45] LuckeR

    odpověď na [44]David: Bohuzel, musi jit se pripojit na ten router... kdyz se da nastavovat jen pres web tak mam smulu :-/ resp kdyby nekdo zjistil jak nastavit Cisco EPC3925 od UPC tak aby to jelo tak dejte vedet ;)

    Neděle, 04.03.2012 22:58 | odpovědět
  46. [46] Cross

    Výborný článek,

    existuje ještě jedna nouzová možnost... Některé siťové karty (např. Marvell Yukon 88E8053) umožňují po nahrání ovladače ze sránek výrobce nastavit zapnutí na změnu stavu LAN linky. pak už stačí přes web rozhraní restartovat router....

    Čtvrtek, 22.03.2012 11:59 | odpovědět
  47. [47] iprog

    Dobrý den,

    mám připojení od providera s veřejnou IP adresou: Wifi router od providera je připojen do switche, na který jsou připojena další zařízení (kabelem stolní počítač a síťová tiskárna, přes domácí wifi 2 až 3 notebooky). Subnet je 192.168.2.0/24. Z kteréhokoliv notebooku v subnetu probudím stolní počítač. Nikoliv však zvenčí přes veřejnou IP. Do parametrů sWOLCmd zadávám veřejnou IP adresu. Je to správně ?

    Wifi router k providerovi je zřejmě Mikrotik 5GHz asi rok starý, bohužel nevím jaký typ.

    Veřejnou IP mám pro připojení vzdálenou plochou ke stolnímu PC, což funguje perfektně, ovšem jen je-li počítač zapnutý:-)

    Děkuji za jakoukoliv radu.

    • na komentář odpověděl [48]ada
    Čtvrtek, 27.09.2012 01:00 | odpovědět
  48. [48] ada

    odpověď na [47]iprog: Čau, máš dobře nastavenj forward na tvůj stolní PC?

    V routeru zadej lokální IP svého PC (např. 192.168.0.100) a jako port dej 9 (nebo 7). Potom přes probouzecí SW např. přes web stránku (nevím zda funguje) nebo přes wake on lan GUI zadej svojí veřejnou IP a port 9 (podle toho co si nastavil) a mnělo by se to probudit, pokuď máš v Biosu povolené napájení a ve Windows "Wake From Shutdown ON" a "Wake Up Capabilities-magic packet". Takže např. 92.52.50.178 a port 9 (popř. 92.52.50.178:9)

    Středa, 10.10.2012 16:26 | odpovědět
  49. [49] FK

    Chtěl bych si pořídit wifi router, který má multicast nebo se na něm dá nastavit ARP tabulky.

    Můžete mi prosím nějaký doporučit..

    Čtvrtek, 22.11.2012 09:39 | odpovědět
  50. [50] taxik

    Čau, každý router na který je možné nainstalovat DD-WRT podporuje WOL, ale já mám smůlu že sice na mém routeru (DIR-600) funguje, ale mám problémy s Wi-fi a při zapnutí torrentu router zmrší rychlost cca z 30Mb na 1Mb za sekundu (problém s vysokým počtem otevřených připojení). Přitom na orig firmwaru vše jede, teda až na ten zmiňovaný WOL. Vlastním ještě WR1043ND a na tom je editace ARP tabulek možná.

    Úterý, 01.01.2013 16:01 | odpovědět
  51. [51] wakeup

    Ahoj, pokud by se vám nepodařilo rozchodit WOL dá se použít i jednoduché hardwarové zařízení které umožní zapnutí, vypnutí nebo restart PC přes internet. Dá se použít i v případě neveřejné IP adresy. Kdyby jste měli někdo zájem ozvěte se na email wakeup zavinac centrum cz.

    Pondělí, 15.07.2013 16:31 | odpovědět
  52. [52] Jenda

    Mám dotaz. WOL jsem doma používal leta. Mám na malině(raspberry pi), která je permanentně zapnutá udělaný skript na probouzení a k tomu webové rozhraní. Vše do nedávna šlapalo skvěle. Ale nedávno přestalo fungovat a nevím proč. Router stejný (vracel jsem i firmware), nastavení stejné. Nejde ani přes jiné aplikace, na PC u TV mám XBMC, ke kterému je pro iPhone aplikace dálkové ovládání. A ani přes tu neprobudím, což také ještě nedávno šlo. Nemáte tušení, co se mohlo stát? Nebo co podniknout? Jsem zoufalý :(

    Čtvrtek, 19.12.2013 09:11 | odpovědět
  53. [53] iprog

    Dobrý den, řešil jsem WOL již dříve (viz příspěvek 42) a nevyřešil. Nevyřešil to ani provider s tím, že wifi router to prostě neumí.

    Pro potřeby trvalého feedu na FlightRadar24 jsem si pořídil Raspberry Pi, které běží trvale. Připojení k němu odkudkoliv přes veřejnou IP adresu provider úspěšně vyřešil a tak nic nebrání probouzet PC přes Raspberry.

    Co a jak udělat na PC a Raspberry najdete tady: http://rasptorial.com/network/wake-on-lan

    Na počítači, ze kterého probouzíte, musíte mít třeba Putty, stáhnete na http://www.putty.org/. Tím se nalogujete na Raspberry a spustíte "sh wol". Šikovnější si script wol v Raspberry mohou upravit i pro více počítačů atd.

    Funguje to skvěle, jen manipulace je trochu složitější.

    Pondělí, 23.06.2014 12:25 | odpovědět
  54. [54] Vladimír

    Hezký den. Mám velkou prosbu. Na routeru Huawei EchoLife HG520i se pokouším přes telnet uložit do ARP tabulky trvalý záznam MAC adresy počítače, který chci přes internet pomocí WoL spouštět. Měl by stačit tento příkaz "ip arp add 10.0.0.222 ether 50:47:F0:79:AF:15 enif0". Do tabulky se ale záznam uloží namísto enif0 s parametrem NONE a s dobou trvání záznamu 0. Nenapadá vás, jak tomu pomoct? Moc děkuji!

    Pondělí, 11.08.2014 23:03 | odpovědět
  55. [55] iprog

    Jeden poznatek z nastevení BIOS u novějších základních desek MSI: např. u H97M ECO není v základním nastavení vůbec volba "Wake On LAN". Je potřeba u povolení LAN onboard povolit ještě něco jako "Boot ROM" a pak se v nastavení ACPI objeví další položka něco jako "Wake On LAN controller". Tím zůstane napájen síťový adaptér i při S4 (hibernace) a S5 (Soft OFF - tedy vypnutý počítač s přívodem 230 V zastrčeným do zásuvky). Pozná se to na LED u RJ45 na počítači a nebo jednoduše třeba na switchi - zůstane svítit LED připojení daného počítače, zhasne jen LED 1Gb, síťovka počítače ve stavu S4 nebo S5 běží jen na 100Mb.

    Pondělí, 22.09.2014 10:52 | odpovědět
Přidat komentář

Vložit tag: strong em link

Vložit smajlík: :-) ;-) :-( :-O


Ochrana proti SPAMu, zdejte následující čtyři znaky image code

Nápověda:
  • maximální délka komentáře je 2000 znaků
  • HTML tagy nejsou povoleny (budou odstraněny), použít se mohou pouze speciální tagy (jsou uvedeny nad vstupním polem)
  • nový řádek (ENTER) ukončí odstavec a začne nový
  • pokud odpovídáte na jiný komentář, vložte na začátek odstavce (řádku) číslo komentáře v hranatých závorkách