如何使 ethtool 局域网唤醒设置保持“粘连”?

如何使 ethtool 局域网唤醒设置保持“粘连”?

我的服务器机房中有几台机器通常处于关闭状态,因此能够远程启动它们很有用。

其中一台是旧的双 P3 IBM serverWorks Intel STL2 机器,多年来,LAN 唤醒功能一直运行良好。我用 etherwake 访问它的 MAC 地址,一分钟左右后,它就出现了(除非它认为需要进行 fsck)。

我遇到问题的新系统是基于华硕 P5E3 构建的。在 BIOS 的电源/APM 设置中,调制解调器/PCI/PCIe 设备唤醒功能已启用。仅凭这一点,我无法使用 etherwake 唤醒它,但如果我启用ethtool -s eth0 wol g魔术包唤醒,那么我可以……一次。在任何启动(无论是通过 WOL 还是开机)之后,状态似乎总是恢复为“d”(已禁用)。我如何才能让 ethtool 设置的状态无限期地“保持”?

所有涉及的系统均为 Debian Lenny,内核为 2.6.26。使用主板网络接口,不涉及任何附加卡。

谢谢你的帮助

答案1

您可以使用 /etc/rc.local 或某些系统启动脚本,但这不是最好的方法。当然,启动时会配置您的网络接口,但有时您的网络接口可能会打开或关闭,您需要在这些时候执行此操作。

您需要编辑 /etc/network/interfaces:

你应该有如下一行:

iface eth0 inet static

在下面进一步缩进,您需要创建一个上后和下后命令,例如

iface eth0 inet static
    post-up /usr/sbin/ethtool -s eth0 wol g
    post-down /usr/sbin/ethtool -s eth0 wol g

显然,如果不同,请用相关接口替换 eth0。

有关 post-up 和 post-down 命令的更多信息,请参阅接口(5)

man 5 interfaces

答案2

你可以加

ethtool -s eth0 wol g 

到 exit 0 之前 /etc/rc.local ;每次启动时都会执行此脚本。

答案3

您可以创建一个名为的脚本,例如,wakeonlanconfig其中包含以下内容:

#!/bin/bash
ethtool -s eth0 wol g
exit

然后使脚本可执行

chmod a+x wakeonlanconfig

并使脚本在启动时运行

update-rc.d -f wakeonlanconfig defaults

欲了解更多详情,请访问我的博客文章介绍了如何在瘦客户端上使用 WOL

相关内容