Loading... <p><strong>一,什么情况下需要远程开机?<br /> <br /> 如果我们的服务器没有部署在本地(实际上通常都是这样的,我们会把服务器托管到IDC机房),<br /> <br /> 而且服务器在机房中不止一台,其中一台被关闭时,则我们可以远程连接一台没有关机的服务器上,<br /> <br /> 然后进行远程开机.<br /> <br /> 二,远程开机需要的软件<br /> <br /> 它需要wakeonlan这个软件,<br /> <br /> 从何处得到它?<br /> <br /> 它的官方站是:http://sourceforge.net/projects/wake-on-lan/<br /> <br /> 如果使用rpm包可以从这里下载:http://dag.wieers.com/rpm/packages/wol/<br /> <br /> &nbsp; 如果使用fedora,则可以用yum命令安装:<br /> <br /> yum install wol<br /> <br /> 三,如何进行远程开机?<br /> <br /> 先不要急着去关闭你的linux服务器,你首先要确定它是否支持远程开机?<br /> <br /> 第一步:登录到目标服务器,用ethtool这个命令打印出网卡的信息<br /> <br /> [root@localhost lhd]# ethtool eth0<br /> <br /> Settings for eth0:<br /> <br /> Supported ports: [ TP MII ]<br /> <br /> Supported link modes: 10baseT/Half 10baseT/Full<br /> <br /> 100baseT/Half 100baseT/Full<br /> <br /> Supports auto-negotiation: Yes<br /> <br /> Advertised link modes: 10baseT/Half 10baseT/Full<br /> <br /> 100baseT/Half 100baseT/Full<br /> <br /> Advertised auto-negotiation: Yes<br /> <br /> Speed: 100Mb/s<br /> <br /> Duplex: Full<br /> <br /> Port: MII<br /> <br /> PHYAD: 32<br /> <br /> Transceiver: internal<br /> <br /> Auto-negotiation: on<br /> <br /> Supports Wake-on: pumbg<br /> <br /> Wake-on: d<br /> <br /> Current message level: 0x00000007 (7)<br /> <br /> Link detected: yes<br /> <br /> 可以看到,ethtool 把网卡的信息全部列出,我们只关心其中的这两项:<br /> <br /> Supports Wake-on: pumbg<br /> <br /> Wake-on: d<br /> <br /> 如果 wake-on 一项值为 d,表示禁用wake on lan<br /> <br /> 值为 g,表示启用 wake on lan<br /> <br /> 因为此机器禁用了 wake on lan,所以用下面的命令来启用它:<br /> <br /> [root@localhost lhd]# ethtool -s eth0 wol g<br /> <br /> 再用 ethtool命令进行查看,会发现:<br /> <br /> Wake-on: g<br /> <br /> OK,目标机器的网卡已经支持了远程开机,下面我们得到它的本地MAC地址:<br /> <br /> [root@localhost lhd]# ifconfig<br /> <br /> eth0 Link encap:Ethernet HWaddr 00:03:0D:1D:1F:97<br /> <br /> inet addr:192.168.6.101 Mask:255.255.255.0<br /> <br /> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1<br /> <br /> RX packets:34470 errors:0 dropped:0 overruns:0 frame:0<br /> <br /> TX packets:35377 errors:0 dropped:0 overruns:0 carrier:0<br /> <br /> collisions:0 txqueuelen:1000<br /> <br /> RX bytes:31559763 (30.0 MiB) TX bytes:5340032 (5.0 MiB)<br /> <br /> Interrupt:5 Base address:0x2c00<br /> <br /> 把HWaddr 00:03:0D:1D:1F:97这一项记录下来即可<br /> <br /> 现在你可以试着把目标机器关闭<br /> <br /> 第二步:开机<br /> <br /> 现在我们需要登录到已安装了wake on lan软件的机器上,在上面执行开机命令:<br /> <br /> wol 00:03:0D:1D:1F:97<br /> <br /> 稍后就会发现,目标机器已开机可以登录了<br /> <br /> 四,多学一点:<br /> <br /> 1,ethtool 的 -s 参数是修改指定以太网设备的设置<br /> <br /> 2,wol的取值默认是d,含义是disable<br /> <br /> 修改后的值为g,含义是Wake on MagicPacket(tm)<br /> <br /> 它还有几个取值,分别是:<br /> <br /> p Wake on phy activity<br /> <br /> u Wake on unicast messages<br /> <br /> m Wake on multicast messages<br /> <br /> b Wake on broadcast messages<br /> <br /> a Wake on ARP<br /> <br /> 如果有兴趣,大家可以通过 man ethtool查看<br /> <br /> 3,当机器重启后,eth0的设置又会回复到Wake-on: d 状态,<br /> <br /> 这个问题怎么解决?<br /> <br /> 两个办法:第一个,也是我们的惯性思维;<br /> <br /> 把/sbin/ethtool -s eth0 wol g 这条命令附加到/etc/rc.local这个文件中,<br /> <br /> 则下次开机后会自动执行<br /> <br /> 第二个: 编辑/etc/sysconfig/network-scripts/ifcfg-eth0<br /> <br /> (eth0网卡的配置文件),添加上一行:<br /> <br /> ETHTOOL_OPTS=”wol g”<br /> <br /> 4,网络唤醒的局限性:<br /> <br /> 它只能在局域网中应用,而不能通过互联网运行,为什么?<br /> <br /> 因为机器关闭后,完全是靠网卡唤醒机器,此时的机器是关闭的,没有操作系统运行,<br /> <br /> 也就谈不上支持tcp/ip协议,当然也就不能通过互联网运行了.<br /> <br /> 也就是说:如果我们在某个局域网中只有一台机器,就不能使用此功能了.<br /> <br /> 我们必须能登录到局域网中的一台机器上,在此机器上运行 wake on lan 去唤醒目标机器<br /> <br /> 前提条件就是:目标机器和我们登录的机器在同一局域网中<br /> <br /> 5,还有一点:被远程开机的目标机器必须是插电的,没插电源的机器也能开机只有电影中才会出现<br /> <br /> 下面简单介绍一下linux下的wakeonlan 的用法:<br /> <br /> 假设远程要唤醒的计算机IP:12.34.56.78,Mac地址:01:02:03:04:05:06<br /> <br /> $ wakeonlan -i 12.34.56.78 01:02:03:04:05:06</strong></p> Last modification:October 6, 2023 © Allow specification reprint Support Appreciate the author AliPayWeChat Like 如果觉得我的文章对你有用,请随意赞赏
3 comments
liunx这个系统好深,挺想学
哈哈哈!我们正在学!!
沙发