Probouzení počítače na WiFi

Nastavit počítač, aby jej bylo možné probudit po síti asi není takový problém. Nebo?


WOL a magic packet (normálka)

Běžně se připojíme někam do sítě s naším spícím počítačem a odešleme všemi směry (UDP) speciální zprávu s MAC adresou našeho stroje (magic packet). Náš stroj má povoleno probuzení pomocí WOL (Wake on LAN - viz Wiki) a tak síťovka úplně nespí - číhá na tuto zprávu. Jakmile se k ní dostane, probudí počítač.

Nastavení spícího počítače
  • nejprve povolíme WOL v BIOSu (první háček - dnes už ho tu ani nemusíme najít a je tedy asi povolený)
  • pak na síťové kartě a v operačním systému
    • na Linuxu k nastavení použijeme ethtool (viz např. návod na Debianu nebo návod na Ubuntu)
    • na Windows obvykle postupujeme např. takhle:
      • klávesami Windows + X vyvoláme poweruser menu a vybereme Správce zařízení
      • najdeme naši síťovku (Síťové adaptéry) a pravým myšítkem vybereme vlastnosti
      • na záložce Upřesnit se podíváme, zda v položkách není Probuzení paketem magic nebo WOL apod. a povolíme to
      • na záložce Řízení spotřeby zaškrtneme Povolit zařízení probouzet počítač (volbu …pouze paketem Magic zatím nechme stranou)
Buzení - sestavení magic packet
  • na Linuxu k tomu využijeme balíky wakeonlan nebo etherwake (viz návody výše)
  • na Windows využijeme jednu z řady utilit - např. wolcmd pro příkazovou řádku
  • na Mikrotiku:
    • je v toolech přímo Wake on LAN
    • nebo si napíšeme skript:
      /tool wol interface=bridge mac=A1:2B:34:56:78:C0

Hotovo. Funguje. Paráda. To bylo easy 8-)

No jo, ale proč se teď probudil aniž bych mu něco poslal?


"Náhodné" probouzení, WoWLAN, GTK rekey

Předně zde popisuji svoje zkušenosti s problémem na Windows 10, s routrem Mikrotik HAP Ac^3 a síťovkou Intel WiFi 6 AX200. Problém je zjevně pekně starý (řeší jej minimálně od roku 2014). Dobře popsaný je třeba tu: A trip through wake-on-wireless-LAN.

  • WoWLAN je zkratka Wake on Wireless LAN, neboli bezdrátová vairanta WOL
  • GTK rekey je zase označení výměny klíčů v zabezpečení WPA/2 (GTK = Group temporary key)

Nastavení WoWLAN provedete vlastně stejně jako u WOL. Položky na záložce Upřesnit síťového adaptéru obsahují ještě WoWLAN, ale jsou ve výchozím stavu nastavené správně (asi…), takže si jich nemusíte všímat. Problém je v položce Povolit probouzení počítače pouze paketem Magic. U drátové sítě totiž neřešíme šifrování a výměnu klíčů. A pokud tohle zapneme na WiFi, minimálně na mé konfiguraci (i u lidí v diskuzích) tato volba způsobí chybu během výměny klíčů a celé to pak počítač probudí. Není to tedy úplně intuitivní, ale tuto volbu u WiFi nezaškrtávejte.

"No jo, ale on se mi počítač dál budí co pět / šest / deset minut". V čem vězí další problém? Překvapivě stále v GTK rekey. Všimněte si toho intervalu. Když prozkoumáte nastavení WiFi na routru, najdete pravděpodobně něco jako Group key update (v security profile na Mikrotiku) a zjistíte, že ten interval je shodný… Z nějakého důvodu proces výměny klíčů dál probouzí počítač. Jednou z možností je nastavení tohoto intervalu na routru na maximální hodnotu, což má i svá proti (hacker má delší čas na prolomení klíče a počítač se stejně vzbudí zatímco jste na dovolené). Nějaká další řešení? Zatím o nich nevím…

