Tengo dhcpd ejecutándose con múltiples subredes. He duplicado la dirección MAC, pero en diferentes subredes, que están configuradas como VLAN diferentes. ¿Puede esta MAC traer algunos problemas a DHCP?
¿Cómo sabe DHCP que la solicitud de concesión proviene de diferentes VLAN? ¿Dará las direcciones correctamente?
Respuesta1
La respuesta a tu pregunta es sí, esto funciona muy bien.
Durante el inicio, el servidor isc dhcpd primero leerá los bloques de subred en su archivo de configuración. Después de esto, el demonio determina qué interfaces usar en función de las subredes coincidentes. Tan pronto como se inicia el servidor, se responden las solicitudes DHCP del cliente. Estos se manejan según la interfaz a la que se realiza la solicitud. La dirección MAC de la interfaz del servidor es irrelevante durante este proceso.
Suponga que tiene dos VLAN disponibles. Las VLAN normalmente derivan su dirección MAC de su interfaz principal, por lo que es muy posible que tenga direcciones MAC duplicadas:
[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
Ahora, creamos dos subredes en el archivo dhcpd.conf así:
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;
}
Durante el inicio del servidor dhcpd, aparecen los siguientes mensajes en el archivo de registro:
[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
Como puede ver, la interfaz correcta coincide. La subred 192.168.3.0/24 se sirve a través de la enp3s0.3
interfaz, aunque la dirección MAC de ambas interfaces es la misma.
Por último, pero no menos importante: es posible cambiar la dirección MAC de una interfaz VLAN. Utilice el ip
comando como este:
ip link set dev enp3s0.3 address 02:00:00:00:00:20
Respuesta2
En una correcta implementación de VLAN, cada VLAN tiene una subred única.
Como usted dice, su servidor DHCP sabe que la dirección MAC está asociada con diferentes subredes. En ese sentido, el DHCP sabe indirectamente que están asociados con diferentes VLAN.