我的服务器机房中有几台机器通常处于关闭状态,因此能够远程启动它们很有用。
其中一台是旧的双 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。