Есть некий сервер на убунте, на котором нарезаны несколько виртуалок с помощью lxc.
Настройка в сети в контейнерах сделана вот таким образом:
# Network configuration
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.name = eth0
lxc.network.hwaddr = xx:xx:xx:xx:xx:xx
lxc.network.ipv4.gateway = 1.1.1.1
lxc.network.ipv4 = 7.7.7.7/28
имя интерфейса br0 - это bridge на хостовой машине, к которому цепляются все виртуалки.
Сам бридж описан на хосте вот так:
brctl show
bridge name bridge id STP enabled interfaces
br0 8000.001e67995d81 no eth0
veth4XIW94
veth6Q9BSJ
Создается в /etc/network/interfaces с помощью хитрых строк:
# device: eth0
auto eth0
# device: br0
auto br0
iface br0 inet static
address 1.1.1.1
broadcast 1.1.1.255
netmask 255.255.255.0
gateway 1.2.1.1
# default route to access subnet
up ip route add 7.7.7.7/28 dev br0;
bridge_ports eth0
bridge_fd 0
bridge_maxwait 0
Сам бридж работает, пакеты через него ходят и не теряются. Потерь нет, даже пинговать ip адрес на котором висит br0 (1.1.1.1 в примере)
Однако если делать трейс (команду mtr) видны потери на первом хопе порядка 80%. Первый хоп - это и есть гипервизор (интерфейс br0)
В чем может быть проблема? С какой стороны начинать копать?