Задать вопрос

Потери пакетов на bridge?

Есть некий сервер на убунте, на котором нарезаны несколько виртуалок с помощью 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)
В чем может быть проблема? С какой стороны начинать копать?
  • Вопрос задан
  • 950 просмотров
Подписаться 4 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@throughtheether
human after all
Однако если делать трейс (команду mtr) видны потери на первом хопе порядка 80%.
Если при этом на последнем хопе нет "потерь", если рабочий трафик обрабатывается нормально (без потерь пакетов), то не думаю, что это вообще проблема, скорее косметический нюанс.

С какой стороны начинать копать?
Не являюсь знатоком сетевой подсистемы Linux, но предположу, что имеет место ограничение ICMP-трафика, сгенерированного хостом. Проверьте параметры ядра:
/proc/sys/net/ipv4/icmp_ratelimit
/proc/sys/net/ipv4/icmp_ratemask
/proc/sys/net/ipv4/icmp_msgs_per_sec
/proc/sys/net/ipv4/icmp_msgs_burst
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы