网络唤醒(WOL)是一种行业标准协议,用于远程唤醒服务器。如果您管理着很多设备,因此不需要为了唤醒服务器而去数据中心。启用允许您远程执行此操作的功能,这样您可以更高效地工作。
Ubuntu 系统默认没有启用WOL,所以我们要设置它。我将在Ubuntu Server 18.04的一个实例上演示。
使这项工作唯一需要做的是:
①Ubuntu Server 18.04的实例
②具有sudo特权的用户帐户
③支持WOL的网络接口
一、如何安装ethtool
使之成为可能的工具是ethtool。可能是,它已经安装在您的服务器上。但是,如果不是这样,请安装它。打开一个终端窗口,然后发出以下命令:
sudo apt-get install ethtool -y
二、如何找到接口名称
接下来需要做的是找到要侦听唤醒机的接口名称。如果您的计算机同时具有WAN和LAN接口,则可能只希望在LAN端启用此功能。
要找到接口名称,请发出命令:
ip a
您应该会看到列出的接口。寻找与您想要监听的IP地址相关联的名称,以寻找唤醒机(如下图)。
使用接口名称后,发出命令:
sudo ethtool -s INTERFACE wol g
其中INTERFACE是要使用的接口的名称。
该命令将不报告任何内容-除非事实证明您的网络接口不支持WOL,否则它将立即通知您。
最后,您必须知道接口的MAC地址。可以使用与找到接口名称(ip a)相同的命令来发现它。
如何安装WOL并远程唤醒
从Linux到Linux唤醒的最简单方法是使用另一种工具称为wakeonlan。使用以下命令安装:
sudo apt-get install wakeonlan -y
安装该应用程序后,您可以使用以下命令发送到唤醒机侦听接口:
wakeonlan MAC
其中MAC是启用WOL的LAN接口的MAC地址。该命令将报告已将唤醒机发送到MAC地址,并且您的远程服务器现在应处于唤醒状态,从而允许您远程登录。
此方法的问题在于,重新启动后,不会在接口上启用WOL。为了使它在Ubuntu Server 18.04上持久存在,您必须编写一个systemd文件。为此,发出命令:
sudo nano /etc/systemd/system/wol.service
在该文件中,粘贴以下内容:
[Unit]
Description=Configure Wake On LAN
[Service]
Type=oneshot
ExecStart=/sbin/ethtool -s INTERFACE wol g
[Install]
WantedBy=basic.target
其中INTERFACE是要使用的接口的名称。
保存并关闭文件。使用以下命令使systemd知道新脚本:
sudo systemctl daemon-reload
使用以下命令启用新服务:
sudo systemctl enable wol.service
最后,使用以下命令启动服务:
sudo systemctl start wol.service
就是这样。LAN唤醒现在可用于LAN接口。您可以唤醒该服务器,而不必一路跋涉到数据中心。请记住,您必须知道目标LAN接口的MAC地址,而不能通过IP地址来做到这一点。快乐醒来。