Jak povolit Wake-on-LAN (WOL) v Linuxu

Funkce Wake-on-LAN (WoL) umožňuje vzdáleně probudit počítač se systémem Linux odesláním speciálního broadcastového ethernetového paketu (magic packet) obsahujícího MAC adresu hostitele, kterého chcete zapnout.

Před povolením WoL na Linuxu se musíte ujistit, že vaše základní deska tuto funkci podporuje, a povolit ji v nastavení BIOSu. Restartujte hostitele a otevřete nastavení systému BIOS (UEFI). Název možnosti WoL se může lišit v závislosti na výrobci, modelu základní desky a verzi firmwaru. Tuto možnost lze zavolatWake on PCI/PCI-E,Power or Resume on PCI/PCI-E,S5 Wake on LAN. Najděte a povolte tuto možnost. Uložte nastavení systému BIOS.

Theethtoolnástroj se běžně používá ke správě Wake On LAN v Linuxu. Nainstalujte to:

$ sudo apt install ethtool

Seznam síťových rozhraní:

$ ifconfig

Zkopírujte název rozhraní vašeho adaptéru Ethernet LAN a spusťte příkaz:

$ sudo ethtool enp3s0 | grep "Wake-on"

V tomto případě je WoL zakázáno (d).

Povolte Wake on LAN pro konkrétní adaptér:

$ sudo ethtool --change enp3s0 wol g

Možnost Wake On Lan by se měla změnit naG(Wake on MagicPacket).

'netlink error: cannot enable unsupported WoL mode (offset 36)' znamená, že WoL není podporováno síťovým adaptérem nebo je zakázáno v BIOSu.

Nyní můžete vzdáleně probudit svého hostitele Linuxu. Volba WoL síťového rozhraní se však po restartu resetuje. Existuje několik způsobů, jak automaticky povolit Wake on LAN pro adaptér při spouštění počítače.

NetworkManagerje výchozí nástroj pro správu sítě v mnoha distribucích Linuxu včetně Ubuntu, Rocky a Debian. V NetworkManageru můžete povolit WoL pro adaptér pomocínmclipříkaz:

$ nmcli con show

Zkopírujte název ethernetového připojení (v tomto příkladu kabelové) a povolte WoL:

$ sudo nmcli c modify "wired" 802-3-ethernet.wake-on-lan magic

Zkontrolujte, zda je na rozhraní povolena funkce Wake on LAN:

$ nmcli c show "wired" | grep 802-3-eth

SOUVISEJÍCÍ:Jak vytvořit spouštěcí USB Linux Mint ve Windows 10

Pro jiné distribuce Linuxu můžete použítsystemdpro aktivaci WakeOnLan při spouštění. Vytvořte novou systémovou jednotku:

$ sudo systemctl edit wol.service --full --force

Přidejte následující konfiguraci:

[Unit]
Description=Enable Wake-on-LAN
After=network-online.target
[Service]
Type=oneshot
ExecStart=/sbin/ethtool --change enp3s0 wol g
[Install]
WantedBy=network-online.target

Povolit službu:

$ sudo systemctl daemon-reload
$ sudo systemctl enable wol.service
$ sudo systemctl start wol.service

Zkontrolujte, zda služba běží:

$ systemctl status wol

Nyní můžete vyzkoušet, jak Wake on Lan funguje na tomto hostiteli. Zkopírujte MAC adresu síťového adaptéru, na kterém jste povolili WoL.

Zkontrolujte, zda je v systému Linux povolen režim spánku:

$ sudo systemctl status sleep.target suspend.target hibernate.target hybrid-sleep.target

Uspat hostitele Linuxu:

$ sudo systemctl suspend

Chcete-li odeslat magický paket v systému Linux, můžete použítwk_alneboetherwakenástroj:

$ sudo apt-get install wakeonlan etherwake

Chcete-li vzdáleně probudit počítač, zadejte jeho MAC adresu (pakety WoL nejsou směrovány, takže počítače musí být ve stejném segmentu LAN):

$ wakeonlan <MAC-address>
nebo:
$ etherwake <MAC-address>

Po přijetí magického paketu by se měl počítač probudit. Všimněte si, že WoL nevyžaduje otevření portu v linuxovém firewallu. Paket vysílání UDP WoL je přijímán a zpracováván přímo síťovým adaptérem bez použití síťového zásobníku Linux.

Related Posts