Как автоматически включить Wake-on-LAN для сетевого интерфейса в Ubuntu 20.04?
Сетевой стек Ubuntu постоянно развивается, и большая часть предыдущей информации о включении Wake-on-LAN для интерфейса устарела (например, вики Ubuntu ).
Теперь, когда Ubuntu использует Netplan вместо
/etc/network/interfaces, как мне включить Wake-on-LAN автоматически всякий раз, когда появляется определенный интерфейс?
3 ответа
Я исправил это, добавив в /etc/netplan файл с именем /etc/netplan/50-wol.yaml.
содержимое файла: (заполните свой собственный mac-адрес).
network:
version: 2
renderer: NetworkManager
ethernets:
enp2s0:
match:
macaddress: XX:XX:XX:XX:XX:XX
wakeonlan: true
dhcp4: yes
Мне очень помог этот пост:https://forum.manjaro.org/t/troubles-with-setting-up-wol/24815/3
TLDR: выполнитьsudo systemctl disable tlp
TLP предназначен для управления питанием на ноутбуках и т. д. Маловероятно, что вам понадобится TLP в системе, в которой вы хотите иметь возможность удаленного запуска машины.
После выполнения приведенной выше команды WoL стал постоянным, и вам не нужно применять сетевой план после каждой перезагрузки.
Вики говорит нам, что нам нужно бежать
ethtool -s <interface> wol gкогда появится интерфейс.
Хотя в Ubuntu 20.04 есть
ifupdownскрипты под
/etc/network/if-up.d, Netplan предоставляет различные рекомендации о том, как запускать скрипты post-up , которые предлагают использовать файлы .
Страница руководства для
networkd-dispatcherне объясняет, как определить , какой интерфейс выходит из строя, но исходный код показывает несколько переменных среды, которые устанавливаются, включая
IFACE.
Таким образом, мы можем создать
/etc/networkd-dispatcher/routable.d/50-wake-on-lan(а также
chmod +xэто) с таким скриптом:
#!/bin/sh -eu
case "$IFACE" in
enp60s0)
ethtool -s <interface> wol g
;;
esac