Сетевой мост Ubuntu 24.04 LTS

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

У меня возникла проблема с мостом в Ubuntu 24.04 LTS.

Когда я использую эту конфигурацию:

network:
    version: 2
    renderer: networkd
    ethernets:
        eth0:
            dhcp4: true
        eth1:
            addresses: [ 192.168.1.2/24 ]
        eth2: {}
        eth3:
            addresses: [ 192.168.2.2/24 ]
        eth4:
            addresses: [ 192.168.4.2/24 ]

интерфейс работал прекрасно. Но когда я изменил его на:

network:
    version: 2
    renderer: networkd
    ethernets:
        eth0:
            dhcp4: true
        eth1:
            dhcp4: false
        eth2: {}
        eth3:
            addresses: [ 192.168.2.2/24 ]
        eth4:
            addresses: [ 192.168.4.2/24 ]
    bridges:
        br0:
            interfaces: [ eth1 ]
            addresses: [ 192.168.1.2/24 ]
            parameters:
                stp: true
                forward-delay: 4
            macaddress: 00:15:5d:83:06:01

br0 перестал работать. Мне нужно объединить интерфейсы eth1 и eth2, и я только добавил один интерфейс в качестве подчиненного для тестирования.

Что я пропустил?

У меня есть рабочая настроенная сеть с мостом на 22.04, и я не думаю, что будет сильно отличаться

# Это конфигурация сети, написанная 'subiquity'
network:
  ethernets:
    enp1s0:
      dhcp4: true
      match:
          macaddress: AA:BB:CC:DD:EE:FF
      set-name: wan
    enp2s0:
      dhcp4: no
      optional: true
      ignore-carrier: true
    enp3s0:
      dhcp4: no
      optional: true
      ignore-carrier: true
    enp4s0:
      dhcp4: no
      optional: true
      ignore-carrier: true

  bridges:
    lan:
      dhcp4: no
      addresses:
       - 192.168.2.1/24
      interfaces:
        - enp2s0
        - enp3s0
        - enp4s0

Несколько специфических вещей, которые я сделал

  • Я использую match, так как в некоторых более сложных настройках я назначаю порты

Для ‘основного’/Wan порта я использовал соответствие по mac-адресу и установил имя, чтобы знать, какой порт какой. В другой настройке, которую я делал, у меня была смесь скоростей портов, поэтому удобно, когда они обозначены как внутренне, так и физически. Это также простой способ не иметь “предсказуемые” сетевые имена.

Для каждого порта на мосту

    enp2s0:
      dhcp4: no
      optional: true
      ignore-carrier: true

Я полагаю, что блок моста изменился в какой-то момент. У меня нет старой конфигурации (я просто запустил классическую сеть /etc/networks)

  bridges:
    lan:
      dhcp4: no
      addresses:
       - 192.168.2.1/24
      interfaces:
        - enp2s0
        - enp3s0
        - enp4s0

Вашему мосту, вероятно, не следует/не нужно назначать mac-адрес

Образованное предположение подскажет, что ваш блок мостов будет выглядеть как-то так

  bridges:
    br0:
      dhcp4: no
      addresses:
       - 192.168.2.1/24
      interfaces:
        - eth1
      parameters:
        stp: true
        forward-delay: 4

sudo netplan try должен уведомить вас о любых проблемах, если я правильно помню, но я думаю, это должно сработать.

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

Настройка сетевого моста в Ubuntu 24.04 LTS

Ваша проблема с конфигурацией сетевого моста в Ubuntu 24.04 LTS может быть вызвана несколькими аспектами. Позвольте мне предоставить вам детальные рекомендации и исправления.

1. Настройка сети

Вы начали с конфигурации, в которой интерфейс eth0 использовал DHCP, а остальные интерфейсы получили статические IP-адреса. На первом этапе это работало корректно. Однако после изменения eth1 на dhcp4: false и добавления моста br0, вы столкнулись с проблемами.

2. Проблемы с конфигурацией моста

Ваша конфигурация для моста br0 выглядит следующим образом:

    bridges:
        br0:
            interfaces: [ eth1 ]
            addresses: [ 192.168.1.2/24 ]
            parameters:
                stp: true
                forward-delay: 4
            macaddress: 00:15:5d:83:06:01

Следующие шаги могут помочь улучшить настройки и устранить проблемы:

2.1. Уберите MAC-адрес из конфигурации моста

Присвоение MAC-адреса мости может вызывать проблемы в работе сети, так как большинство сетей автоматом генерируют его на основе интерфейсов, входящих в мост. Попробуйте удалить строку macaddress.

2.2. Убедитесь, что все интерфейсы в мосту настроены корректно

Ваша цель состоит в том, чтобы связать eth1 и eth2. Следует убедиться, что оба интерфейса настроены на работу в режиме моста. Например:

    bridges:
        br0:
            dhcp4: false
            addresses: [ 192.168.1.2/24 ]
            interfaces: [ eth1, eth2 ]
            parameters:
                stp: true
                forward-delay: 4

Обратите внимание, что dhcp4 должно быть установлено в false, чтобы избежать конфликтов.

3. Опции для настройки интерфейсов

Если вы хотите избежать задержек при загрузке системы из-за отсутствия соединений на определенных интерфейсах, вы можете добавить параметры optional: true и ignore-carrier: true для интерфейсов, которые не всегда будут активны:

        eth1:
            dhcp4: false
            optional: true
            ignore-carrier: true
        eth2: 
            dhcp4: false
            optional: true
            ignore-carrier: true

4. Проверка конфигурации

Перед применением изменений, воспользуйтесь командой:

sudo netplan try

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

Заключение

Ваши предыдущие настройки в Ubuntu 22.04 LTS могут отличаться от текущих, поскольку сетевые конфигурации могли измениться в разных версиях. Убедитесь, что вы следите за официальной документацией Ubuntu, так как изменения в синтаксисе или в управлении сетевыми интерфейсами могут влиять на работу вашей системы.

Если у вас возникнут дополнительные вопросы или потребуется помощь с настройкой, не стесняйтесь обращаться за поддержкой.

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

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