web-dev-qa-db-ja.com

PXEブートVMが積極的にReverse ARPを探すのはなぜですか?

Reverse ARP is ..ええと、私が知る限り、ほとんど死んでいますか?プロトコルを殺すというインターネットの素晴らしいサクセスストーリーの1つですか?ほぼ30年間、BOOTP(および後にDHCP)を優先して非推奨になりました。

そのため、DHCPを介して完全に適切なIPアドレスを取得した後でも、PXEブート中にRARPを介して容赦なくIPアドレスを要求するVMに気づいたことに少し驚きました。


ブートの開始時に、送信される最初のブロードキャストパケットはReverse ARPパケットであり、直後にDHCPブロードキャストが続きます。

20:31:19.408086 ARP, Reverse Request who-is 00:0c:29:20:fd:ce tell 00:0c:29:20:fd:ce, length 46
20:31:19.441857 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:0c:29:20:fd:ce, length 548
20:31:19.443536 IP 192.168.100.1.67 > 255.255.255.255.68: BOOTP/DHCP, Reply, length 300

どうやら、最初のDHCP応答は別の応答を待つため(ブロードキャストパケットのみをキャプチャしているため、tcpdumpはDHCP会話の残りの部分を認識しないことに注意してください)、送信する前ではありません。 RARPリクエストの別のカップル:

20:31:19.935341 ARP, Reverse Request who-is 00:0c:29:20:fd:ce tell 00:0c:29:20:fd:ce, length 46
20:31:20.935426 ARP, Reverse Request who-is 00:0c:29:20:fd:ce tell 00:0c:29:20:fd:ce, length 46
20:31:21.500371 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:0c:29:20:fd:ce, length 548
20:31:21.501288 IP 192.168.100.1.67 > 255.255.255.255.68: BOOTP/DHCP, Reply, length 300
20:31:21.504278 ARP, Request who-has 192.168.100.40 tell 192.168.100.6, length 46
20:31:22.935467 ARP, Reverse Request who-is 00:0c:29:20:fd:ce tell 00:0c:29:20:fd:ce, length 46

わかりました。 IPを取得し、PXEサーバーに対してARPを実行して、TFTPを起動できるようにしました。最後に別のRARPをそこに忍び込ませます。これで、pxelinux環境に完全に移行しました。

pxe

その後?最後のリクエストからちょうど1秒後の別のRARPリクエスト。

20:31:23.935340 ARP, Reverse Request who-is 00:0c:29:20:fd:ce tell 00:0c:29:20:fd:ce, length 46

そしてもう1つ、ちょうど2秒後。

20:31:25.935384 ARP, Reverse Request who-is 00:0c:29:20:fd:ce tell 00:0c:29:20:fd:ce, length 46

そしてその後、いくつかの。 3秒後、5秒後、8秒、13秒、21秒..そしてその時点でようやく治まります。

20:31:28.935548 ARP, Reverse Request who-is 00:0c:29:20:fd:ce tell 00:0c:29:20:fd:ce, length 46
20:31:33.935518 ARP, Reverse Request who-is 00:0c:29:20:fd:ce tell 00:0c:29:20:fd:ce, length 46
20:31:41.935633 ARP, Reverse Request who-is 00:0c:29:20:fd:ce tell 00:0c:29:20:fd:ce, length 46
20:31:54.935970 ARP, Reverse Request who-is 00:0c:29:20:fd:ce tell 00:0c:29:20:fd:ce, length 46
20:32:15.936232 ARP, Reverse Request who-is 00:0c:29:20:fd:ce tell 00:0c:29:20:fd:ce, length 46

Pxelinux環境では、動作中のIPアドレスがすでにそのNICにバインドされています。


それで、誰かがこのVM(または、少なくとも4.1と5.0のすべてのESX(i)VM)が何を考えているかを知っていますか?

エミュレートされたE1000とvmxnet3デバイスの両方で発生することを確認しました。これは、VMware PXEコードのちょっとした「特別な」動作ですか、それとも古いPXEコードの典型的な動作ですか。

プロトコルとしてPXEサーバー情報を提供できないため(私が知る限り)、RARPを探すことはまったく意味がありますか?

PXEデバイスがどのように反応するかを確認するには、弾丸を噛んでrarpdを設定する必要がありますか?

2
Shane Madden

私は間違っているかもしれませんが、vswitchで「スイッチの通知」構成がオンになっている場合(デフォルトではオン)、これはvkernelによって送信されたRARPパケットのようです。

3
Sergei