UbuntuでのWake-on-LAN設定とトラブルシューティング|遠隔起動を簡単に

1. Wake-on-LAN(WoL)とは?

WoLは「Magic Packet」と呼ばれる特別なネットワークパケットを送信することで、リモートからPCを起動する技術です。例として、サーバーの遠隔管理や在宅勤務時のPCアクセスなど、さまざまなシチュエーションで役立ちます。

2. WoL対応ハードウェアの確認

WoLを利用するには、WoLに対応したネットワークカードやマザーボードが必要です。確認にはethtoolコマンドを使用します。

ネットワークカードの確認手順

  1. ethtool <ネットワークデバイス名>を実行して、WoLがサポートされているかを確認します。結果に「Supports Wake-on: g」が含まれていれば、Magic Packetによる起動が可能です。
  2. 結果に「d: Disabled」が表示される場合は、BIOSやネットワークカードのドライバでWoLが無効になっている可能性があるため、後述するトラブルシューティングの手順に従って設定を確認してください。

3. BIOSでのWoL設定

BIOSでWoLを有効にする必要があります。以下は一般的な設定手順です。

BIOSでの設定手順

  1. PCを再起動し、F2F12DelなどでBIOSにアクセス。
  2. 「Wake-on-LAN」または「Wake on PCI Event」などの項目を有効に設定します。
  3. Deep Sleepモードがある場合は、これを無効にすることでWoLの動作が改善します。

4. UbuntuでのWoL設定

Ubuntuでは、NetworkManagerまたはethtoolのどちらかを使ってWoLを有効化します。

NetworkManagerを使用した設定手順

  1. nmcli connection showで現在の接続名を確認し、以下のコマンドでWoLを有効化します。
   nmcli connection modify "<接続名>" 802-3-ethernet.wake-on-lan magic

ethtoolを使用した設定手順

  1. ethtool --change <ネットワークデバイス名> wol gでMagic Packetを有効にします。
  2. 設定を永続化するために、/etc/network/interfacesファイルにup ethtool -s <デバイス名> wol gを追加するか、systemdユニットを作成してブート時に自動適用させると便利です。

5. 一般的なエラーメッセージとその対処法

WoL設定中に発生しやすいエラーメッセージについて、原因と対処法を紹介します。

netlink error: cannot enable unsupported WoL mode

  • 原因:ネットワークカードまたはBIOSがWoLをサポートしていない場合に発生します。
  • 対処法:BIOS設定でWoL機能が有効になっているか確認し、必要であればWoL対応のネットワークカードを使用してください。

Wake-on: dと表示される場合

  • 原因:WoLが無効化されています。
  • 対処法:BIOSでWoLを有効にし、ethtool --change <デバイス名> wol gコマンドで有効にしてください。それでも無効の場合、ネットワーク設定の永続化も確認してください。

Magic Packetが届かない

  • 原因:ネットワーク設定やルーターがWoLパケットのブロードキャストを制限している可能性があります。
  • 対処法tcpdump -i <ネットワークデバイス名> 'udp and port 9'でMagic Packetが受信されているか確認します。また、WoLが同一ネットワーク内でのみ有効であることを確認してください。

リンクライトが点灯しない

  • 原因:ネットワークアダプタに電力が供給されていないことが原因です。
  • 対処法:BIOS設定でDeep Sleepや省電力モードが無効になっているかを確認し、WoLが動作するよう調整します。

6. リモートからのWoLテストと実行方法

WoL設定後、wakeonlanetherwakeを使用してリモートからMagic Packetを送信し、WoLが正常に動作するかをテストできます。

wakeonlanツールのインストールと使用方法

  1. wakeonlanツールをインストールします。
   sudo apt install wakeonlan
  1. 以下のコマンドでMACアドレスを指定してMagic Packetを送信します。
   wakeonlan <MACアドレス>
  1. etherwakeも使用可能です。sudo etherwake <MACアドレス>コマンドで実行できます。これにより、Magic Packetが送信され、WoLが正しく機能するか確認できます。

7. トラブルシューティングと補足情報

以下の追加トラブルシューティングも参考にしてください。

  • AC電源の確認:WoLは通常バッテリー駆動中には動作しません。ノートPCの場合、必ずAC電源が接続されていることを確認してください。
  • ネットワーク管理ツールの整合性:NetworkManagerやsystemd-networkdでWoL設定がリセットされる場合もあるため、各ツールでの設定が整合していることを確認します。