マシンは、「net.ipv4.conf.conf」であっても、内部アドレスを取得するために「arp_requests」で応答します。.arp_ignore"はこの機能を無効にするように設定されています。

マシンは、「net.ipv4.conf.conf」であっても、内部アドレスを取得するために「arp_requests」で応答します。.arp_ignore"はこの機能を無効にするように設定されています。

現在、VLANを介してインターネットに接続されているインターフェイスを持つノードがあります。マシンのVLANインタフェースであるeth0、とと呼びます。eth0.100

たとえば、ホストで事前ルーティングを設定しました。

10.250.100.92 dev <internal interface> proto static scope host table 99 

範囲はhostここで設定され、これはmainルーティングテーブルではなくテーブルにあります99ip rule別のテーブルを有効にしました。

また、以下のsysctlオプションも設定しました。

net.ipv4.conf.eth0.arp_ignore=3
net.ipv4.conf.eth0/100.arp_ignore=3

このオプションのドキュメントには次のものがあります。

arp_ignore - INTEGER
    Define different modes for sending replies in response to
    received ARP requests that resolve local target IP addresses:
    0 - (default): reply for any local target IP address, configured
    on any interface
    <<<<< SKIPPED OTHER OPTIONS FOR BREVITY >>>>>
    3 - do not reply for local addresses configured with scope host,
    only resolutions for global and link addresses are replied

私のコンピュータはルーティングに対応するアドレスを持っているので、そのアドレスに対するARP要求に応答してはいけません。ただし、ARP要求が/ comes inをscope host介して来ると、システムはまだARP応答を送信します。別の設定手順がありませんか?上記の文書()によると、コンピュータはこのアドレスに対してARP応答を送信しないでください。eth0eth0.100do not reply for local addresses configured with scope host

ip route編集:これが問題のようです。 ARP応答を送信する必要があるかどうかに関する情報のソースと見なされるプロキシARPエントリがあります。 ARP応答を「無視」できますかip route

関連情報