現在、Ubuntu ボックスの WOL 設定に苦戦しています。HTTP/SVN サーバーを未使用時にスリープ状態にしておき、アクセスがあったときに起動させるというアイデアです。これまでのところ、Wake-on-LAN は動作しており、起動時にアクティブ化されています。
Settings for eth1:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: Not reported
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
MDI-X: Unknown
Supports Wake-on: pg
Wake-on: pg
Current message level: 0x0000003f (63)
Link detected: yes
ご覧のとおり、wol p
フラグ (「物理的なアクティビティで起動」) も設定しました。私の想定では、マジック パケットだけでなく、あらゆるネットワーク アクセスでデバイスを起動できるはずでした。しかし、これは間違っているようです。
では、この旗は何を意味しているのでしょうか。また、これを私の邪悪な計画のために悪用するにはどうすればいいのでしょうか。
答え1
注: この質問は4年以上前に投稿されたものですここ4 年以上経ってからなぜ賞金がもらえるのかはわかりませんが、おそらく WOL パッケージを受け取ったのでしょう ;-)
のethtool マニュアル言う:
wol p|u|m|b|a|g|s|d...
Set Wake-on-LAN options. Not all devices support this. The
argument to this option is a string of characters specifying
which options to enable.
p Wake on phy activity
u Wake on unicast messages
m Wake on multicast messages
b Wake on broadcast messages
a Wake on ARP
g Wake on MagicPacket(tm)
s Enable SecureOn(tm) password for MagicPacket(tm)
d Disable (wake on nothing). This option clears all previous
options.
PHYアクティビティとは、PHYチップ、物理層での通信を処理するOSIモデル簡単に言えば、このネットワーク デバイスに直接送信されるパッケージはすべて、マシンを起動するはずです。
Wake on PHY が機能するには、次の条件を満たす必要があります。
- ネットワークデバイスがこれをサポートしていますそしてネットワーク ドライバーはこれをサポートしています。 ethtool がパラメーターを設定する前にこれを徹底的にチェックしているかどうかはわかりません。 この特定の機能がサポートされているかどうかを確認するには、マニュアル/仕様を確認してください。
- シャットダウン後もイーサネット カードはオンのままです (LED ライトが点灯しているはずです)。そうでない場合は、OS がカードをシャットダウンしていないことを確認してください (ほとんどの Linux ディストリビューションでは にインストールされています
NETDOWN=no
)/etc/default/halt
。 - wol 設定はスリープ/シャットダウン後も保持されます。
- BIOS 設定で wol が有効になっています。
また、デフォルトのARPタイムアウトは30秒であることに注意してください(このSUの投稿)。その後、物理パッケージの送信元のマシンでは、ターゲット マシンの IP アドレスが忘れられます。パッケージの送信元のマシンに静的 ARP アドレスが設定されていることを確認してください。
これで、任意の指示されたリクエスト (ping、http、ssh、wol パッケージなど) によりマシンが起動するはずです。
答え2
あなたの推測は正しいと思います。デバイスを起動するために設定できるさまざまなイベントがあります。残念ながら、ethtool のドキュメントでは p フラグについてあまり明確ではありません。
問題を分析するのに役立つ質問がいくつかあります。マシンをシャットダウンしたときに、ネットワーク カードがまだ実行中であること (LED が点滅していること) を確認できますか? 同じサブネット内から、またはルーター経由でマシンを起動しようとしていますか? どのように起動しようとしていますか? 同じネットワークでネットワーク スニファー (Wireshark) を使用して、データが実際にサブネットに送信されていることを確認できますか?