web-dev-qa-db-ja.com

WOL-インターネット経由でWakeOn Lan

私の問題はかなり具体的になりましたが、おそらくかなり簡単に解決できます。私はインターネット上の多数のガイドに従って、wake on lanをセットアップし、まだ1つの問題がありますが、それを非常にうまく機能させることができました。

LAN経由、さらには3G経由でもコンピューターをウェイクアップできますが、3G経由で送信する場合は、コンピューターをシャットダウンしてから約1〜2分しか送信できません(もっと長くなる可能性があります)。起動しません。

ガイドは、ルーターがしばらくして私のMACアドレスを忘れることについて何か言及しましたが、それが問題である場合、それはプライベートネットワーク上で機能する必要がありますか?そしてこの問題を解決するにはどうすればよいですか?

DIR-615ルーターにDD-WRTをインストールしました。ウェイクアップしたいコンピューターはWindows7Ultimateを実行しています。

3
Joakim Engstrom

WoLは、特別にフォーマットされたイーサネットパケットをコンピュータのMACアドレスに送信することで機能します。ローカルネットワーク(LAN)を使用している場合は、コンピューターのMACアドレスと直接通信でき、WoLは常に問題なく動作します。

ローカルネットワーク外のどこからでも、IPルーティングを利用して、IPカプセル化されたパケットをネットワーク経由で転送してコンピューターに到達します。この転送は、最終ホップ(ルーターからコンピューターへ)でARP(アドレス解決プロトコル)に依存します。

ルーターは、どのIPアドレスがどのMACアドレス(ARPテーブル)にマップされているかを記録します。このアドレスは、定期的に古いエントリが削除されます。

通常のネットワーク操作では、ルーターは最初にARP WHOHASパケットをネットワーク上のすべてのコンピューター(MACアドレスff:ff:ff:ff:ff:ff)に送信し、パケットで指定されたIPアドレスを持つコンピューターに応答するように要求します。 ARPは、問題のIPアドレスを持っていることを示すパケットを持っています。これは、一定期間ARPテーブルにキャッシュされます。

コンピューターが切り替えられた(またはスリープ状態になっている)場合、ネットワークスタックは何も応答できなくなるため、ARP WHOHAS要求は成功せず、ルーターはパケットの送信先を特定できません。したがって、WoLは失敗します。

この問題を回避する方法は2つあります。

  • ルータに静的ARPエントリを設定します

これは、ルーターにMAC-> IPマッピングを永続的に保存する機能がある場合、はるかに簡単です。これにより、ARPがコンピューターのMACアドレスを検出しようとする必要がなくなります。

  • ローカルネットワーク上に、スリープせずにWoLを実行できる別のネットワークデバイスを用意します。

オブジェクトを実際に打ち負かすように見えますが、remote-WoLを実行する唯一の方法である可能性があります。

7
Majenko