Debian не отключает интерфейс с установленным IP-соединением ...

Debian не отключает интерфейс с установленным IP-соединением ...

У меня есть очень конкретный вопрос по среде тестирования магистрали. У меня есть такая настройка сети:

+------------+               +------------+
|            |    +-----+    |            |
|       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, чтобы соединение работало?)

Мы будем признательны за любой ответ.

Связанный контент