Как включить Wake On Lan (WOL) в Ubuntu 16.04 LTS?
Я нашел лучший способ, который работал для меня. По крайней мере, чище. Очевидно, Ubuntu изменил upstart для systemd , в Ubuntu 15.04, Ubuntu 16.04 и, вероятно, в следующих версиях. Я новичок в обеих системах, но это сработало для меня.
Я пишу об этом, потому что, гугляя Ubuntu 16 wol и другие подобные поиски, я сталкивался с этим постом несколько раз. Это может помочь кому-то еще.
Чтобы WOL работал, мне приходилось включать его каждый раз при загрузке системы. Чтобы избежать этого вручную, я использовал systemd для этой цели. Вот что я сделал:
Сначала создайте файл /etc/systemd/system/wol@.service
(удерживайте символ @). Поместите это в это:
[Unit]
Description=Wake-on-LAN for %i
Requires=network.target
After=network.target
[Service]
ExecStart=/sbin/ethtool -s %i wol g
Type=oneshot
[Install]
WantedBy=multi-user.target
Включите это для интерфейса при загрузке, выполните следующую команду (измените eth3 с вашим интерфейсом):
systemctl enable wol@eth3
Вы должны увидеть что-то вроде этого:
Created symlink from /etc/systemd/system/multi-user.target.wants/wol@eth3.service to /etc/systemd/system/wol@.service.
Чтобы проверить, включен ли он, выполните следующую команду (измените eth3 в соответствии с вашим интерфейсом) и она должна вернуть enabled
:
systemctl is-enabled wol@eth3
Чтобы проверить это, перезагрузитесь и запустите (измените eth3 с вашим интерфейсом):
ethtool eth3
Вы должны увидеть строку со следующим:
Wake-on: g
Источники:
выскочка:
Upstart - это основанная на событиях замена для демона / sbin / init, который обрабатывает запуск задач и служб во время загрузки, останавливает их во время завершения работы и контролирует их во время работы системы.
- upstart - основанный на событиях демон init
Systemd:
systemd - это набор основных строительных блоков для системы Linux. Он предоставляет диспетчер системы и услуг, который запускается как PID 1 и запускает остальную часть системы. (...)
- systemd
В 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
для предотвращения отключения питания сетевой карты во время остановкиВключить Wake on LAN,
/etc/network/interfaces
когда используется статическая конфигурация сети.Включите wake on lan в BIOS, войдите в настройки BIOS и найдите что-нибудь под названием «Wake up on PCI event», «Wake up on LAN» или подобное. Измените это так, чтобы это было включено. Сохраните настройки и перезагрузите компьютер.
https://help.ubuntu.com/community/WakeOnLan
Предупреждение. Некоторые материнские платы / сетевые контроллеры не поддерживают WOL при «холодной» загрузке (состояние S5, когда питание системы физически отключается и снова включается). В этом случае должен быть выполнен как минимум один цикл питания (включение, выключение). Чтобы решить эту проблему, BIOS можно настроить на включение при восстановлении переменного тока и запланировать выключение в Ubuntu после этого. Обратитесь к руководству по материнской плате для получения дополнительной информации.
источник
WOL_DISABLE=N
иNETDOWN=no
должны быть частью help.ubuntu.com/community/WakeOnLanЗапустите следующее в терминале:
Вы должны увидеть g рядом с пробуждением по локальной сети после написания второй команды
источник
источник
Для того, чтобы WOL работал, убедитесь, что ваш интерфейс Ethernet правильно отключен вашей системой при отключении питания.
Попробуйте следующее:
Создайте скрипт bash с именем wol_poweroff.sh в каталоге /etc/rc6.d/ :
Поместите этот код в это:
Скопируйте его в каталог /etc/rc0.d (чтобы он также работал с halt ):
Сделайте их обоих исполняемыми:
Теперь проверьте, работает ли он, выключив компьютер с помощью
sudo shutdown now
илиsudo poweroff
и используя инструмент WOL для отправки на него волшебного пакета.Это было единственное, что сработало для меня. Я нашел эти шаги в отчете об ошибке на launchpad.net.
По словам автора, Робби Уильямсона, это работает из-за следующего:
Источник: https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/981461
источник
Если вы используете NetworkManager, то вы можете включить WOL через
nmcli
:Запомните НАИМЕНОВАНИЕ подключения ТИПА "802-3-ehternet" для УСТРОЙСТВА, представляющего интерес. Скажите, что это имя «Проводное соединение 1». Затем измените его правильно:
Чтобы получить его MAC-адрес:
Теперь вы можете выключить его и включить с другого компьютера в той же локальной сети по
wakeonlan 1a:2b:3c:4d:5e:6f
команде, где1a:2b:3c:4d:5e:6f
находится MAC-адрес сетевой карты предыдущего шага.источник
Помимо параметров, предложенных @nkef, вы можете установить следующие параметры в / etc / network / interfaces, если вы используете DHCP вместо статических настроек IP для сетевого адаптера (здесь он называется eth0):
(проверено на Ubuntu 16.04 LTS).
источник
Это меня немного поразило в Ubuntu 18.04 (безголовая / минимальная установка), к сожалению, уже перечисленные здесь ответы, хотя иногда они могут показаться работающими, не дают надежного решения, поскольку они создают условия гонки или сражаются с подобными systemd, Нетплан и Удев.
Я тоже сначала попробовал этот подход, и он, похоже, сработал, я планирую загрузку системы каждый вечер через WakeOnLan для запуска резервного копирования, поскольку системный BIOS не обеспечивает опцию запланированного включения переменного тока.
Он работал бы в течение нескольких дней, а затем отказывался просыпаться, включение его вручную и запуск ethtool показывали, что WoL был отключен:
Поэтому я решил, что нужно было еще кое-что отключить, и у меня было много таких проблем в последние несколько лет, когда systemd захватил части системы, и я решил начать здесь, о чудо:
WakeOnLan = .. .. По умолчанию выключено.
https://www.freedesktop.org/software/systemd/man/systemd.link.html
Примеры онлайн показывают что-то вроде:
/etc/systemd/network/50-wired.link
Как бы то ни было, это все еще не работает. Потом я наткнулся на это:
что привело к:
И что я могу найти в /run/systemd/network/10-netplan-eno1.link?
Решение Либо:
Поскольку у меня уже был файл systemd .link, я просто переименовал его в 00-wired.link, перезагрузился, и теперь отчеты ethtool eno1:
Без каких-либо дополнительных услуг исключительно для того, чтобы попытаться включить WoL.
источник