
トランクテスト環境について具体的な質問があります。次のようなネットワーク設定があります。
+------------+ +------------+
| | +-----+ | |
| eth0 +----+ br0 +----+ eth0 |
| | +-+---+ | |
| Guest1 | | | Guest2 |
| | +-----+ | |
| eth1 +----+ br1 +----+ eth1 |
| | +---+-+ | |
+------------+ | | +------------+
+-+-+--+
| Host |
+------+
KVM ホストは、ゲスト マシンに対して 2 つのブリッジを提供します (/etc/network/interfaces)。
auto br0
iface br0 inet manual
bridge_ports none
bridge_fd 0
bridge_stp off
auto br1
iface br1 inet manual
bridge_ports none
bridge_fd 0
bridge_stp off
ゲスト マシンは次の構成でスイッチに接続します。
# Actual interfaces
allow-hotplug eth0 eth1
iface eth0 inet manual
iface eth1 inet manual
# Internet facing network
auto eth0.100 eth1.100
iface eth0.100 inet manual
iface eth1.100 inet manual
auto bond0
iface bond0 inet manual
bond_mode active-backup
bond_miimon 200
bond_downdelay 200
bond_updelay 200
# Something I found to make the active secondary slave listening
post-up echo 1 > /sys/devices/virtual/net/bond0/bonding/all_slaves_active
slaves eth0.100 eth1.100
auto bond0.1
address 10.110.0.10x
netmask 255.255.0.0
# Please don't ask why the three vlan is needed.
# The bonding works only if these three are defined :\
今、私の問題は次のとおりです:
デフォルトのプライマリスレーブは、両方のゲストのeth0.100インターフェースです。次のコマンドでプライマリスレーブをシャットダウンすると
$ ip link set eth0.100 down
「ip link」に従ってリンクがダウンし、ボンドによってプライマリスレーブが変更されますが、非アクティブなインターフェースでパケットが受け入れられます。(「tshark -i eth1.100」を実行してこれを発見しましたが、ping 応答メッセージのみが表示されました。)
ホスト マシンのインターフェイスを閉じると、ゲスト間の通信全体が停止します。ボンドでも変更が認識されません。
追加情報:
- このインターフェース上のパッケージをブロックするIPTables/EBTablesルールがありません
- ブロードキャスト モードはすべての問題を解決するのに役立つことはわかっていますが、2 人のゲスト間の通信が膨れ上がると思います。そのオプションは使用しないほうがいいと思います。
質問:
- 「ip link set ... down」でリンクが閉じられないのはなぜですか?
- all_slaves_active に干渉すると、何らかの形でインターフェースのステータスに影響が出る可能性はありますか?
- アクティブバックアップにインターフェースの変更を認識させるオプションを見落としている可能性はありますか?
- (そして、ボンディングを機能させるために 3 つの VLAN が必要なのはなぜですか?)
どんな返信でも歓迎します。