Linux DHCP para múltiplas sub-redes

Linux DHCP para múltiplas sub-redes
vlan10---->firewall----->linux dhcp server
vlan20---------↑

Tenho duas vlans (vlan10 e vlan20) e gostaria de usar o servidor DHCP Linux para centralizar a designação de endereços IP.

No firewall fortigate eu uso o relé dhcp para o cliente obter ip dhcp.

No servidor Linux DHCP eu uso a seção [host] para limitar o cliente a obter IP estático e permitir que hosts conhecidos obtenham IP dinâmico.

########## config start #########

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 domain-name-servers 192.168.8.248,192.168.8.246;
option routers 192.168.10.1;
allow unknown-clients;
range 192.168.10.11 192.168.10.210;
}

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 domain-name-servers 192.168.8.248,192.168.8.246;
option routers 192.168.20.1;
deny unknown-clients;
range 192.168.20.11 192.168.20.210;
}

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;
}

host host4 {
       hardware ethernet 44:44:44:44:44:44;
}

########## config end #########

nesta configuração, todos os clientes podem obter ip de vlan10 ou vlan20, mas quero que o host4 possa obter ip dinâmico apenas em vlan20.

Quando o host4 se conecta ao vlan10, o host4 não consegue obter nenhum endereço IP do servidor dhcp.

Como posso modificar a configuração?

Responder1

Embora eu não possa testar isso no momento, e pode precisar de alguns ajustes na sintaxe, você pode usar definições de 'grupo' e listar todos os clientes em grupos para vlan10 e vlan20, mas no arquivo vlan10, você diz ao host4 para 'negar a inicialização;' o que deveria fazer isso.

Não posso testar isso sozinho no momento, mas pode valer a pena tentar?

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s1-dhcp-configurando-server.html#group https://www.daemon-systems.org/man/dhcpd.conf.5.htmlpara negar inicialização

Você também pode querer ver se a diretiva 'inclui' 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; }

Responder2

Talvez criando uma classe que corresponda ao seu Host4 e adicionando uma linha com "negar membros de 'suaClasse';" na configuração da sua sub-rede pode ajudar

um exemplo :

class "raspberry"
{
    # match mac starting with b8:27:eb
    match if substring(hardware, 1, 3) = b8:27:eb;
}

subnet 192.168.10.0 netmask 255.255.254.0 {
    option routers 192.168.10.254;
    pool {
        range 192.168.10.11 192.168.10.210;
        deny members of "raspberry";
    }
}

informação relacionada