web-dev-qa-db-ja.com

ボンディング+ブリッジ:間違ったインターフェースを通過するトラフィック

私はUbuntuサーバー12.04を使用しており、2つのバンドルにグループ化された6つのNICを備えたサーバーで使用しています。

  • eth0およびeth2は、IP [ネットワーク]を持つインターフェイス名bond0の下で、ボンディングモード1を使用してバンドルされます。
  • eth1、eth3、eth4、およびeth5は、インターフェイス名bond1で、ボンディングモード4(802.3ad)を使用してバンドルされます

bond1は、VMをネットワークに接続するために使用されます。これは、IP [network]を持つbr0を介してブリッジされます。

現在、ネットワークから[network] .5にpingを実行すると、すべてが機能しているように見えますが、VMにはネットワークアクセスがありません。

しばらく調べた後、br0のIP([network] .5)がbond1のMACアドレスに関連付けられていることに気付きました。

arping <[network].5>

返却値

Unicast reply from <[network].5> [<bond0's MAC address>]  0.710ms

また、[network] .5をpingしている間:

tcpdump -i br0 icmp

ICMPトラフィックを表示しません。

tcpdump -i bond1

トラフィックも表示しませんが、

tcpdump -i bond0

pingを使用して送信しているICMPパケットを示しています。

パケットが間違ったチューブに送信されることは明らかです。ここでの私の質問は:なぜそうなのか、どうすれば修正できるのか?

/ etc/network/interfacesファイルの内容は次のとおりです。

# bond0 part :

auto eth0
    iface eth0 inet manual
    bond-master bond0

auto eth2
    iface eth2 inet manual
    bond-master bond0

auto bond0
    iface bond0 inet static
    address [network].8
    gateway [network].254
    netmask 255.255.254.0
    # bonding mode 1 :
    bond-mode balance-rr
    bond-slaves none

auto eth1
    iface eth1 inet manual
    bond-master bond1

auto eth3
    iface eth3 inet manual
    bond-master bond1

# bond1 and br0 part :

auto eth4
    iface eth4 inet manual
    bond-master bond1

auto eth5
    iface eth5 inet manual
    bond-master bond1

auto bond1
    iface bond1 inet manual
    # bonding mode 4 :
    bond-mode 802.3ad
    bond-slaves none
    bond-miimon 100
    bond-downdelay 200
    bond-updelay 200        
    bond_xmit_hash_policy layer2
    bond_lacp_rate fast

auto br0
    iface br0 inet static
    address [network].5
    netmask 255.255.254.0
    gateway [network].254
    bridge_ports bond1
    bridge_maxwait 5
    bridge_stp off
    bridge_fd 0

その点に注意してください :

  • スイッチ側で802.3adリンク集約が構成されています
  • 適切なポートが接続されていることを複数回検証しました
  • 同じ問題は、まったく同じハードウェア+ソフトウェア構成の2台のサーバーで発生します

[EDIT]数回再起動すると、逆のことが起こります。bond0はbond1のMACアドレスに関連付けられます。これはランダムに発生するようです。その場合、ブリッジの背後にあるVMはネットワークとインターネットにアクセスできます。

2
iodbh

さらに検索した後、私の問題の根本はここで議論されているもののようです:

Serverfault:arp応答は常に単一のNICに送信されます

この質問ははるかに正確であり、いくつかの答えがあるので、私と同じ問題がある場合はここで確認する必要があります

1
iodbh