この記事では、Linux環境でのWake-on-LAN(以下WOL)の送信と設定方法について詳しく解説します。WOLは、遠隔地から特定のデバイスを起動するためのテクノロジーです。具体的なコード例とその解説、応用例を含めています。
目次
Wake-on-LANとは
Wake-on-LAN(WOL)は、ネットワーク経由でコンピュータを遠隔起動するテクノロジーの一つです。この機能を用いることで、遠くにあるマシンを特定の信号(マジックパケット)を送ることで起動させることが可能です。
WOLのメリット
– 省エネルギー: 不使用時にマシンをスリープ状態にして、必要なときだけ起動できる。
– リモートアクセス: オフィス外からでもマシンを操作できる。
必要な条件
WOLを使用するには以下の条件が必要です。
1. BIOSまたはUEFIでWOLがサポートされていること。
2. ネットワークカードがWOLに対応していること。
3. WOLを受け取る側のマシンが、適切に設定されていること。
LinuxでのWOL設定手順
BIOSまたはUEFI設定
1. コンピュータを再起動し、BIOSまたはUEFIの設定画面に入ります。
2. 「Power Management」や「Advanced」タブに進み、WOLを「Enabled」に設定します。
Linux側での設定
以下のコマンドで、ネットワークインターフェースがWOLをサポートしているか確認できます。
ethtool [インターフェース名] | grep "Wake-on" # インターフェースのWOL設定を確認
これで`Wake-on: d`または`Wake-on: g`が表示されれば、WOLが有効です。
WOLを有効にするコマンド
sudo ethtool -s [インターフェース名] wol g # WOLを有効にする
WOLの送信方法
LinuxマシンからWOLの信号を送るためには、`wakeonlan`パッケージが便利です。以下のようにインストールします。
sudo apt install wakeonlan # Ubuntu/Debianでのインストール例
WOL送信コマンド
wakeonlan [MACアドレス] # WOLを送信
応用例
1. cronを使って定期的にWOL送信
0 9 * * 1-5 wakeonlan [MACアドレス] # 平日の9:00にWOL送信
2. SSHでリモートからWOL送信
ssh [リモートホスト] 'wakeonlan [MACアドレス]' # SSHでリモートからWOL送信
3. スクリプトで複数マシンにWOL送信
#!/bin/bash
for mac in $(cat mac_list.txt); do
wakeonlan $mac
done # mac_list.txtに記載された全てのMACアドレスにWOLを送信
4. WOL送信後に自動でSSH接続
wakeonlan [MACアドレス] && sleep 60 && ssh [リモートホスト] # WOL送信後に1分待ってからSSH接続
5. サーバの稼働時間を制限
0 9 * * 1-5 wakeonlan [MACアドレス] # 平日の9:00に起動
0 18 * * 1-5 ssh [リモートホスト] 'shutdown now' # 平日の18:00にシャットダウン
まとめ
この記事では、LinuxでのWake-on-LANの基本的な設定と応用例について詳しく解説しました。適切な設定と利用で、遠隔地からでも効率よくシステムを管理することができます。
コメント