Linux Wake On LANで離れた場所のパソコンの電源を入れる
Linuxについての記事です。
離れた場所にあるパソコンの電源スイッチを押さなくても電源を入れる方法について調べていました。
パソコンの電源を入れるときにWake On LANという機能を使う事で離れた場所から電源を入れる事ができます。
Wake On LANとはマジックパケットという特殊な信号をネットワーク上に流してパソコンに送信をして電源を入れるという機能です。(Wake On LANを使うためにはLANケーブルでルータ等と接続されていないとうまくいかない事が多いようです。)Wake On LANを使うためには、電源を入れる側にマジックパケットを送信する機能が必要です。電源を入れられる側のパソコンにはそれに対応するためのネットワークインターフェースカード(NIC)が搭載されている必要があります。それからBIOSでWake On LANの設定等をするのでBIOSがWake On LANに対応している必要もあります。
便利な使い方
応用してうまく使えば、VPNの接続をしてWake On LANと組み合わせて使う事が出来れば外出先から自宅のパソコンの電源を入れる事が出来て、さらに自宅のパソコンに保存されているデータを開く事も出来ます。自分はよくこの使い方をして急に必要になった自宅のサーバに保存されているデータを外出先から開いたりしています。用が済んだらSSHやVNCなどで電源を切る操作をしてサーバの電源を付けたままにしていないので電気代の節約にもなります。外出先からパソコンの電源を入れてデータを開いて確認して電源を落とすといった便利な使い方も出来ます。
iPhoneやiPadなどのスマートフォンやタブレット端末からでも対応するアプリがあればパソコンがなくてもできます。
BIOSの設定
パソコンのWake On LANの機能を有効にするためにBIOSの設定をします。今回設定をするパソコンはIBM社製のIntelliStation M Pro 9229を使用します。
パソコンの電源を入れるときにF1キーを連打しながらパソコンを起動させてBIOSを表示させます。BIOSの設定画面の起動方法はパソコンのメーカーや機種等によって異なる事があるのでマニュアル等を確認するといいと思います。
BIOSを起動して”Startup Options”を選びます。
Startup Sequence Optionsを選んで進みます。
Startup Sequence Optionsの画面でパソコンを起動させたときの読み込みをさせるメディアを選択します。
Primary Startup Sequence
Primary Startup Sequenceはパソコンの電源をスイッチを押していれたときの動作についてです。上から順番にFirst Startup Device、Second Startup Device‥と優先的に読み込みをするメディアを選択していきます。OSが入っているのはハードディスクなので他のメディアを読み込みさせないようにNoneなどで設定をしておきます。
First Startup Device | IDE CD: HL-DT-ST DVDRAM |
---|---|
Second Startup Device | None |
Third Startup Device | None |
Fourth Startup Device | HDD(S1) :ハードディスクの番号 |
WakeOnLan Startup Sequence
Wake On LANの機能を有効にするかしないかを設定できます。
Enabledだと有効になっています。
WakeOnLan Startup Sequence | Enabled |
---|---|
First Startup Device | None |
Second Startup Device | None |
Third Startup Device | HDD(S1) :ハードディスクの番号 |
ネットワークインターフェースに流れてきたマジックパケットを受信するとパソコンの電源が入ります。次に起動したときにどのドライブからOSを起動するかの優先順位をつけていきます。OSはハードディスクにインストールされているので優先的にハードディスクからOSを読み込みするようにします。設定を変更すればCDドライブからOSを起動する事等も出来るようです。First Startup DeviceとSecond Startup DeviceをNoneにしてThird Startup Deviceにハードディスクのデバイスを設定します。
うまく設定ができないとネットワークからOSを起動しようとしたりしてしまい以下の画面のように”Boot sector error, no operation system installed’などと表示されてOSが見つからないとエラーになってしまいます。
OSの設定
OSはCentOSをインストールして使っています。
CentOSにWake On LANに対応させるために/etc/sysconfig/network-scripts/ifcfg-eth0を編集します。
etc/sysconfig/network-scripts/ifcfg-eth0はネットワークインターフェースの設定をする事が出来ます。
# vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" NM_CONTROLLED="yes" ONBOOT=yes TYPE=Ethernet BOOTPROTO=dhcp DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=no NAME="System eth0" UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx HWADDR=XX:XX:XX:XX:XX:XX PEERDNS=yes PEERROUTES=yes ETHTOOL_OPTS="wol g" ← ETHTOOL_OPTS="wol g"を付け加える
編集した内容を反映させるためにネットワークの再起動をします。
# /etc/rc.d/init.d/network restart
設定を確認するためにネットワークインターフェースの状態を調べます。
# ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Advertised pause frame use: Symmetric Advertised auto-negotiation: Yes Speed: 100Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on MDI-X: Unknown Supports Wake-on: g ← gになっていればWake On LANに対応します。 Wake-on: g Current message level: 0x000000ff (255) Link detected: yes
以上で設定は完了です。
後はマジックパケットを送信してOSが起動すれば成功です。
Wake On LANを実際に使う
BUFFALOの無線LANルータ等を使用していればWake On LAN機能を持っていてマジックパケットをBUFFALOのルータから送信する事が出来ます。
BUFFALOの無線LANルータの設定画面を開いて”■ユーティリティー機能”の”ネットワークサービス一覧を表示”のボタンをクリックします。
画面が切り替わるとBUFFALOのルータに接続されている端末のMACアドレス情報とホスト名が表示されます。
起動させたいホスト名の右側にあるWOLボタンをクリックするとそのホストに対してマジックパケットを送信してくれます。
Wake On LANパケットの送信を送信しましたと表示されます。
これで起動できればWake On LANの設定は成功です。