dhcpd с несколькими VLAN и подсетями, дублированный MAC

dhcpd с несколькими VLAN и подсетями, дублированный MAC

У меня запущен dhcpd с несколькими подсетями. У меня есть дублированный MAC-адрес, но в разных подсетях, которые настроены как разные VLANS. Может ли этот MAC-адрес вызвать проблемы в DHCP?

Как DHCP узнает, что запрос на аренду приходит из разных VLAN? Будет ли он правильно выдавать адреса?

решение1

Ответ на ваш вопрос — да, это работает очень хорошо.

Во время запуска сервер isc dhcpd сначала считывает блоки подсетей в своем файле конфигурации. После этого демон определяет, какие интерфейсы использовать, на основе соответствующих подсетей. Как только сервер запускается, на клиентские DHCP-запросы даются ответы. Они обрабатываются на основе интерфейса, на который был сделан запрос. MAC-адрес интерфейса сервера не имеет значения в этом процессе.

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

[test@testrouter ~]$ ip addr show enp3s0.2

2: enp3s0.2@enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue    state UP group default qlen 1000
link/ether 02:00:00:00:00:20 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.1/24 brd 192.168.2.255 scope global enp3s0.20 valid_lft forever preferred_lft forever

[test@testrouter ~]$ ip addr show enp3s0.3

3: enp3s0.3@enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 02:00:00:00:00:20 brd ff:ff:ff:ff:ff:ff
inet 192.168.3.1/24 brd 192.168.3.255 scope global enp3s0.20 valid_lft forever preferred_lft forever

Теперь создаем две подсети в файле dhcpd.conf следующим образом:

subnet 192.168.2.0 netmask 255.255.255.0 {
  range 192.168.2.101 192.168.2.151;
 option subnet-mask 255.255.255.0;
  option routers 192.168.2.1;
}

 subnet 192.168.3.0 netmask 255.255.255.0 {
  range 192.168.3.101 192.168.3.151;
  option subnet-mask 255.255.255.0;
  option routers 192.168.3.1;
}

Во время запуска сервера dhcpd в файле журнала появляются следующие сообщения:

[test@testrouter ~]$ journalctl -u dhcpd | grep LPF

dhcpd[1263]: Listening on LPF/enp3s0.2/02:00:00:00:00:20/192.168.2.0/24
 dhcpd[1263]: Sending on   LPF/enp3s0.2/02:00:00:00:00:20/192.168.2.0/24
 dhcpd[1263]: Listening on LPF/enp3s0.3/02:00:00:00:00:20/192.168.3.0/24
 dhcpd[1263]: Sending on   LPF/enp3s0.3/02:00:00:00:00:20/192.168.3.0/24

Как вы видите, правильный интерфейс соответствует. Подсеть 192.168.3.0/24 обслуживается через интерфейс enp3s0.3, хотя MAC-адрес обоих интерфейсов одинаков.

Последнее, но не менее важное: можно изменить MAC-адрес интерфейса VLAN. Используйте команду ipследующим образом:

ip link set dev enp3s0.3 address 02:00:00:00:00:20

решение2

При правильной реализации VLAN каждая VLAN имеет уникальную подсеть.

Как вы говорите, ваш DHCP-сервер знает, что MAC-адрес связан с разными подсетями. В этом смысле DHCP косвенно знает, что они связаны с разными VLAN.

Связанный контент