NetworkManager не активирует интерфейс после перезагрузки.

Вопрос или проблема

Я создаю мост OVS с помощью:

# ovs-vsctl add-br br-int

Это создает сетевое устройство, которое я могу увидеть в ifconfig. Затем я создаю соединение NetworkManager и активирую его:

# nmcli connection add type generic con-name br-int autoconnect yes ifname br-int ip4 1.1.1.1/24
# nmcli con up br-int ifname br-int

Однако каждый раз после перезагрузки хоста (Ubuntu 16.04) соединение приходится вручную активировать снова. Есть ли способ заставить NetworkManager автоматически активировать этот интерфейс после его создания OVS?

Установите свойство connection.autoconnect в значение true для соединения br-int.

Чтобы изменить настройки соединения, выполните:

nmcli connection modify br-int connection.autoconnect true

Вы также можете использовать команду nmtui вместо работы с командой nmcli.

Я столкнулся с той же проблемой, когда мне нужно создать мост Open vSwitch, который не требует IP-адресов, таких как br-int, br-tun и т.д., и после перезагрузки сервера NetworkManager их не активирует.

Основная причина проблемы в том, что соединение “ovs-interface” имеет “ipv4.method” и “ipv6.method”, установленные в “auto”.

Решение заключается в установке “ipv4.method” и “ipv6.method” в “disabled” только для соединения “ovs-interface”, например:

nmcli conn add type ovs-bridge conn.interface br-int con-name br-int
nmcli conn add type ovs-port conn.interface br-int master br-int con-name ovs-port-br-int
nmcli conn add type ovs-interface slave-type ovs-port conn.interface br-int 
      master ovs-port-br-int con-name ovs-if-br-int ipv4.method disabled ipv6.method disabled

Ответ или решение

Проблема, описанная в вопросе, связана с автоматическим приведением сетевого интерфейса в активное состояние после перезагрузки системы, когда на базе Open vSwitch (OVS) создается мост, например, br-int, в операционной системе Ubuntu 16.04. Чтобы глубже понять природу проблемы и предложить решение, необходимо рассмотреть несколько аспектов и трактовать каждую часть процесса конфигурации.

Теория (Theory)

Конфигурация бриджей и автоподключение
Open vSwitch — это платформа, предназначенная для обеспечения виртуальных сетевых функций и управления сложными сетевыми топологиями посредством бриджей. Создание такого бриджа с помощью ovs-vsctl фактически добавляет сетевое устройство, которое затем интегрируется в NetworkManager — утилиту управления сетью в Linux, обеспечивающую автоматическое подключение сетевых интерфейсов и управление ими по различным параметрам.

Параметры автоподключения
При использовании NetworkManager для управления сетевыми подключениями важно правильно настроить атрибуты, такие как autoconnect, ipv4.method и ipv6.method, чтобы NetworkManager мог корректно распознавать и обслуживать сетевое устройство после перезагрузки. Ошибочные или недостаточные настройки могут привести к необходимости повторного ручного активации интерфейса после каждой перезагрузки.

Пример (Example)

В представленном вопросе пользователь создает мост br-int с помощью команды Open vSwitch:

# ovs-vsctl add-br br-int

Далее он добавляет сетевое подключение посредством NetworkManager:

# nmcli connection add type generic con-name br-int autoconnect yes ifname br-int ip4 1.1.1.1/24
# nmcli con up br-int ifname br-int

Хотя пользователь включает автоподключение через autoconnect yes, после перезагрузки он замечает, что данное подключение не активируется автоматически.

Проблема заключается в том, что настройки автоподключения могут конфликтовать с другими параметрами NetworkManager, особенно если они не были правильно прописаны для типов подключения с Open vSwitch. Установление ipv4.method и ipv6.method в disabled предотвращает автоматическую попытку NetworkManager назначить IP-адреса этому интерфейсу, что в случае мостов может оставаться нежелательным, так как они могут использоваться только для пересылки пакетов без непосредственного назначения IP.

Применение (Application)

Правильная настройка соединения через nmcli
Для решения проблемы на практике необходимо выполнить следующие шаги:

  1. Удалите существующее конфигурацию для br-int:

    nmcli connection delete br-int
  2. Добавьте конфигурацию моста Open vSwitch корректно:

    nmcli connection add type ovs-bridge con-name br-int ifname br-int
  3. Настройте порты и интерфейсы:

    nmcli connection add type ovs-port con-name ovs-port-br-int ifname br-int master br-int
    nmcli connection add type ovs-interface con-name ovs-if-br-int ifname br-int master ovs-port-br-int ipv4.method disabled ipv6.method disabled
  4. Убедитесь в активации автоподключения:

    nmcli connection modify br-int connection.autoconnect yes
  5. Перезагрузите или проверьте:
    Перезагрузите систему и проверьте статус подключений:

    nmcli connection show --active

Эти шаги помогут обеспечить, что после каждой перезагрузки ваша конфигурация для br-int будет автоматически подниматься, при этом устраняя необходимость в ручной активации. Это особенно важно в корпоративных и производственных средах, где стабильность и минимизация ручных операций играют ключевую роль.

Заключение
Таким образом, успешная автоматизация активации сети с использованием Open vSwitch и NetworkManager подразумевает грамотную настройку всех параметров сетевых подключений, учет специфики функционирования бриджей и точную пропись всех необходимых атрибутов в конфигурации. Это позволит избежать излишней ручной работы и обеспечит надежную работу сети в любых эксплуатационных условиях.

Оцените материал
Добавить комментарий

Капча загружается...