ethtool、WOL: 「身体活動による起動」とは実際には何を意味し、どのように使用できますか?

ethtool、WOL: 「身体活動による起動」とは実際には何を意味し、どのように使用できますか?

現在、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) を使用して、データが実際にサブネットに送信されていることを確認できますか?

関連情報