HACK#45 远程管理机器的电源
本节介绍使用WOL和IPMI远程管理机器电源的方法。
从远程接通或断开电源的方法有使用NIC(Network Interface Card)功能的WOL和IPMI(BMC)的方法。本节将介绍这些方法。
Wake On LAN
Wake On LAN(WOL)是指经由网络发送称为魔术包(magic packet)的特殊数据包,从网络设备接通系统电源的功能。
设置WOL
在使用WOL接入电源的机器上需要事先进行设置。首先,要在BIOS的设置中启用WOL(也称为Remote Power)的功能。
本节中使用的DELL机器是在BIOS设置界面上选择“Power Management”→“Remote Wake Up”,设置为On。
然后,在操作系统启动后,使用ethtool命令进行网络设备的设置。下面是英特尔82571EB千兆位以太网控制器的例子。
ethtool eth4
Settings for eth4:
……
Transceiver:internal
Auto-negotiation:on
Supports Wake-on:pumbag……①
Wake-on:d……②
Current message level:0x00000001
Link detected:yes
#
①的Supports Wake-On显示的是这个网络设备所支持的魔术包的种类。每个拉丁字母为显示种类。详细内容可以使用man命令来确认。
p Wake on phy activity
u Wake on unicast messages
m Wake on multicast messages
b Wake on broadcast messages
a Wake on ARP
g Wake on MagicPacket(tm)
s Enable SecureOn(tm)password for MagicPacket(tm)
d Disable(wake on nothing).
②的Wake-on:显示的是WOL的设置情况。在这个例子中为d,因此是关闭的。如果要启用WOL,可以使用ethtool的-s选项来设置。下面是启用MagicPacket的例子。
ethtool-s eth4 wol g
ethtool eth4|grep Wake-on
Supports Wake-on:pumbag
Wake-on:g
启用多个时需要执行下列命令。
ethtool-s eth4 wol pumbag
ethtool eth4|grep Wake-on
Supports Wake-on:pumbag
Wake-on:pumbag
这样就进行了WOL的设置,即使切断一次电源也可以从远程重新接通电源。使用ethtool命令启用了WOL的NIC,在切断电源后,如果连接上LAN电缆,LED也会闪光。
发送魔术包
在远程机器上发送称为魔术包的数据包作为接通电源的命令。
本Hack中使用的是net-tools工具包中的ether-wake命令。按照下列方式指定MAC地址,执行ether-wake命令,就可以发送魔术包。
/sbin/ether-wake 00:10:60:60:60:01
设置密码
为保证安全,也可以设置密码。使用ethtool启用SecureOn。
ethtool-s eth4 wol s
接下来设置密码。密码与MAC地址相似,设置以“:”分隔的4~6字节的字符串。下面是设置6字节密码的例子。
echtool-s eth4 sopass xx:yy:zz:aa:bb:cc
在远程方按照下列方式指定密码,执行ether-wake命令。