通过WoL远程启动并操作PC
新年快乐!
我是无能的。
我决定暂时把家里的服务器放在老家,而且我觉得即使不再签订高速互联网合同,只要使用老家的家庭服务器网络,也不会有什么大问题,所以我希望能够使用我作为构建和桌面环境的远程环境(VNC服务器)的Ryzen机器。
但是,我也不想让机器一直开着,所以我要设置成可以远程启动。
远程配置设想
主家庭服务器将始终保持运行,因此我打算通过该机器启动Ryzen机器并进行SSH连接。
那么,如何访问该家庭服务器呢?我将通过Vultr的VPN服务器,从VPN网络内部访问家庭服务器,并将其用作Ryzen机器的启动器和SSH客户端。
- Vultr - 从FreeBSD服务器SSH到家庭服务器
- 从家庭服务器通过WoL启动Ryzen机器
- 从家庭服务器SSH到Ryzen机器
流程如下。
Ryzen机器的准备
在Ryzen机器上启用Wake on LAN
Wake on LAN默认应该是关闭的。
它是一种在接收到特定数据包(魔术包)时启动机器的功能。
从Ryzen机器的BIOS界面启用它。

确认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 -c 5 启动机器的IP开始ping通时,就可以进行SSH连接了。
那么。
祝大家新年快乐,万事如意。