Embora atualmente não seja possível testar isso , e talvez seja necessário algum ajuste para a sintaxe, você pode usar as definições 'group' e listar todos os clientes em grupos para vlan10 e vlan20, mas no arquivo vlan10, você diz ao host4 para 'negar boot'; qual deveria fazer isto.
Eu não posso testar isso sozinho no momento, mas pode valer a pena tentar?
link link para negar a inicialização
Você também pode querer ver se a diretiva 'includes' funcionará, então você pode fazer algo como:
dhcp.conf:
option domain-name-servers 192.168.8.248,192.168.8.246;
include "/etc/dhcp/vlan10.txt"
include "/etc/dhcp/vlan20.txt"
vlan10.txt
group {
subnet 192.168.10.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.10.255;
option routers 192.168.10.1;
allow unknown-clients;
range 192.168.10.11 192.168.10.210;
include "/etc/dhcp/vlan10.hosts.txt"
include "/etc/dhcp/vlan10.deny.hosts.txt"
}
}
vlan20.txt
group {
subnet 192.168.20.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.20.255;
option routers 192.168.20.1;
deny unknown-clients;
range 192.168.20.11 192.168.20.210;
include "/etc/dhcp/vlan10.hosts.txt"
include "/etc/dhcp/vlan20.hosts.txt"
}
}
vlan10.hosts.txt
host host1 { hardware ethernet 11:11:11:11:11:11; fixed-address 192.168.10.20; }
host host2 { hardware ethernet 22:22:22:22:22:22; fixed-address 192.168.10.21; }
host host3 { hardware ethernet 33:33:33:33:33:33; fixed-address 192.168.20.20; }
vlan10.deny.hosts.txt
host host4 { hardware ethernet 44:44:44:44:44:44; deny booting; }
vlan20.hosts.txt
host host4 { hardware ethernet 44:44:44:44:44:44; }