Как я могу включить Wake-On-Lan навсегда?
Я хочу включить Wake-On-Lan для моих сетевых карт, навсегда. Руководство сообщества рекомендует добавить соответствующую команду в /etc/network/interfaces, В прошлом, редактируя файлы конфигурации Ubuntu, весьма вероятно, что файл сетевого интерфейса записывается заново при каждой загрузке, если не при каждом обновлении. Каков наилучший способ обеспечить включение wake-on-lan при каждой загрузке?
4 ответа
Сценарий загрузки, запускаемый после настройки сетевых карт, должен помочь. Ubuntu использует выскочку. После прочтения о новых рабочих местах, ethtool, написания сценария с выскочкой и поиска в сети для лучшего решения я придумал это из jevinskie (вы захотите поместить это в файл в /etc/init):
start on started network
script
for interface in $(cut -d: -f1 /proc/net/dev | tail -n +3); do
logger -t 'wakeonlan init script' enabling wake on lan for $interface
ethtool -s $interface wol g
done
end script
- Запускается при инициализации nics
- Получает никнеймы из /proc/net/dev
- Записывает действия в системный журнал
- Акты на всех найденных ников
Требуется ethtool, поэтому сначала убедитесь, что он установлен:
sudo apt-get install ethtool
Если вы хотите придать силе пробуждения только один ник, что-то вроде этого более уместно:
start on started network
script
interface=eth0
logger -t 'wakeonlan init script' enabling wake on lan for $interface
ethtool -s $interface wol g
end script
Создайте новый файл, скажем wakeonlanconfigи добавьте к нему следующие строки:
#!/bin/bash
ethtool -s eth0 wol g
exit
Далее установите права доступа к файлу, сделав его исполняемым:
chmod a+x wakeonlanconfig
И, наконец, запустите скрипт при запуске:
update-rc.d -f wakeonlanconfig defaults
Для более подробной информации, пожалуйста, посетите: http://lukasz-lademann.blogspot.com/2013/01/how-set-up-wol-wake-on-lan-on-thin.html
Для меня сработало использование конфигураций Netplan (как для включения, так и для отключения WOL), поскольку я использую Ubuntu.
Проверьте этот аналогичный вопрос о том, как включить его. Canonical также предоставила хорошую документацию по использованию Netplan:
Шаги, которые я выполнил
В моем конкретном случае я хотел отключить пробуждение по локальной сети, но это сводится к установке логического значения вtrue/false.
- Я создал эту конфигурацию Netplan YAML (вам нужен доступ sudo для создания файла в этом каталоге):
# /etc/netplan/02-disable-wol.yaml
network:
version: 2
renderer: NetworkManager
ethernets:
eth-no-wakeonlan:
match:
macaddress: "11:22:33:44:55:66" # The eth interface's MAC address
wakeonlan: false # To enable, set to true
dhcp4: false # To enable, set to true
Чтобы проверить эту конфигурацию, я запустил
sudo netplan try, который применяет настройки в течение нескольких минут перед возвратом. ПРИМЕЧАНИЕ. Судя по всему, это известная ошибка, котораяnetplan tryне удается восстановить конфиги. В этом руководстве говорится, что перезагрузки должно быть достаточно (и, я полагаю, удаление файла yaml)Затем мне пришлось открыть пользовательский интерфейс сетевых настроек Ubuntu, чтобы переключиться на вновь созданный интерфейс Ethernet.
netplan-eth-no-wakeonlan.Выполнено!
При загрузке Ubuntu должен прочитать все файлы в/etc/netplan/*.yamlи применить их конфиги.
В Ubuntu 16.04 дополнительно установлены WOL_DISABLE=N в /etc/default/tlp чтобы избежать отключения WOL с помощью управления питанием TLP.
http://linrunner.de/en/tlp/docs/tlp-configuration.html
добавлять NETDOWN=no в /etc/default/halt для предотвращения отключения сетевой карты во время выключения