Вопрос или проблема
После изменения подсетей для сетевого интерфейса NIC, подключенного к LAN/WAN (соединение 1), ipmitool по нашей управленческой сети (соединение 2) перестал работать. Он настроен на другом интерфейсе, конфигурация которого не изменялась. На сервере есть Ethernet-соединение управленческой сети (2) и третье проводное волоконное соединение (3), объединенные в мост для нескольких виртуальных машин qemu, работающих на нем. Это на сервере с CentOS 7, который был настроен до моего прихода.
Изменение подсети для LAN/WAN может быть только косвенно связано, так как это совпало с первым перезапуском сетевых служб на сервере с тех пор, как я начал с ним работать. Запуск tcpdump на каждом интерфейсе показывает, что пакеты ipmitool выбираются через соединение 3, вместо Ethernet NIC (2), с которым он соединен.
Чтобы подвести итог, возможно, менее запутанным образом:
eno1 – Ethernet для управленческой сети IPMI
enp33s0f1 – волокно для LAN/WAN
enp33s0f0 – волокно для старой сети доступа (остаток от времени, когда соединение LAN/WAN находилось на другой подсети)
Сетевое объединение:
eno1 и enp33s0f0 в br0 с IP:
10.10.10.1/24 (сеть доступа)
10.10.20.1/24 (управленческая сеть IPMI)
enp33s0f1d1 в br1 с IP:
10.10.50.3/16 (LAN/WAN)
10.10.0.1 шлюз
Таблица маршрутизации:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.10.0.1 0.0.0.0 UG 425 0 0 br1
10.10.0.0 0.0.0.0 255.255.0.0 U 425 0 0 br1
10.10.10.0 0.0.0.0 255.255.255.0 U 426 0 0 br0
10.10.20.0 0.0.0.0 255.255.255.0 U 424 0 0 br0
Чтобы локализовать проблему на сервере, я переместил Ethernet-кабель управленческой сети с сервера на ноутбук, установил IP ноутбука как 10.10.20.1 и смог успешно использовать ipmitool для устройств в 10.10.20.0/24. Что касается изменения подсети: enp33s0f1d1 был на 10.70.10.0/16 ранее, в то время мы могли управлять другими серверами в управленческой сети 10.10.20.0/24, используя ipmitool без проблем. После изменения br1 на 10.10.50.3 и перезапуска сетевых служб ipmitool больше не работает.
Детали tcpdump: запущен tcpdump -i [интерфейс] dst 10.10.20.53 на eno1, enp33s0f0 и enp33s0f1d1 во время попытки инициировать соединение ipmi с 10.10.20.53. Все пакеты отправлялись через enp33s0f0, когда они должны были выходить через eno1. Я думаю, что мы упускаем что-то простое, но меня смущает объединение и маршрутизация. Буду благодарен за мысли или помощь.
Ответ или решение
Разрешение проблем с ipmitool в CentOS 7 при использовании мостовых интерфейсов
Введение
Ваша проблема связана с использованием инструмента ipmitool
для управления серверами на сети управления, которая была настроена на CentOS 7. После изменения подсетевого адреса для интерфейса LAN/WAN и перезапуска сетевых служб вы столкнулись с тем, что пакеты ipmitool
отправляются через неожиданный интерфейс. В данной статье мы рассмотрим возможные причины этой проблемы и предложим шаги для её решения.
Контекст проблемы
Как мы видим, ваша система имеет несколько сетевых интерфейсов, которые сконфигурированы для работы в мосте:
eno1
– Ethernet для сети управления IPMI,enp33s0f1
– волоконный интерфейс для LAN/WAN,enp33s0f0
– волоконный интерфейс для старой сети доступа,br0
– мост, объединяющийeno1
иenp33s0f0
с IP-адресами10.10.10.1/24
(сеть доступа) и10.10.20.1/24
(сеть управления IPMI),br1
– мост сenp33s0f1d1
, имеющий IP-адрес10.10.50.3/16
(LAN/WAN).
Ваши маршруты выглядят корректными, с дорожкой к IP-адресам управления и доступа. Однако после изменения адреса для LAN/WAN ipmitool
перестал функционировать.
Почему пакеты отправляются через не тот интерфейс
Существует несколько возможных причин, по которым пакеты ipmitool
могут отправляться через enp33s0f0
вместо eno1
:
-
Настройки маршрутизации:
Ваша маршрутизация может приоритизироватьbr1
из-за его более низкого метрика. Когда вы отправляете пакеты на10.10.20.53
, система может решить, что наилучший путь для достижения этого IP-адреса проходит черезbr1
, что и приводит к отправке пакетов черезenp33s0f0
. -
Таблица маршрутов приложения:
Приложениеipmitool
может выбирать интерфейс на основании своего собственного понимания маршрутизации, возможно, принимая во внимание недавние изменения в таблице маршрутов. -
Правила桥ения:
В зависимости от конфигурации мостов и их состояния, могут возникать ситуации, когда неправильно обрабатывается сетевой трафик. Например, если на одном из интерфейсов включена функция фильтрации пакетов, это может повлиять на отправляемые вами пакеты.
Шаги для устранения проблемы
-
Проверка маршрутов:
Используйте командуroute -n
илиip route show
для проверки таблицы маршрутов. Убедитесь, что маршруты соответствуют вашим ожиданиям, и что интерфейсeno1
имеет правильный приоритет для сетевого трафика управления. -
Добавление маршрута для IPMI:
Если проблема сохраняется, попробуйте явно указать маршрут для IP-адреса10.10.20.53
черезeno1
:ip route add 10.10.20.53/32 dev eno1
-
Настройки мостов:
Проверьте конфигурацию мостов, чтобы убедиться, что они корректно настроены и работают должным образом. Используйтеbrctl show
для демонстрации текущих мостов и их настройки. -
Тестирование с использованием iptables:
Убедитесь, что нет правилiptables
, которые могут блокировать или перенаправлять трафик. Для тестирования временно отключитеiptables
:systemctl stop iptables
-
Перезапустите сетевые службы:
Если вы внесли изменения в маршруты или настройки интерфейсов, перезапустите сетевые службы:systemctl restart network
-
Дополнительные проверки с Tcpdump:
Запуститеtcpdump
на соответствующих интерфейсах снова, чтобы убедиться, что пакеты отправляются правильно после внесенных изменений.
Заключение
Решение проблемы с ipmitool
, которая отправляет пакеты через неправильный интерфейс, заключается в тщательном изучении конфигурации сетевых интерфейсов и маршрутов. Обратите внимание на изменения, произошедшие после обновления сетевых настроек и перезапуска сетевых служб. Следуй предложенным шагам, чтобы локализовать и устранить проблему, и вернуть функциональность ipmitool
для эффективного управления серверами. Если проблемы сохраняются, может потребоваться более глубокое расследование для выявления возможных конфликтов в конфигурации сети.