xai1981's blog

http://twitter.com/xai1981

Wake On LAN の設定

今後、保守の都合で何かあった場合に自宅作業することが決まりました。 客先にある作業用の SSH サーバーは接続元の IP を見ているため自宅(DHCP 割り当てアドレス)から 直接接続することはできません。

そこで自宅から社内のDELLの開発PC「OPTIPLEX 3010」に リモートデスクトップで接続してそこから保守することにしました。

自宅のPCから作業する場合に、社内の開発PCは常に立ち上がっている必要があります。 ずっと開発PCを起動しておけば問題ありませんが、電気代もかかるしPCに負担もかかるので、できれば必要の際に開発PCの電源を付けたいです。

解決策としては Wake On LAN という技術を使って、ネットワーク経由で電源を付ける方法でした。

  • 用意するもの
    • 自宅のPC
    • 社内のCentOS 6.4(常時起動)
    • 社内の開発PC

社内のCentOS 6.4に ethtool をインストール及び、設定します。これは常時起動している社内のCentOS 6.4から、社内の開発PCの電源を付けるために必要です。

[usar1@kabosu ~]$ sudo yum -y install ethtool
=================================================================
 Package               Arch     Version       Repository    Size
=================================================================
Updating:
 ethtool               x86_64   2:3.5-5.el6   base         101 k

Transaction Summary
=================================================================
Upgrade       1 Package(s)
Complete!

[usar1@kabosu ~]$ sudo su - root
[root@kabosu ~]$ vim /etc/sysconfig/network-scripts/ifcfg-eth0
ETHTOOL_OPTS="wol g" # この1行を最終行に追記する
[root@kabosu ~]$ restart

社内の開発PCを電源が入っていない状態でも、信号を受け取ったら立ち上がるように設定します。

  • スタート -> コンピューター -> プロパティ -> デバイスマネージャー -> ネットワークアダプター -> Realtek PCIe GBE Family Controller
    • 詳細設定 -> Wake on Magic Packet を有効に -> OK
    • 電源の管理 -> Magic Packet でのみ、コンピューターのスタンバイ状態を解除できるようにする にチェックする
  • BIOS

この状態で自宅のPCから電源を付けるテストします。 社内のCentOS 6.4 に SSH で接続したのち、社内の開発PCのMACアドレスを引数に、下記のコマンドを実行します。

[root@kabosu ~]$ ether-wake -i eth0 00:00:00:00:00:00

ダメです、コマンドを実行しても社内の開発PCの電源は入りません。 社内の開発PCは電源が切れた状態だと LAN アダプタが光ってなく、完全に停止している状態です。 これが原因ではないかと、調べたら BIOS の Deep Sleep Control の設定を Disabled に変更したらうまく動きました。

社内の動作テストの際、上司がバカハブとLANケーブル2本を貸してくれました。うまく動かない場合はミニマムで試すようにと Linux サーバーを介さずに動作テストして原因を究明できました。自分用にバカハブとLANケーブルを買おうと思いました。

参考サイト