Wake on Lan(WOL)は、手元のパソコンからネットワーク(おもにLAN)につながっているパソコンを遠隔で起動するテクノロジーです。操作するパソコンから「マジックパケット」と呼ばれる特殊なイーサネットフレームを送信し、受信したパソコンは自機への「マジックパケット」と確認することで電源をオンにします。
操作されるパソコンは、電源を切った状態でもLANアダプタには通電している必要があり、操作されるパソコンが対応していなければWake on Lanを利用することはできません。対応しているパソコンでもBIOS/UEFIで設定がオフになっている場合もあり、その場合はBIOS/UEFIで設定をオンにする必要があります。また、使用しているOSがWake on Lanをサポートしていることも必要で、OS側でもWake on Lanを有効化することで操作されるパソコンの電源をオンにすることができます。
Ubuntu 22.04 デスクトップパソコンでのWake on Lan設定
ここで説明するのは、Wake on Lanで起動されるパソコンがUbuntu 22.04 デスクトップパソコンの場合です。
BIOS/UEFIの設定
まずはじめに、ハードウェアレベルでWake on Lanが機能するように設定します。
マザーボードのBIOS/UEFIメニューから設定をおこないます。BIOS/UEFIの設定はパソコンのハードウェアレベルの基本的な設定です。誤った設定をおこなうと、パソコンが起動しなくなるなどの問題を引き起こす可能性があります。十分確認した上で、自己責任でおこなって下さい。
BIOS/UEFIメニューの表示
BIOS/UEFIメニューは、マザーボードのセットアップユーティリティーなどを起動することで表示することができます。マザーボードにより起動方法は異なりますが、一般的には、パソコンの電源を入れた直後に「DEL」「F2」「F10」「F12」などのキーを押すことで起動することができます。
マザーボードレベルのWake on Lanの有効化
BIOS/UEFIメニューからWake on Lanを有効化する設定をおこないます。設定する項目はマザーボードにより異なりますので、マニュアルやインターネットなどで設定するマザーボードのメニュー項目を確認して下さい。
私の設定するパソコンのマザーボードはAsRock製を搭載しています。この場合設定項目は「ACPI Configuration(ACPI 設定)」->「PCIE/PCI Devices Power On(PCIE/PCI デバイス電源オン)」を「Enabled(有効)」に設定することで有効にすることができます。
パソコンが節電モードや省エネモードになっているとLANアダプタに通電を行わなくなることがあります。この場合は節電モードや省エネモードを無効化にする必要があります。「Deep Sleep(デイープスリープ)」や「ErP」などの項目を確認し、「Enabled(有効)」であれば「Disable(無効)」にします。
BIOS/UEFIの設定はハードウェアレベルの重要な設定です。間違った設定をおこないますとパソコンが起動しなくなるなどの問題を引き起こすおそれがあります。十分な確認と注意の上、あくまでも自己責任でおこなって下さい。
Ubuntu 22.04 の設定
ハードウェアレベルでWake on Lanが機能するように設定したら、次は起動されるパソコンのソフトウェアレベルでの設定です。
ネットワークデバイス状態の確認
まず、ethtool を使用してネットワークデバイスの状態を確認します。
ethtool がインストールされていない場合は以下のコマンドでインストールします。
$ sudo apt install ethtool
ehotool でWake on Lanの状態を確認するのですが、確認にはイーサネットアダプタのデバイス名が必要になります。デバイス名がわからない場合は以下のコマンドで確認することができます。
$ ip link
デバイス名を確認したら、以下のコマンドでネットワークデバイスの状態を確認します。
$ sudo ethtool <デバイス名> | grep -i wake-on
Supports Wake-on: pumbg
Wake-on: d
上記のように「Wake-on: d」の場合は、Wake on Lanが無効化されています。有効化されていれば「Wake-on: g」となります。
Wake on Lanの有効化
Wake on Lanを有効化するには以下のコマンドを使用します。
$ sudo ehitool -s <デバイス名> wol g
このコマンドによる設定は、パソコンを再起動すると無効になってしまいます。
1度だけWake on Lanでパソコンを起動するにはこれでいいのですが、通常は常にWake on Lanでパソコンを起動できる状態にしておきたいと思います。
その場合は、NetworkManagerの制御により永続的に有効化させることができます。
まず、有線接続の名前を確認します。
$ nmcli con show
NAME UUID TYPE DEVICE
<有線接続名> xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ethernet <デバイス名>
現在の設定を確認します。
$ nmcli c show "<有線接続名>" | grep -i wake-on-lan
802-3-ethernet.wake-on-lan: default
802-3-ethernet.wake-on-lan-password: --
「802-3-ethernet.wake-on-lan: default」であればWake on Lanは無効化されています。有効化されている場合は「802-3-ethernet.wake-on-lan: magic」となります。
Wake on Lanを永続的に有効化します。
$ nmcli c modify "<有線接続名>" 802-3-ethernet.wake-on-lan magic
設定を反映させるために以下のコマンドを使用します。
$ nmcli c up <有線接続名>
これで設定が反映されました。
設定を確認します。
$ sudo ethtool <デバイス名> | grep -i wake-on
Supports Wake-on: pumbg
Wake-on: g
「Wake-on: g」で有効化されています。
こちらも確認。
$ nmcli c show "<有線接続名>" | grep -i wake-on-lan
802-3-ethernet.wake-on-lan: magic
802-3-ethernet.wake-on-lan-password: --
「802-3-ethernet.wake-on-lan: magic」なのでWake on Lanが有効化されています。
Wake on Lanによる起動の確認
以上で設定は完了してますが、一度 Wake on Lan により起動できることを確認しておくことをおすすめします。
MACアドレスの確認
Wake on Lan を実行するには、起動されるパソコンのMACアドレスが必要になります。MACアドレスは以下のコマンドで確認することができます。
$ ip addr
link/etherの「XX:XX:XX:XX:XX:XX」がMACアドレスです。忘れないようにメモなどに控えておくとよいと思います。
Wake on Lanでリモート起動
起動するパソコンのWake on Lan用のソフトウェアを使用します。CUIで操作するものや、GUIに対応しグラフィカルに操作できるものなど、さまざまなソフトウェアがありますので、好みのものを使用して下さい。ここでは、Linux用の wakeonlan を使用したいと思います。
以下のコマンドで wakeonlan パッケージをインストールします。
$ sudo apt install wakeonlan
wakeonlan は引数に起動されるパソコンのMACアドレスを指定することで使用します。先程確認したMACアドレスを使います。
$ wakeonlan XX:XX:XX:XX:XX:XX
これで起動されるパソコンの電源がオンになれば成功です。1回で起動されない場合は、何度かリトライして下さい。
それでも起動されない場合は、起動されるパソコンの設定や起動するソフトウェアの設定を確認して下さい。
おわりに
以上で、Ubuntu 22.04 デスクトップパソコンを手元のパソコンから Wake on Lan を利用して起動させる環境が構築されました。
複数台のパソコンを所有する場合に、どのように活用するかは人それぞれですが、システム構築の一助になればと思います。
コメント