实践网络唤醒 -Wake On LAN (WOL)

本文详细介绍了如何配置和使用网络唤醒-Wake On LAN (WOL)。首先,解释了WOL的基本原理和魔包概念。接着,分别展示了如何在Windows XP上设置BIOS和计划任务,以及在Linux机器上设置Samba共享和安装WOL客户端。此外,还讨论了如何在不同子网环境下使用WOL。

本文以一个具体实例,介绍了如何配置和使用网络唤醒 -Wake On LAN (WOL) 。

 

WOL 简介

Wake-on-Lan,既网络唤醒或者远程唤醒,是一种综合了硬件和软件,通过发送特定的网络包(Magic Packet)来远程启动电脑(待机,休眠或者软关机-在操作系统中关闭计算机,而不是通过按电源开关)的技术。Magic Packet,所谓魔包,一般是一个UDP数据报,包含有连续6个字节的FF和连续的重复16次的MAC地址。
对于支持WOL的主板,如果使用板载的网卡,除了在BIOS里面启用WOL外,不需要额外的硬件设置。如果使用单独的网卡,有可能需要与主板进行连线。是否支持WOL以及如何设置,可以查阅主板的说明书。

要解决的问题

在公司有两台台式器,一台安装了Linux (Fedora 12),另外一台是Windows XP。XP比较少使用,在家的时候,偶尔需要登录到上面用一下,但是如果因此而整天让它开机的话,又比较费电。所以最好能够在需要的时候,能够先VPN登陆到Linux机器,然后通过WOL来启动这台XP。

配置Windows XP机器

设置BIOS

这里以ThinkCenter M5x机器为例,说明如何设置BIOS以启用WOL。
在电脑启动时,按F1进入BIOS设置界面,切换到Power页,跳到Wake on LAN项,选择Automatic,再切换到Devices页,在Network Setup里面,记下显示的十六进制形式MAC地址,然后保存退出即可。

设置启动计划任务

在一般的公司网络中,IP地址都是通过DHCP动态获得的,虽然一段时间内,改变的几率比较小,但是这种可能性是存在的。所以我们需要在机器启动后,自动把机器的IP地址更新到我们肯定可以获取的地方,比如自动把IP地址发送到自己的邮箱。
在这里,我用的方法是把IP地址写到Linux机器上的Samba共享目录下面。
1) 编写内容如下的脚本,保存为bat文件。不要忘记替换IP地址,共享名以及用户名密码。

在脚本中我们调用了一个Java程序Sleep(所以请安装JDK或者JRE),来实现延时,因为系统在刚启动的时候,网络并没有就绪,如果不延迟几分钟的话,后面映射网络驱动器的步骤就会失败。缺省延时3分钟,如果要改变延时时间,请在java Sleep后面指定时间数值(单位是毫秒)。
下面是Sleep.java的源代码,请自己编译,并把编译后的Sleep.class文件放到bat脚本所在的目录

2) 新建一个任务计划,选择bat文件作为要执行的程序,并指定在计算机启动时执行。

配置Linux机器

设置Samba共享

关于如何设置Samba共享,请参考<使用Samba实现Fedora和Windows系统的文件共享 >

安装WOL客户端

Linux上的WOL客户端的rpm包就叫wol,如果没有安装的话,运行如下命令安装:
$sudo yum install -y wol

wol的使用也很简单,最直接的用法就是后面跟上目标机器的MAC地址(十六进制形式,共12位,每两位以:分隔)。
为方便起见,可以写一个脚本,内容如下(请替换MAC地址):
wol 01:23:45:67:89:AB
每次要启动Windows机器的时候,执行该脚本即可,几分钟后,到共享目录查看生成的文件里面Windows机器的IP地址。

如果要定时启动的话,可以把该脚本加到crontab里面。

另外,关于Windows上的WOL客户端,大家可以搜索Magic Packet。

如何跨子网使用WOL

以上的内容都是基于两台机器在同一个子网的假设的。如果在不同的子网内,需要在路由器或者交换机上做特别的设置。条件所限,我没有机会去尝试,有兴趣和条件的朋友可以参考Cisco网站上的如下文章:
Catalyst Layer 3 Switch for Wake-On-LAN Support Across VLANs Configuration Example

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值