Назад | Перейти на главную страницу

Виртуализация KVM с двумя мостами, требуется, чтобы маршрутизация использовала каждый мост, как отображено в KVM

Кажется, я не могу найти существующий вопрос, подобный моему сценарию. Я использую 2 публичных моста для 4 виртуальных машин. Две виртуальные машины на каждое устройство моста. Статистика интерфейса показывает, что для входящего трафика используется назначенный мост для виртуальной машины, но исходящий проходит только через первый мост.

# cat /etc/network/interfaces 

# The loopback network interface
auto lo
iface lo inet loopback

pre-up iptables-restore < /etc/firewall-rules

auto br0
iface br0 inet dhcp
    bridge_ports    eth0
    bridge_stp      off
    bridge_maxwait  0
    bridge_fd       0

auto br1
iface br1 inet dhcp
    bridge_ports    eth1
    bridge_stp      off
    bridge_maxwait  0
    bridge_fd       0


#  brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.a4badb4e3949       no              eth0
                                                        vnet0
                                                        vnet2
br1             8000.a4badb4e394a       no              eth1
                                                        vnet1
                                                        vnet3
# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         vlan-200.mydoma 0.0.0.0         UG    0      0        0 br0
XXX.YYY.200.0   *               255.255.248.0   U     0      0        0 br0
XXX.YYY.200.0   *               255.255.248.0   U     0      0        0 br1

Маршрутизация имеет смысл с тем, что я вижу: весь исходящий трафик, за исключением подсети 200, будет использовать br0.

Как его можно настроить так, чтобы исходящий трафик гостевых KVM на br1 действительно использовал br1 в качестве шлюза? Текущая настройка работает нормально, но я бы предпочел назначить мосты виртуальным машинам как их собственный полный шлюз, поэтому br1 лучше использовать для пакетов TX.

Если интерфейсы находятся в одной подсети, свяжите их. В противном случае, если у виртуальных машин нет маршрутов, пересекающих второй мост, они никогда не будут его использовать. Похоже, они находятся в одной подсети, и в этом случае следуйте этому руководству:

https://wiki.debian.org/Bonding