Как использовать DHCP на нескольких VLAN на одном интерфейсе с помощью netplan?

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

В моей текущей топологии сети у меня несколько VLAN – каждый из которых имеет свою маршрутизацию:

VLAN 10:
  DHCP:    10.0.10.10-10.0.10.255
  Подсеть:  255.255.255.0
  Шлюз: 10.0.10.1

VLAN 11
  DHCP:    10.0.11.10-10.0.11.255
  Подсеть:  255.255.255.0
  Шлюз: 10.0.11.1

У машины(ей), которую(ые) я автоматически настраиваю, есть один сетевой адаптер.
Вот почему я хотел бы избежать использования статических конфигураций и полагаться на DHCP для предоставления “правильных” настроек.

Мой yaml выглядит так:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp5s0:
      # Обозначить соединение как "критическое для системы", что подразумевает, что systemd-networkd
      # будет проявлять особую заботу о том, чтобы не освобождать IP от DHCP, когда демон перезапускается.
      critical: yes
      dhcp4: no

  vlans:
    cloud:
      id: 10
      link: enp5s0
      dhcp4: yes
      dhcp4-overrides:
        route-metric: 200

    office:
      id: 11
      link: enp5s0
      dhcp4: yes
      dhcp4-overrides:
        route-metric: 100

Проблема в том, что он получает настройки DHCP только для VLAN cloud и ничего не делает с VLAN office. Я что-то упускаю?

ПРИМЕЧАНИЕ:
Это не дублирующий вопрос на netplan с несколькими VLAN на одном интерфейсе – нужна помощь.

Помните, ваш DHCP-сервер не знает о ваших конфигурациях VLAN.

Он получает запрос на IP для MAC-адреса enp5s0, а затем другой запрос, вероятно, идентичный предыдущему. Посмотрите на лог DHCP, он должен это подтвердить. Или используйте tcpdump для отладки трафика.

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

Чтобы реализовать поддержку DHCP на нескольких VLAN, используя одну сетевую плату с помощью Netplan, необходимо учесть некоторые нюансы конфигурации, которые помогут вашему сетевому оборудованию и DHCP-серверу корректно обмениваться информацией. Ваша текущая настройка имеет правильный подход, однако, есть несколько моментов, которые стоит уточнить и исправить.

1. Понимание работы DHCP с VLAN

Как вы уже упомянули, ваш DHCP-сервер не знает о конфигурации VLAN. Это означает, что сервер видит только запросы, поступающие с основного интерфейса, в данном случае — enp5s0. Когда вы настраиваете VLAN на сетевом интерфейсе, система инициирует DHCP-запрос через виртуальные интерфейсы, связанные с этими VLAN, а не через основной интерфейс.

2. Настройка конфигурации Netplan

Ваш YAML файл требует небольших корректировок для корректного получения IP-адресов от DHCP-сервера на обоих VLAN. Обратите внимание на следующее:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp5s0:
      critical: yes
      dhcp4: no

  vlans:
    cloud:
      id: 10
      link: enp5s0
      dhcp4: yes
      dhcp4-overrides:
        route-metric: 200

    office:
      id: 11
      link: enp5s0
      dhcp4: yes
      dhcp4-overrides:
        route-metric: 100

3. Решение проблемы с получением DHCP-адресов для нескольких VLAN

3.1. Проверьте конфигурацию DHCP-сервера

Убедитесь, что ваш DHCP-сервер правильно настроен для предоставления IP-адресов для обоих VLAN. Это может потребовать настройки так называемого "IP адресного пула DHCP" для каждого VLAN, чтобы сервер знал, какие диапазоны адресов назначать.

3.2. Используйте dhcp4: yes для обоих VLAN

Ваши VLAN (как cloud, так и office) корректно настроены с dhcp4: yes, это правильно. Однако, если на DHCP-сервере нет конфигурации для VLAN 11 (office), запрос не будет выполнен.

3.3. Проверьте сетевые журналы

Как было предложено, посмотрите на логи DHCP, чтобы удостовериться, что запросы от обоих VLAN действительно отправляются и обрабатываются. Для этого используйте команды:

journalctl -u systemd-networkd

или

tcpdump -i enp5s0 -n port 67 or port 68

Это поможет вам увидеть, какие запросы DHCP отправляются и получаются.

4. Тестирование и подтверждение

После внесения изменений и проверок:

  1. Примените конфигурацию Netplan, выполнив команду:

    sudo netplan apply
  2. Проверьте, получили ли устройства IP-адреса из обоих диапазонов, выполнив команду:

    ip addr show
  3. Убедитесь, что маршрутизация между VLAN работает корректно, выполнив пинг до шлюзов обоих VLAN.

Заключение

У правильной конфигурации DHCP на нескольких VLAN через одну сетевую плату в Netplan есть свои нюансы, требующие внимательного подхода. Особое внимание уделите конфигурации вашего DHCP-сервера, чтобы он корректно обрабатывал запросы с обоих VLAN и правильно выделял IP-адреса. Используйте сетевые инструменты для диагностики и тестирования того, что настройки применяются корректно. Если вы следуете этим шагам, у вас не должно возникнуть проблемы с автоматической настройкой ваших машин через DHCP.

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

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