远程唤醒电脑
环境说明:
两台局域网内的linux主机,本环境的系统为centos5.3X86_64
控制主机为:192.168.10.149
被控制主机为:192.168.10.150
一,在控制主机上安装远程开机需要的软件
[root@tomcat2~]#yum-yinstallwol
或者安装rpm包
[root@tomcat2~]#rpm-ivhwol-0.7.1-2.1.el3.dag.x86_64.rpm
二,开启被控制主机的远程网卡唤醒功能
第一步:登录到被控制服务器192.168.10.150,用ethtool这个命令打印出网卡的信息
[root@tomcat1~]#ethtooleth0
可以看到,ethtool把网卡的信息全部列出,我们只关心其中的这两项:
如果wake-on一项值为d,表示禁用wakeonlan
值为g,表示启用wakeonlan
第二步:用下面的命令来启用wakeonlan
[root@tomcat1~]#ethtool-seth0wolg
第三步:确认是否开启了wakeonlan功能
[root@tomcat1~]#ethtooleth0
OK,目标机器的网卡已经支持了远程开机了
三.获取被控制主机的MAC地址
[root@tomcat1~]#ifconfigeth0
把这一项记录下来即可
四.关闭被控制主机192.168.10.150的系统,然后再控制主机192.168.10.149上远程开机
[root@tomcat2~]#wol00:0C:29:5D:06:24
稍后就会发现,192.168.10.150已经启动了
备注:
1,ethtool的-s参数是修改指定以太网设备的设置
2,wol的取值默认是d,含义是disable
修改后的值为g,含义是WakeonMagicPacket(tm)
它还有几个取值,分别是:
pWakeonphyactivity
uWakeonunicastmessages
mWakeonmulticastmessages
bWakeonbroadcastmessages
aWakeonARP
3,当机器重启后,eth0的设置又会回复到Wake-on:d状态,
这个问题怎么解决?
两个办法:第一个,也是我们的惯性思维;
把/sbin/ethtool-seth0wolg这条命令附加到/etc/rc.local这个文件中,
则下次开机后会自动执行
第二个:编辑/etc/sysconfig/network-scripts/ifcfg-eth0
(eth0网卡的配置文件),添加上一行:
ETHTOOL_OPTS=”wolg”
4,网络唤醒的局限性:
它只能在局域网中应用,而不能通过互联网运行,为什么?
因为机器关闭后,完全是靠网卡唤醒机器,此时的机器是关闭的,没有操作系统运行也就谈不上支持tcp/ip协议,当然也就不能通过互联网运行了.也就是说:如果我们在某个局域网中只有一台机器,就不能使用此功能了.我们必须能登录到局域网中的一台机器上,在此机器上运行wakeonlan去唤醒目标机器前提条件就是:目标机器和我们登录的机器在同一局域网中
我的差事户名:xinfeiyou