Создание моста с привязкой как ведомый на определённом VLAN

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

Я на сервере Ubuntu 22.04.5 LTS. Сетевые порты уже подключены по trunk. Я пытаюсь настроить виртуальный мост с использованием bond в качестве слейва с помощью netplan на VLAN 202. Ниже приведенный вариант не работает:

$ cat /etc/netplan/00-bond-bridge-config.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    eno3:
      dhcp4: false
    eno4:
      dhcp4: false
  bonds:
    bond0:
      dhcp4: false
      interfaces: [eno3, eno4]
      parameters:
        mode: active-backup
        mii-monitor-interval: 100
  vlans:
    bond0.202:
        id: 202
        link: bond0
  bridges:
    br0:
      dhcp4: false
      interfaces: [bond0.202]
      addresses: [192.168.1.2/24]
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses: [1.1.1.1, 8.8.8.8]
        search: []

Не удается пинговать мой хост Ubuntu. Что я неправильно сделал в своем файле yaml?

Из документации Netplan по Как настроить хост VM с объединенными сетевыми интерфейсами и тремя VLAN, я изменил вашу настройку Netplan, чтобы учесть один не тегированный VLAN и один тегированный VLAN.

Сначала давайте определим вашу сеть:

  • VLAN1 не тегированный (управление), IPv4: 192.168.1.0/24
  • VLAN202 тегированный (гость), IPv4: 192.168.202.0/24
  • eno3, eno4 – объединенные интерфейсы
  • bond0 – основной bond для не тегированного VLAN1
  • bond0-vlan202 – VLAN интерфейс для подключения к тегированному VLAN202
  • br0 – мост для интерфейса bond0 на не тегированном VLAN1
  • br0-vlan202 – мост на тегированном VLAN202
$ cat /etc/netplan/00-bond-bridge-config.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    eno3:
      dhcp4: false
    eno4:
      dhcp4: false
  bonds:
    bond0:
      dhcp4: false
      interfaces: [eno3, eno4]
      parameters:
        mode: active-backup
        mii-monitor-interval: 100
  vlans:
    bond0-vlan202:
        id: 202
        link: bond0
  bridges:
    br0:
      dhcp4: false
      interfaces: [bond0]
      addresses: [192.168.1.2/24]
      routes:
        - to: default
          via: 192.168.1.1
          on-link: true
      nameservers:
        addresses: [1.1.1.1, 8.8.8.8]
        search: []
    br0-vlan202:
      interfaces: [bond0-vlan202]
      dhcp4: false
      routes:
        - to: 0.0.0.0
          via: 192.168.202.1
          metric: 100
          on-link: true
      nameservers:
        addresses: [1.1.1.1, 8.8.8.8]

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

Создание виртуального моста с объединением интерфейсов (bond) как ведомым (slave) на конкретном VLAN

На вашем сервере Ubuntu 22.04.5 LTS вы пытаетесь настроить виртуальный мост с использованием объединённого интерфейса для работы на VLAN 202. Рассмотрим ваш текущий конфигурационный файл netplan и предложим решение, позволяющее правильно настроить сеть.

Анализ существующей конфигурации

Ваш текущий файл конфигурации расположенный по адресу /etc/netplan/00-bond-bridge-config.yaml выглядит следующим образом:

network:
  version: 2
  renderer: networkd
  ethernets:
    eno3:
      dhcp4: false
    eno4:
      dhcp4: false
  bonds:
    bond0:
      dhcp4: false
      interfaces: [eno3, eno4]
      parameters:
        mode: active-backup
        mii-monitor-interval: 100
  vlans:
    bond0.202:
        id: 202
        link: bond0
  bridges:
    br0:
      dhcp4: false
      interfaces: [bond0.202]
      addresses: [192.168.1.2/24]
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses: [1.1.1.1, 8.8.8.8]
        search: []

Причины неисправности

  1. Неправильный интерфейс VLAN: В данном конфиге вы настраиваете VLAN на объединённом интерфейсе, однако это может привести к путанице, поскольку вы настраиваете bond0.202, но указываете его как интерфейс моста br0, который не имеет конфигурации и маршрутизации.

  2. Отсутствие отдельного моста для VLAN 202: Вам необходимо также создать сеть (bridge) для этого VLAN.

Предложенная корректировка

Для правильной настройки виртуального моста с использованием объединённого интерфейса и работы с VLAN 202 предлагаю следующую более актуальную конфигурацию:

network:
  version: 2
  renderer: networkd
  ethernets:
    eno3:
      dhcp4: false
    eno4:
      dhcp4: false
  bonds:
    bond0:
      dhcp4: false
      interfaces: [eno3, eno4]
      parameters:
        mode: active-backup
        mii-monitor-interval: 100
  vlans:
    bond0-vlan202:
      id: 202
      link: bond0
  bridges:
    br0:
      dhcp4: false
      interfaces: [bond0]
      addresses: [192.168.1.2/24]
      routes:
        - to: default
          via: 192.168.1.1
          on-link: true
      nameservers:
        addresses: [1.1.1.1, 8.8.8.8]
        search: []
    br0-vlan202:
      dhcp4: false
      interfaces: [bond0-vlan202]
      addresses: []  # Добавьте адреса здесь, если они нужны.
      routes:
        - to: 0.0.0.0
          via: 192.168.202.1
          metric: 100
          on-link: true
      nameservers:
        addresses: [1.1.1.1, 8.8.8.8]

Описание изменений

  1. Объединённый интерфейс: bond0 продолжает выполнять свою роль как неразмеченный интерфейс.

  2. Создание VLAN-интерфейса: Теперь bond0-vlan202 создаёт VLAN-202 на объединённом интерфейсе bond0.

  3. Отдельный мост для VLAN: br0-vlan202 позволяет вашему серверу корректно взаимодействовать в рамках VLAN 202. Убедитесь, что корректно указали IP-адреса и маршруты.

Заключение

После этих изменений вам необходимо применить новую конфигурацию, выполнив следующую команду:

sudo netplan apply

Это обновит сетевую конфигурацию и должна устранить возникшие ранее проблемы с пингованием вашего сервера Ubuntu. Перезагрузите сетевые службы или сам сервер для применения всех настроек. Если возникнут дополнительные проблемы, проверьте состояние интерфейсов командой ip a, а также логи системы с помощью journalctl -u systemd-networkd.

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

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