メインコンテンツへスキップ

WOL Configuration on Linux

NOTE
この記事は最終更新日から1年以上が経過しています。内容が古くなっている可能性があります。

Wake On LANの設定のメモ。netplanが入っているUbuntu前提だけど、ほかのディストリビューションでも参考になるかもしれない。

  1. UEFIとかBIOSの設定で、“Wake On LAN"とか"WOL"とか"Power On By PCI-E"みたいな設定を見つけてEnableにする。そしたら保存して終了する。設定がなくてもデフォルト有効の可能性があるのでまだ諦めない。
  2. つぎにOSを起動してethtoolで設定状況を確認する。引数のYOUR_IFACE_NAMEはたとえばenp6s0とか。
$ sudo ethtool YOUR_IFACE_NAME | grep Wake-on
Supports Wake-on: pumbag
Wake-on: d

“Wake-on"は g でないといけない。こんなふうにethtoolで設定できるが、 再起動すると設定が消えたりする のでちょっと試したいとき以外これはやらなくてよい。

$ ethtool -s interface wol g

永続化のために、netplanの設定でWOLを有効にしたい物理デバイスの項目に"wakeonlan: true"を追記しておく。

$ sudo vi /etc/netplan/NN-YOUR-NETPLAN.yaml
network:
 version: 2
 ethernets:
  YOUR_IFACE:
   ~~~
   wakeonlan: true
   ~~~

netplanの設定を適用して、ethtoolでWOLが有効化されたか確認する。ssh越しに設定を間違うとアクセスできなくなるので注意。

$ sudo netplan apply
$ sudo ethtool YOUR_IFACE_NAME | grep Wake-on
Supports Wake-on: pumbag
Wake-on: g

あとは実際にwakeonlanコマンドとかで起動できるか試してみる。シャットダウンする前にMACアドレスを確認しておくこと。

$ sudo apt install wakeonlan
$ wakeonlan AA:BB:CC....

netplanのドキュメントはここ。 https://netplan.io/reference

netplan以外の永続化方法はここ。 https://wiki.archlinux.org/title/Wake-on-LAN#Make_it_persistent

関連記事

Containerlabを試してみた

弊社ではネットワーク系の開発案件が多く、開発中の動作検証環境は複数の仮想マシン(VM)を用いて構築しているのですが、少し前からコンテナで構築することも行っていました。

CPU Isolation

きょうは Linux カーネルがユーザーランドプロセスにスケジューリングしないCPUを確保しておく方法についてです。これによってコンテナやVMに割り当てるためのCPUが、ホストOSのユーザランドプロセスに使われてしまうことを回避できます。