Включение Wake-on-LAN: различия между версиями
Дым (обсуждение | вклад) |
Дым (обсуждение | вклад) |
||
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 12: | Строка 12: | ||
#:<source language="ini"> | #:<source language="ini"> | ||
enp5s0f0 d | enp5s0f0 d | ||
enp5s0f1 | enp5s0f1 | ||
enp8s0f0 pumbg | enp8s0f0 pumbg | ||
enp8s0f1 d | enp8s0f1 d | ||
Строка 31: | Строка 31: | ||
*:#:<pre>$ ip -o li sh eno1np0 | sed 's|.*link/ether ||;s| brd .*||'</pre> | *:#:<pre>$ ip -o li sh eno1np0 | sed 's|.*link/ether ||;s| brd .*||'</pre> | ||
*:#:''(если интерфейс не входит в объединение с общим МАС-ом для всех объединённых)'' или ''(если входит)'': | *:#:''(если интерфейс не входит в объединение с общим МАС-ом для всех объединённых)'' или ''(если входит)'': | ||
*:#:<pre>$ ip -o li sh | *:#:<pre>$ ip -o li sh eno1np0 | sed 's|.*permaddr ||;s|\\.*||'</pre> | ||
*:#:'''Пример вывода''': <code>3c:ec:ef:97:a5:2c</code> | *:#:'''Пример вывода''': <code>3c:ec:ef:97:a5:2c</code> | ||
*:#Создать файл {{path|/etc/systemd/network/ | *:#Создать файл {{path|/etc/systemd/network/wake-on-lan.link}} с этим МАС-ом: | ||
*:#:<source language="ini"> | *:#:<source language="ini"> | ||
[Match] | [Match] | ||
Строка 51: | Строка 51: | ||
... | ... | ||
</source> | </source> | ||
Насколько я понял, оба варианта попросту отрабатывают команду включения Wake-on-LAN {{cmd|ethtool -s <iface> wol g}} для заданного интерфейса/МАС-адреса при каждом запуске сетевой службы. | |||
После всех манипуляций выключить компьютер и попытаться запустить его уже по сети тем самым «волшебным пакетом». | После всех манипуляций выключить компьютер и попытаться запустить его уже по сети тем самым «волшебным пакетом». | ||
Текущая версия от 09:17, 12 декабря 2024
Проверка возможностей интерфейса
- Установить в случае отсутствия нужный инструмент:
- # apt-get install -y ethtool
- Выявить интерфейсы, поддерживающие технологию:
# for NET in `ip li | awk '{gsub(":","");print $2}' | grep en`; do printf "\n$NET " ethtool $NET | awk '/Supports Wake-on/{print $3}' done | sort
- Пример вывода:
enp5s0f0 d enp5s0f1 enp8s0f0 pumbg enp8s0f1 d
- Или:
eno1np0 g eno2np1 g
- Подходят лишь содержащие в выводе букву
g
— для приведённых примеров этоenp8s0f0
,eno1np0
иeno2np1
.
- Включить Wake-on-LAN на нужном интерфейсе, к примеру:
- # ethtool -s eno1np0 wol g
- Обеспечить присутствие этого интерфейса в локалке, даже если он никак не задействован в обмене данными.
Собственно включение
- Через SystemD...
- Получить МАС-адрес нужного интерфейса:
$ ip -o li sh eno1np0 | sed 's|.*link/ether ||;s| brd .*||'
- (если интерфейс не входит в объединение с общим МАС-ом для всех объединённых) или (если входит):
$ ip -o li sh eno1np0 | sed 's|.*permaddr ||;s|\\.*||'
- Пример вывода:
3c:ec:ef:97:a5:2c
- Создать файл /etc/systemd/network/wake-on-lan.link с этим МАС-ом:
[Match] MACAddress = 3c:ec:ef:97:a5:2c [Link] NamePolicy = Kernel database onboard slot path MACAddressPolicy = persistent WakeOnLan = magic
- Получить МАС-адрес нужного интерфейса:
- Для ProxMox и прочих дебианов:
- Добавить к описанию интерфейса в файле /etc/network/interfaces соответствующую опцию, например:
iface eno1np0 inet manual ... ethernet-wol g ...
Насколько я понял, оба варианта попросту отрабатывают команду включения Wake-on-LAN ethtool -s <iface> wol g для заданного интерфейса/МАС-адреса при каждом запуске сетевой службы.
После всех манипуляций выключить компьютер и попытаться запустить его уже по сети тем самым «волшебным пакетом».