Ubuntuより、Wake on Lanでリモートのマシンを起動します。
記事の目次
使用した環境
- Ubuntu 18.04 LTS Desktop (18.04.3)
Wake on LANが使用できる条件
Wake on LANを使用するためには、以下の条件を満たしす必要があります。
- リモートで起動するマシンのハードウェアがWake on LANに対応しており、BIOSの設定でWake on LANを有効化していること。
- リモートで起動するマシンのOSがWake on LANに対応しており、Wake on LANを有効化していること。
- Wake on LANで起動をかけるマシンと起動されるマシンが同一のネットワークセグメントに接続されていること
BIOSの設定でWake on LANを有効化
Wake on LANで起動されるマシンのBIOSの設定を変更し、Wake on LANを有効化します。
起動されるマシンのOSの設定でWake on LANを有効化
Wake on LANで起動されるマシンのOSの設定を変更して、Wake on LANを有効化します。
Ubuntu Desktop 18.04 LTSの場合
以下のコマンドで、Wake on LANが有効になっているか確認します。以下のように、Wake-onが、「g」になっていれば有効です。
$ sudo ethtool enp0s25 | grep Wake-on Supports Wake-on: pumbg Wake-on: g
Wake-onが、「d」等で有効でない場合は、以下のコマンドで有効化します。
$ sudo ethtool -s enp0s25 wol g
本設定は、マシンを再起動すると無効化されてしまう場合があるので、その場合はサービスとして登録します。そのため、サービスを有効化するシェルを作成します。
$ vi /home/ubuusr01/bin/wakeonlan.sh #!/bin/sh /sbin/ethtool -s enp0s25 wol g $ chmod 755 /home/ubuusr01/bin/wakeonlan.sh
サービスに登録するため、systemdのユニット定義ファイルを作成します。
vi /etc/systemd/system/wakeonlan.service [Unit] Description=Enable Wake-On-Lan [Service] Type=simple ExecStart=/home/ubuusr01/bin/wakeonlan.sh [Install] WantedBy=multi-user.target
サービスへの登録と起動を行います。
$ sudo systemctl daemon-reload $ sudo systemctl enable wakeonlan.service $ sudo systemctl start wakeonlan.service
Windows 10の場合
コントロールパネル>デバイスマネージャの画面でネットワークアダプタを選択し、右クリックしてプロパティを開きます。詳細設定のタブで、Wake on LANの設定を有効にします。設定名は、ネットワークアダプタによって異なりますが、Wake on LAN関連の設定を探し、Wake on LANのMagic Packetで起動する設定を探して選択します。そのほかに、電源管理のタブで「このデバイスで、コンピュータのスタンバイ状態を解除できるようにする」および「Magic Packetでのみ、コンピュータのスタンバイ状態解除できるようにする」にチェックを入れます。
起動するマシンのMACアドレスを収集
ip aコマンド等で、起動するマシンのMACアドレスを確認して、控えておきます。
$ ip a
Wake on LAN用のソフトウェアのインストール
wakeonlanパッケージをインストールします。
$ sudo apt install wakeonlan
Wake on LANでリモートのマシンを起動
wakeonlanコマンドの引数に起動するマシンのMACアドレスを指定して、リモートのマシンを起動します。以下は、MACアドレスが「XX:XX:XX:XX:XX:XX」の場合の例になります。
$ wakeonlan XX:XX:XX:XX:XX:XX
1回で起動しないことがたまにあるので、起動しない場合は、何度かリトライしてみましょう。
おわりに
Ubuntuより、Wake on LANを使用して、他のマシンを起動可能な環境を構築しました。
関連記事