web-dev-qa-db-ja.com

Linuxブリッジが間違ったインターフェースでarpに応答しますか?

監視目的でサイレントブリッジを構築しようとしています。私のコンピューターはlinux2.6、brctl 1.4を実行しており、NICは3つあります。
eth0、割り当てられたIP、SSHメンテナンスに使用
eth1、およびeth2、ブリッジbr0の2つのポート

すべてetc/network/interfacesに設定されています:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        address 192.168.1.120
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 192.168.1.255
        gateway 192.168.1.254

auto br0
iface br0 inet manual
        bridge_ports eth1 eth2
        bridge_maxwait 0
        bridge_stp off

このようにして、eth0とeth1の両方がローカルネットワークに接続されます(eth2はゲートウェイに接続されます)。ただし、IPアドレスを持つのはeth0だけです。

ブリッジは正常に機能しており、tcpdump -ibr0またはその他のツールを使用してトラフィックを監視できます。

ブリッジにはIPアドレスがないため、トラフィックを送信しないでください。ただし、eth0ではなくarpリクエストに応答する場合があります。

macアドレスのeth0が00:01:02:ab:00:00で、eth1が00:01:02:ab:00:01であると仮定すると、これは、wiresharkを実行しているローカルステーションで取得するものです。

packet no time   source    dest   protocol info
    4303  1063.539943 00:01:02:ab:00:01 Giga-Byt_46:d9:fe ARP 192.168.1.120 is at 00:01:02:ab:00:01
    4305  1063.539958 00:01:02:ab:00:00 Giga-Byt_46:d9:fe ARP 192.168.1.120 is at 00:01:02:ab:00:00

私の「実際の」IPインターフェースは数ミリ秒後に応答するので、そうではありませんでした...どうすればこの問題を解決できますか?

3
dev.pollux

http://kb.linuxvirtualserver.org/wiki/Using_arp_announce/arp_ignore_to_disable_ARP ブリッジにarp要求に応答しないように依頼する場合は、役立つはずです。

4
Dom

/ proc/*/arp_ignoreを使用する以外の別のオプションは、eth0インターフェイスを削除し、IPアドレスをブリッジに配置することです。

auto br0
iface br0 inet manual
        bridge_ports eth1 eth2
        bridge_maxwait 0
        bridge_stp off
        address 192.168.1.120
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 192.168.1.255
        gateway 192.168.1.254

個人的には、インターフェイスが直接ブリッジ上にあるため、これにより概念的に単純化されると思います。

1