WOL开启教程
WOL是啥?
- 一种局域网开机协议,只要你的电脑都在局域网内,并且是插了网线,就可以根据mac地址来远程开机。
例如。电脑a与电脑b电脑c都是一个局域网,a为开机状态,b,c为关机状态,可以通过a输入指令来开机b,c电脑。前提,a,b,c电脑均为有线连接的方式上网,并且都插了电源。
准备工作:
- 需要主板支持(大部分新电脑从2010后都支持)
需要去主板BOIS开启相关设置(下面以华硕主板为例)。
- 电脑关机,按F2进入BIOS设置。
- 选择右下角的高级设置(Advance Mode)
- 选择高级,APM(高级电脑管理)设置
- 开启下面几个设置。断电后电源状态(可选,电源开启),CEC就绪(可选功能,可以不开启),ErP支持(可选,如果有就开一下,),PCI-E设备唤醒(必选,打开为开机状态,有的主板直接叫Wake on Lan)
3. 退出,保存并退出。
Windows开启WOL设置(被唤醒机)
- 打开设备管理器(win10是右键左下角菜单,可以显示出),打开网络适配器,选择第一个有线网卡(也不一定是第一个,反正看名称带PCIe的那个网卡就对了)。
- 双击网卡名称,选择电源管理,开启允许此设备唤醒计算机,开启“只允许魔书包唤醒计算机”并且检查“允许此设备唤醒计算机”已经打开。
- 获取你的网卡MAC地址(非常关键)
以win11为例:设置-网络和Internet-以太网-属性,找到最下面的物理地址(MAC)即可。
win10的话,就是去右下角,有个有线上网的图标,查看网络连接信息,然后点击上面的“复制”,复制后得到所有网络连接信息,可以从中筛选出mac地址。
不懂得可以去百度一下哈。
Linux打开Wol设置(被唤醒机,以Ubuntu为例)
- 搜索wol软件包。
apt search wol
- 共有两个软件,都安装一下(其实装一个也可以)
sudo apt install wakeonlan etherwake
- 查询网卡名称以及mac地址,输入
ifconfig
enp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.xx.xx netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::f22f:74ff:fedb:ccfa prefixlen 64 scopeid 0x20<link>
ether xx:xx:xx:xx txqueuelen 1000 (Ethernet)
RX packets 83277 bytes 66831484 (66.8 MB)
RX errors 0 dropped 2 overruns 0 frame 0
TX packets 38928 bytes 9133089 (9.1 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
其中inet为内网ip地址,ether为Mac地址。
- 查看该网卡是否开启wol
sudo ethtool enp4s0
显示如下:
Settings for enp4s0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: Symmetric Receive-only
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Link partner advertised pause frame use: Symmetric Receive-only
Link partner advertised auto-negotiation: Yes
Link partner advertised FEC modes: Not reported
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000033 (51)
drv probe ifdown ifup
Link detected: yes
其中最关键的是Wake-on: g
,如果不是g而是d,说明网卡没有开启wol功能,如果没有这个设置,那可能网卡就不支持局域网唤醒。
假设你的是显示d,你需要用这条命令开启wol唤醒。
sudo ethtool -s enp4s0 wol g # 其中enp4s0为网卡名称
然后重新查看一下,你会发现Wake-on:d
`会变成Wake-on:g
了
注意:如果你是手动用上面的命令开启的远程唤醒,那么,下次开机后Wake-on:g
又会变成Wake-on:d
,你需要把ethtool -s enp4s0 wol g
加到开机自启动命令里面。可以参考rc.local的方式,或者systemd的方式,此处不在扩展。
用Ubuntu来唤醒客户端主机
- 假设我想用ubuntu来唤醒任意一个局域网主机,windows或者linux。
- 可以用下面两条命令中的任意一条。
wakeonlan xx:xx:xx:xx:xx:xx # 后面接待开机主机的MAC地址,推荐用这种方式。
- 也可以用这种方式
sudo etherwake -i enp4s0 xx:xx:xx:xx:xx:xx # enp4s0为ubuntu的网卡名称,非客户端网卡,后面是客户端MAC地址
用CenterOS来唤醒客户端主机
- 假设公司有一个centerOS服务器,并且长期开机,并且你能够利用ssh登录这台服务器。
- 确保,已经安装这个软件
sudo yum install net-tools
- 唤醒开机方式
sudo ether-wake -i eno1 xx:xx:xx:xx:xx:xx # eno1是CenterOS的有线网卡名称,非客户端网卡,后面是MAC地址。
用windows来唤醒客户端主机
参考这篇)
补充:
- 问:远程开机有啥用?
- 答:可以省电,不用一直开着电脑,想用就用。
- 问:开机后我该如何连接刚刚被开机的电脑?
- 答:可以在被唤醒的机器提取装好远程软件,比如向日葵,Todesk,然后把软件设置为开机自启,这样被唤醒的机器远程开机后,这些远程软件自动开启,你就可以通过远程来控制你的办公电脑了。
补充-安装todesk
- 下载软件:官网)
- 注册账号,登录(推荐,这样不用记自己的远程id了)
- 打开安全设置,设置临时密码与安全密码都可以使用,这样就可以用自己设置的安全密码登录,更加方便。
- 勾选基本设置的开机自启动,这样每次被唤醒该软件都可以开启了。