Удаленный запуск и управление ПК с помощью WoL
С Новым годом!
Я некомпетентен.
Я решил временно оставить свой домашний сервер у родителей, и мне кажется, что мне больше не нужен высокоскоростной интернет-контракт, если я могу использовать сеть домашнего сервера моих родителей, поэтому я хочу иметь возможность использовать свою машину Ryzen, которую я использую для сборки и удаленной среды рабочего стола (VNC-сервер).
Но я не хочу, чтобы машина всегда была включена, поэтому я настрою ее для удаленного запуска.
Схема удаленной конфигурации
Основной домашний сервер будет всегда включен, поэтому я предполагаю, что буду запускать машину Ryzen и подключаться к ней по SSH через этот сервер.
Итак, как получить доступ к этому домашнему серверу? Я буду получать доступ к домашнему серверу из VPN-сети через VPN-сервер Vultr и использовать его для запуска машины Ryzen и в качестве SSH-клиента.
- Vultr - SSH с сервера FreeBSD на домашний сервер
- Запуск машины Ryzen с домашнего сервера с помощью WoL
- SSH с домашнего сервера на машину Ryzen
Таков порядок действий.
Подготовка машины Ryzen
Включение Wake on LAN на машине Ryzen
Wake on LAN должен быть по умолчанию отключен.
Он позволяет машине запускаться при получении определенного пакета, так называемого 'магического пакета'.
Включите его через экран BIOS машины Ryzen.

Проверка распознавания на машине Ryzen
Используйте ethtool, чтобы проверить, включен ли Wake on LAN.
sudo pacman -S ethtool
sudo ethtool eth0
Если вы видите Wake-on: g, как показано ниже, то все в порядке.
alleycat:[hrtaro]:~$ sudo ethtool eth0
[sudo] hrtaro のパスワード:
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: Symmetric
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Auto-negotiation: on
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
MDI-X: off (auto)
Supports Wake-on: pumbg
Wake-on: g
Затем запишите MAC-адрес этой машины.
ip link show eth0
Теперь выключите ее. Обратите внимание, что без опции -h она перейдет в однопользовательский режим (режим обслуживания), поэтому будьте осторожны.
sudo shutdown -h now
На этом подготовка машины Ryzen завершена.
Подготовка клиента
Установка wake on lan
Поскольку машина, которую нужно запустить, работает на Devuan, попробуйте выполнить поиск с помощью apt.
$ sudo apt search wakeonlan
Сортировка... Готово
Полнотекстовый поиск... Готово
gwakeonlan/stable 0.8.5-1 all
Инструмент для пробуждения машин с помощью Wake on LAN
wakeonlan/stable 0.41-12.1 all
Отправляет 'магический пакет' на сетевой адаптер с поддержкой wake-on-LAN
Найдено! Установка
sudo apt install wakeonlan
Запуск с помощью wakeonlan
И вот так вы можете ее запустить.
$ wakeonlan {macAdress}
Sending magic packet to 255.255.255.255:* with {macAdress}
Я ожидал, что это будет сложно, но все прошло гладко, и я сам впечатлен!
После этого, когда ping начнет проходить (например, ping -c 5 IP_запущенной_машины), подключитесь по SSH.
Вот и все.
Желаю всем хорошего года.