将 Linux 服务器置于睡眠状态并使用 WOL 数据包将其唤醒

5 linux wake-on-lan

我正在寻找一种方法,在没有任何“心跳”网络活动的情况下将我的 Linux 家庭服务器置于待机状态。我想使用 WOL 数据包作为心跳信号。这些包将由多个客户端发送,每个客户端每隔 15 分钟发送一次。

因此,一个实际的例子是非常受欢迎的。

der*_*ert 1

您的服务器可以通过以下几种简单方法来检查其他设备是否正在使用它:

  • /usr/sbin/arp使用或 通过读取检查 arp 缓存/proc/net/arp。您将在其中看到服务器最近与之通信的所有设备。这包括 MAC 地址,因此即使面对 DHCP,您也可以找到您的手机等。
  • 使用 ping(或 arping,基于主机的防火墙不会阻止)主动轮询您的主机。
  • 设置 iptables 规则来匹配您感兴趣的主机,然后检查它们的数据包计数器。如果计数器增加,则这些主机处于活动状态。

所有这些都可以通过相当简单的脚本来实现。然后,您可以让脚本将服务器置于 S3、S4 甚至 G2/S5 中,并让 LAN 唤醒功能唤醒服务器。

注意:在很多台式机主板上,S3 实际上并没有节省那么多电量。在你打扰之前先测量一下。或者确保至少使用 S4。