LinuxでWake-on-LANする
スポンサーリンク
UEFIでWake-on-Lanを有効化する
手元のASRockのマザーボードでは
Advanced -> ACPI Configuration -> PCIE Devices Power On
をEnabled
に変更した。
ethtoolのインストール
WoL起動したいPCにethtoolをインストールする
- Ubuntu 18.04
$ sudo apt -y install ethtool
- CentOS 7
$ sudo yum -y install ethtool
- Arch Linux
$ sudo pacman -S ethtool
WoLの有効化
WoLを設定したいネットワークデバイス名をip link show
等で確認する。
$ ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: enp0s31f6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether d0:50:99:78:f8:a7 brd ff:ff:ff:ff:ff:ff
WoLの設定を確認する。
Supports Wake-on
の中にgが入っているためWake-on-LANに対応している。
$ sudo ethtool enp0s31f6 | grep Wake-on Supports Wake-on: pumbg Wake-on: d
ここで、WoLを使用するためにはWake-on
をgにする必要がある。
(すでにgになっている場合は、後の設定は不要のはず)
$ sudo ethtool -s enp0s31f6 wol g $ $ sudo ethtool enp0s31f6 | grep Wake-on Supports Wake-on: pumbg Wake-on: g
また、再起動後すると設定が戻ってしまうためcronを用いて再起動ごとに設定を行うようにする。
$ sudo crontab -e -u root @reboot /usr/bin/ethtool -s enp0s31f6 wol g
ここまででサーバ側の設定は終了。
WoLクライアントのインストール
マジックパケットを送信する側のPCにWoLクライアントをインストールする。
- Ubuntu 18.04
$ sudo apt -y install wakeonlan
- CentOS 7
$ sudo yum -y install net-tools
- Arch Linux
$ sudo pacman -S wol
起動テスト
Wake-on
がgになっている状態でシャットダウンし、別のPCからマジックパケットを送信する。
マジックパケットは起動したいPCのMACアドレスを使用して次のコマンドで送信できる。
- Ubuntu 18.04
$ wakeonlan d0:50:99:78:f8:a7
- CentOS 7
$ sudo ether-wake d0:50:99:78:f8:a7
- Arch Linux
$ sudo wol d0:50:99:78:f8:a7