Вопрос или проблема
Я настроил интерфейс br0 на ubuntu (24.04 – размещен на ESXI) с двумя интерфейсами, подключенными к 2 коммутаторам.
/etc/netplan/90-NM-<>.yaml
:
bridges:
br0:
dhcp4: yes
interfaces:
- ens224
- ens161
parameters:
stp: false
Я замечаю, что, хотя STP отключен, порты перемещаются между состояниями fwding/blocking и приводят к сбоям.
root@labuser-VMware:/etc/netplan# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.be8029b6871b no
root@labuser-VMware:/etc/netplan#
Фрагмент dmesg:
root@labuser-VMware:/etc/netplan# dmesg | tail -10
[163541.024614] vmxnet3 0000:13:00.0 ens224: вошел в режим allmulticast
[163541.024772] vmxnet3 0000:13:00.0 ens224: вошел в режим promiscuous
[163541.024873] br0: порт 2(ens224) вошел в состояние blocking
[163541.024876] br0: порт 2(ens224) вошел в состояние forwarding
[163586.003912] vmxnet3 0000:04:00.0 ens161: вышел из режима allmulticast
[163586.004186] vmxnet3 0000:04:00.0 ens161: вышел из режима promiscuous
[163586.004465] br0: порт 1(ens161) вошел в состояние disabled
[163586.010169] vmxnet3 0000:13:00.0 ens224: вышел из режима allmulticast
[163586.010324] vmxnet3 0000:13:00.0 ens224: вышел из режима promiscuous
[163586.010510] br0: порт 2(ens224) вошел в состояние disabled
Ответ или решение
Проблема с состоянием интерфейсов в мосте br0 на Ubuntu 24.04
При использовании Ubuntu 24.04 на виртуальной машине ESXi и настройке интерфейса br0
с двумя физическими интерфейсами, подключенными к двум коммутаторам, возникла проблема, связанная с изменением состояния портов между режимами передачи и блокировки, даже при отключенном протоколе STP (Spanning Tree Protocol). Это может привести к кратковременным отключениям сети и нарушениям в работе приложений. Давайте проанализируем данную ситуацию подробнее.
Основные параметры конфигурации
Ваша конфигурация мостового интерфейса br0
выглядит следующим образом:
bridges:
br0:
dhcp4: yes
interfaces:
- ens224
- ens161
parameters:
stp: false
По команде brctl show
видно, что STP действительно отключен:
bridge name bridge id STP enabled interfaces
br0 8000.be8029b6871b no
Тем не менее, в выводе команды dmesg
наблюдаются сообщения о том, что порты ens224
и ens161
переходят в состояния блокировки и передачи:
br0: port 2(ens224) entered blocking state
br0: port 2(ens224) entered forwarding state
br0: port 1(ens161) entered disabled state
Возможные причины проблемы
-
Настройки на коммутаторах: Если ваши коммутаторы продолжают отправлять BPDUs (Bridge Protocol Data Units), это может вызвать изменения в состоянии портов даже при отключенном STP на уровне хоста. Убедитесь, что STP на обеих коммутаторах также отключен, если вы не планируете его использовать.
-
Проблемы с коммутируемыми портами: Порты на коммутаторах могут быть настройками с определенными параметрами (например, автоопределение режимов работы), которые могут конфликтовать с настройками вашего хоста. Проверьте, что порты, к которым подключены интерфейсы
ens224
иens161
, не имеют конфликтующих настроек. -
Совместимость драйверов: Иногда драйверы виртуальных сетевых интерфейсов, такие как
vmxnet3
, могут иметь свои особенности в работе. Проверьте наличие обновлений или патчей для драйверов, чтобы убедиться, что вы используете самую последнюю версию. -
Посмотрим, включены ли параметры promiscuous mode и all-multicast mode: Эти режимы могут повлиять на поведение сети. Возможно, имеется логическая ошибка в ожиданиях о том, как будет работать ваше сетевое оборудование.
Рекомендации для решения проблемы
-
Отключите STP на коммутаторах: Проверьте настройки обоих коммутаторов, убедитесь, что STP отключен, если вы не намерены его использовать.
-
Пересмотрите настройки интерфейсов: Убедитесь, что параметры всех интерфейсов, включая их режимы и связь с коммутаторами, корректны. Порты на коммутаторах должны быть настроены в режим «Access» или «Trunk», в зависимости от требований вашей сети.
-
Мониторинг состояния: Установите сетевые мониторинговые инструменты, чтобы отслеживать изменения состояний портов и выявлять паттерны, которые приводят к изменениям.
-
Логирование и анализ: Изучите логи системы и коммутаторов, чтобы выявить возможные причины проблем и устранить их.
Заключение
Для решения проблемы с интерфейсами в мостовом соединении br0
на Ubuntu 24.04 необходимо комплексно подойти к анализу сетевой инфраструктуры. Проверьте настройки как на хосте, так и на коммутаторах, чтобы избежать конфликта протоколов и обеспечить стабильность работы сети. Регулярный мониторинг и анализ состояния сети также помогут вам предотвратить подобные проблемы в будущем.