Linx系统配置网络唤醒
Linx系统配置网络唤醒
想要配置Linux通过网络唤醒,这样可以随时控制开机,并登录相关服务器。 该功能英文名字为 wakeup-on-lan (WOL).
开启步骤
- 需要用到工具‘ethtool’,安装命令:
sudo apt install ethtool
- 查看用到的网卡:
ip a
, 例如下面的输出,用到的网卡接口是 ‘eno1’zpz@nuc6i3:~$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether f4:4d:30:6e:d9:7a brd ff:ff:ff:ff:ff:ff altname enp0s31f6 inet 192.168.1.147/24 brd 192.168.1.255 scope global dynamic noprefixroute eno1 valid_lft 133386sec preferred_lft 133386sec inet6 fe80::e2c3:cf5d:931:35b/64 scope link noprefixroute valid_lft forever preferred_lft forever 3: wlp1s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000 link/ether a0:c5:89:70:06:fc brd ff:ff:ff:ff:ff:ff
- 执行命令
sudo ethtool eno1
查看网络接口状态,得到类似以下的输出,其中 Wake-on 的值为 g 则是开启了, 为 d 则是禁用了。 (在此之前还得确认主板BIOS开启了网络唤醒)(如果网卡不支持WOL的话可能没有这一项)zpz@nuc6i3:~$ sudo ethtool eno1 Settings for eno1: Supported ports: [ TP ] ... Speed: 1000Mb/s Duplex: Full Auto-negotiation: on Port: Twisted Pair PHYAD: 1 Transceiver: internal MDI-X: off (auto) Supports Wake-on: pumbg Wake-on: g Current message level: 0x00000007 (7) drv probe link Link detected: yes
有些主板通过上面步骤开启了WOL之后,重启依然会进入关闭状态,这时可以创建一个启动服务,在系统启动时再次开启WOL。
- 通过命令
sudo --preserve-env systemctl edit --force --full wol-enable.service
创建服务,或者直接在对应位置创建文件sudo vi /etc/systemd/system/wol-enable.service
[Unit]
Description=Enable Wake-up on LAN
[Service]
Type=oneshot
ExecStart=/sbin/ethtool -s eno1 wol g
[Install]
WantedBy=basic.target
- 配置完成之后还需要执行:
sudo systemctl daemon-reload
,更新服务信息。sudo systemctl enable wol-enable.service
,开启创建的服务。