A resposta para sua pergunta é sim, isso funciona muito bem.
Durante a inicialização, o servidor isc dhcpd primeiro lê os blocos de sub-rede em seu arquivo de configuração. Depois disso, o daemon determina quais interfaces usar com base em sub-redes correspondentes. Assim que o servidor é iniciado, as solicitações DHCP do cliente são atendidas. Essas são tratadas com base na interface para a qual a solicitação é feita. O endereço MAC da interface do servidor é irrelevante durante este processo.
Suponha que você tenha duas VLANs disponíveis. As VLANs normalmente obtêm seu endereço MAC de sua interface pai, então é bem possível que você tenha endereços MAC duplicados:
[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
Agora, criamos duas sub-redes no arquivo dhcpd.conf assim:
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 a inicialização do servidor dhcpd, as seguintes mensagens aparecem no arquivo de log:
[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 você pode ver, a interface certa é correspondida. A sub-rede 192.168.3.0/24 é servida pela interface enp3s0.3
, embora o endereço MAC de ambas as interfaces seja o mesmo.
Por último, mas não menos importante: é possível alterar o endereço MAC de uma interface VLAN. Por favor, use o comando ip
da seguinte forma:
ip link set dev enp3s0.3 address 02:00:00:00:00:20