В настоящее время я могу разбудить мой компьютер, отправив волшебный пакет с другого устройства в локальной сети. Однако ПК не включается при отправке пакета из-за пределов сети (WAN), даже если мой маршрутизатор получил указание перенаправить трафик UDP через порт 9 на ПК. Если я запускаю wireshark на машине и отправляю волшебный пакет по глобальной сети, он действительно принимается ПК.
Этот связанный вопрос , похоже, указывает на то, что прохождение NAT каким-то образом модифицирует пакет, что не позволяет ему фактически разбудить ПК. Принятый ответ предполагает:
Снимите флажок «разрешать только волшебный пакет компьютера»
Однако эта инструкция предназначена для Windows, а не для Ubuntu.
Существует ли эквивалентная настройка или команда, которая будет указывать моей сетевой карте принимать любой пакет?
На этой неделе я создал вопрос,
при решении я нежелательно включил больше, чем просто волшебные пакеты, чтобы разбудить компьютер
Мое решение может помочь тем, кто найдет это
ethtool -s enp3s0 wol g
разрешит только магические пакеты, тогда как
ethtool -s enp3s0 wol pumbg
будет принимать ping, arp, Broadcast, ...
если вы хотите, чтобы настройка сохранялась, вам также необходимо сделать услугу:
etc/systemd/system/wol.service выглядит следующим образом:
[Unit]
Description=Configure Wake-up on LAN
[Service]
Type=oneshot
ExecStart=/sbin/ethtool -s enp3s0 wol g
[Install]
WantedBy=basic.target
эта служба будет применяться, только если вы отредактируете /etc/netplan/youryamlfile
, чтобы он содержал wakeonlan: true:
ethernets:
enp3s0:
addresses: [192.168.0.99/24]
gateway4: 192.168.0.1
wakeonlan: true
nameservers:
addresses: [192.168.0.1]