У меня запущен 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.