Aktualizace 25.3.'23: Nakonec jsem opominul zapnout ještě nastavení wake on pattern v upřesnění adaptéru… Takže fungující konfigurace síťového adaptéru bez nutnosti změn Group key update na routru vypadá takhle:

Upřesnit Probouzení paketem Magic Povoleno
Probouzení porovnávacím vzorkem Povoleno
Režim spánku při odpojení technologie WoWLAN Zakázáno
Snižování zatížení ARP pro technologii WoWLAN Povoleno
Snižování zatížení NS pro technologii WoWLAN Povoleno
Vystavování nových klíčů GTK pro technologii WoWLAN Povoleno
Řízení spotřeby Povolit počítači vypínat zařízení z důvodu úspory energie ANO
Povolit zařízení probouzet počítač ANO
Povolit probouzení počítače pouze paketem Magic NE

Každopádně za nechtěným probuzením Windows může stát i leccos jiného…


Nechtěná probouzení - MS Windows

Co všechno může v oknech probudit počítač? Např.:

  • zařízení jako myš / klávesnice
  • časovače
  • nabídka Start…
  • automatická údržba
  • naplánované úlohy Windows Update

Nejprve příkazová řádka:

# seznam zařízení, která mohou vzbudit počítač
powercfg -devicequery wake_armed
 
# seznam časovačů
powercfg -waketimers
 
# kdo počítač naposledy probudil?
powercfg -lastwake

Pokud v seznamu zařízení schopných probudit počítač najdete něco jiného než chcete, pak…

  • Windows + X a vyberte Správce zařízení
  • najděte zařízení, kde nechcete aby probouzelo počítač
  • pravá myš + vlastnosti
  • na záložce Řízení spotřeby vypněte možnost Povolit zařízení probouzet počítač

Pokud v seznamu časovačů naleznete StartMenuExperienceHost.exe, pak…

  • jde o proces obsluhující Start menu
  • v časovačích se objevuje díky živým dlaždicím - pokud ho zde nechcete, všechny povypínejte (pravým na dlaždici → DalšíVypnout živou dlaždici) a pak restartujte počítač
  • mělo by to jít řešit i jinak - prostě časovače ignorujte
    • Windows + X a vyberte Možnosti napájení
    • Další možnosti napájeníZměnit nastavení schématuZměnit pokročilé nastavení napájení
    • Režim spánkuPovolit časovače pro probuzení → vše zakažte

Automatická údržba:

  • spusťte Ovládací panely (Windows + R → control) a vyberte Systém a zabezpečeníZabezpečení a údržba
  • rozbalte část Údržba a v části Automatická údržba klikněte na Změnit nastavení údržby
  • na konci zakažte probouzení počítače

Naplánované úlohy Windows Update:

  • pokud chcete zabránit Windows Update v možnosti probouzet počítač, chce to systémové oprávnění (admin nestačí). Proto je potřeba stáhnout od SysInternals (dnes součást MS) balíček PsTools
  • pak si zobrazíme Task Scheduler s vyššími právy (opatrně) - na příkazové řádce napište:
    # přesun do adreáře kam jsem si rozbalil PsTools
    cd "c:\Program Files\PsTools"
     
    # spuštění Plánovače úloh pod systémovým účtem
    psexec.exe -i -s %windir%\system32\mmc.exe /s taskschd.msc
  • vlevo postupně vyberte Knihovna plánovače úloh / Microsoft / Windows / UpdateOrchestrator
  • vpravo si projděte úlohy - u těch, kde na záložce Podmínky v části Napájení najdete zaškrtlé Ke spuštění úlohy probudit počítač pak nahoře pravým myšítkem otevřete Vlastnosti a na záložce Podmínky zakažte probouzení počítače

Diskuze

Vložte svůj komentář. Používání wiki syntaxe povoleno: