Удаленный запуск и управление ПК с помощью WoL

5 min

language: ja bn en es hi pt ru zh-cn zh-tw

С Новым годом!
Я некомпетентен.

Я решил временно оставить свой домашний сервер у родителей, и мне кажется, что мне больше не нужен высокоскоростной интернет-контракт, если я могу использовать сеть домашнего сервера моих родителей, поэтому я хочу иметь возможность использовать свою машину Ryzen, которую я использую для сборки и удаленной среды рабочего стола (VNC-сервер).

Но я не хочу, чтобы машина всегда была включена, поэтому я настрою ее для удаленного запуска.

Схема удаленной конфигурации

Основной домашний сервер будет всегда включен, поэтому я предполагаю, что буду запускать машину Ryzen и подключаться к ней по SSH через этот сервер.
Итак, как получить доступ к этому домашнему серверу? Я буду получать доступ к домашнему серверу из VPN-сети через VPN-сервер Vultr и использовать его для запуска машины Ryzen и в качестве SSH-клиента.

  1. Vultr - SSH с сервера FreeBSD на домашний сервер
  2. Запуск машины Ryzen с домашнего сервера с помощью WoL
  3. 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. Вот и все.
Желаю всем хорошего года.

Related Posts