
У меня есть очень конкретный вопрос по среде тестирования магистрали. У меня есть такая настройка сети:
+------------+ +------------+
| | +-----+ | |
| eth0 +----+ br0 +----+ eth0 |
| | +-+---+ | |
| Guest1 | | | Guest2 |
| | +-----+ | |
| eth1 +----+ br1 +----+ eth1 |
| | +---+-+ | |
+------------+ | | +------------+
+-+-+--+
| Host |
+------+
Хост KVM обслуживает два моста для гостевых машин (/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-reply.)
Если я закрою интерфейс на хостовой машине, вся связь между гостями прекратится. Даже связь не распознает изменения.
Дополнительная информация:
- У меня нет правила IPTables/EBTables для блокировки пакетов на этом интерфейсе.
- Я знаю, что режим трансляции помог бы со всеми моими проблемами, хотя я думаю, что он делает общение между двумя гостями раздутым. Я бы предпочел не использовать эту опцию.
Вопросы:
- Почему команда «ip link set ... down» не закрывает ссылку?
- Возможно ли, что вмешательство в all_slaves_active каким-то образом влияет на состояние интерфейса?
- Есть ли какая-то опция, которую я мог упустить, и которая позволяет активному резервному копированию осознать изменение интерфейса?
- (И зачем мне три VLAN, чтобы соединение работало?)
Мы будем признательны за любой ответ.