Linuxの場合 ネットワークインターフェイスの1つのアドレスにパケットを送信する場合 、このパケットは内部でルーティングされ、ネットワーク経由で送信されることはありません。これは、99.99%のケースで正しいことです。
場合によっては、ネットワーク構成をテストするときに、マシン自体をターゲットとして、マシン自体からローカルリンクを介してパケットを送信すると便利なことがあります。これどうやってするの?ポイントツーポイントリンクではないにしても、少なくともイーサネットなどのバスタイプのリンクの場合。私はIPパケット(IPv4とIPv6の両方)にのみ興味があります。
Linux上の各ネットワークアダプタには、sysctlブールパラメータaccept_local
(/proc/sys/net/ipv4/conf/eth0/accept_local
)があります。関連するすべてのアダプタに対して0に設定してみてください(さらに、テスト設定に合わせてルーティングテーブルを変更する必要がある場合があります)。
また、rp_filter
(/proc/sys/net/ipv4/conf/eth0/rp_filter
)が有効になっていることを確認してください(0ではありません)。
参照: http://code.metager.de/source/xref/linux/stable/Documentation/networking/ip-sysctl.txt