- Вопрос или проблема
- Ответ или решение
- 1. Понимание работы DHCP с VLAN
- 2. Настройка конфигурации Netplan
- 3. Решение проблемы с получением DHCP-адресов для нескольких VLAN
- 3.1. Проверьте конфигурацию DHCP-сервера
- 3.2. Используйте dhcp4: yes для обоих VLAN
- 3.3. Проверьте сетевые журналы
- 4. Тестирование и подтверждение
- Заключение
Вопрос или проблема
В моей текущей топологии сети у меня несколько 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. Тестирование и подтверждение
После внесения изменений и проверок:
-
Примените конфигурацию Netplan, выполнив команду:
sudo netplan apply
-
Проверьте, получили ли устройства IP-адреса из обоих диапазонов, выполнив команду:
ip addr show
-
Убедитесь, что маршрутизация между VLAN работает корректно, выполнив пинг до шлюзов обоих VLAN.
Заключение
У правильной конфигурации DHCP на нескольких VLAN через одну сетевую плату в Netplan есть свои нюансы, требующие внимательного подхода. Особое внимание уделите конфигурации вашего DHCP-сервера, чтобы он корректно обрабатывал запросы с обоих VLAN и правильно выделял IP-адреса. Используйте сетевые инструменты для диагностики и тестирования того, что настройки применяются корректно. Если вы следуете этим шагам, у вас не должно возникнуть проблемы с автоматической настройкой ваших машин через DHCP.