ARP テーブルに不完全なエントリと接続損失が表示されます。

ARP テーブルに不完全なエントリと接続損失が表示されます。

4.14.7カーネルを実行するLinuxデバイスがあります。マイデバイスAは、1Gigポートを介してサードパーティ製デバイス(デバイスB)に直接接続されています。 UDHCPD サーバーは dev-A で実行され、常に DHCP 構成に基づいて単一の IP アドレスを割り当てます。

Dev-Aは、マスクが255.255.0.0の172.16.xxにあります。

Dev-B には、Dev-A で動作する UDHCPD の 172.16.100.1 と 255.255.255.0 が割り当てられます。

場合によっては、Dev-Bの「arp」テーブルに「不完全」と表示され、通信が失敗することがあります。この時点で、Dev-BがUDHCPDサーバーから有効なリースを取得したことがわかります。

$arp
?                (172.16.100.1) at   <incomplete>                                         on      br0

pingはDev-Bへの接続を復元します。 「ping」を実行せずにこの問題をどのように解決できますか?

よろしくお願いします。

答え1

「不完全」エントリは、システムが特定のIPアドレスに関連付けられているMACアドレスを認識しない場合に発生します。

デバイスが独自のIPアドレスにARP要求を送信し、そのIPアドレスがすでに使用されていることを確認するARPプローブを使用できます。これはARPキャッシュが正しいMACアドレスに更新されるのを助けます。

LinuxでARPプローブを有効にするには、次のコマンドを使用できます(ネットワークインタフェース名(eth0)に置き換えます)。

ip neigh flush dev <interface> nud permanent

このコマンドは ARP キャッシュをフラッシュし、ARP プローブを送信してエントリを更新します。

関連情報