Jak włączyć funkcję Wake-on-LAN (WOL) w systemie Linux

Funkcja Wake-on-LAN (WoL) umożliwia zdalne wybudzenie komputera z systemem Linux poprzez wysłanie specjalnego pakietu rozgłoszeniowego Ethernet (pakietu magicznego) zawierającego adres MAC hosta, który chcesz włączyć.

Przed włączeniem WoL w systemie Linux musisz upewnić się, że Twoja płyta główna obsługuje tę funkcję i włączyć ją w ustawieniach BIOS-u. Uruchom ponownie hosta i otwórz ustawienia BIOS (UEFI). Nazwa opcji WoL może się różnić w zależności od dostawcy, modelu płyty głównej i wersji oprogramowania sprzętowego. Tę opcję można wywołaćWake on PCI/PCI-E,Power or Resume on PCI/PCI-E,S5 Wake on LAN. Znajdź i włącz tę opcję. Zapisz ustawienia BIOS-u.

Theettoolnarzędzie jest powszechnie używane do zarządzania funkcją Wake On LAN w systemie Linux. Zainstaluj to:

Przeczytaj więcej:Jak utworzyć rozruchowy dysk USB Linux Mint w systemie Windows 10

$ sudo apt install ethtool

Lista interfejsów sieciowych:

$ ifconfig

Skopiuj nazwę interfejsu adaptera Ethernet LAN i uruchom komendę:

$ sudo ethtool enp3s0 | grep "Wake-on"

W tym przypadku WoL jest wyłączony (D).

Włącz funkcję Wake on LAN dla konkretnego adaptera:

$ sudo ethtool --change enp3s0 wol g

Opcja Wake On Lan powinna zmienić się naG(Obudź się na MagicPacket).

netlink error: cannot enable unsupported WoL mode (offset 36)„ wskazuje, że WoL nie jest obsługiwany przez kartę sieciową lub jest wyłączony w BIOS-ie.

Możesz teraz zdalnie obudzić hosta z systemem Linux. Jednak opcja WoL interfejsu sieciowego zostanie zresetowana po ponownym uruchomieniu. Istnieje kilka sposobów automatycznego włączania funkcji Wake on LAN dla karty podczas uruchamiania komputera.

Menedżer siecito domyślne narzędzie do zarządzania siecią w wielu dystrybucjach Linuksa, w tym Ubuntu, Rocky i Debian. W NetworkManager możesz włączyć WoL dla adaptera za pomocąnmclirozkaz:

$ nmcli con show

Skopiuj nazwę połączenia Ethernet (w tym przykładzie przewodowego) i włącz WoL:

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

Sprawdź, czy funkcja Wake on LAN jest włączona w interfejsie:

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

W przypadku innych dystrybucji Linuksa możesz użyćsystemowyaby włączyć funkcję WakeOnLan podczas rozruchu. Utwórz nową jednostkę systemową:

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

Dodaj następującą konfigurację:

[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

Włącz usługę:

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

Sprawdź, czy usługa działa:

$ systemctl status wol

Możesz teraz przetestować działanie funkcji Wake on Lan na tym hoście. Skopiuj adres MAC karty sieciowej, na której włączyłeś WoL.

Sprawdź, czy tryb uśpienia jest włączony w systemie Linux:

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

Uśpij hosta z Linuksem:

$ sudo systemctl suspend

Aby wysłać magiczny pakiet w systemie Linux, możesz użyćwk_alLubeteryczne przebudzenienarzędzie:

$ sudo apt-get install wakeonlan etherwake

Aby zdalnie wybudzić komputer, wprowadź jego adres MAC (pakiety WoL nie są kierowane, więc komputery muszą znajdować się w tym samym segmencie sieci LAN):

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

Po otrzymaniu magicznego pakietu komputer powinien się obudzić. Pamiętaj, że WoL nie wymaga otwierania portu w zaporze systemu Linux. Pakiet rozgłoszeniowy WoL UDP jest odbierany i przetwarzany bezpośrednio przez kartę sieciową, bez użycia stosu sieciowego Linuksa.

Related Posts