IPs fixos e dinâmicos no ISC DHPD levam a dupla concessão

5

Eu gostaria de ter uma pequena parte de endereço dinâmico e a maioria dos clientes recebeu um endereço IP fixo.

Meu dhcpd.conf tem esta aparência:

use-host-decl-names on;
authoritative;
allow client-updates;
ddns-updates on;

# Einstellungen fuer DHCP leases
default-lease-time 3600;
max-lease-time 86400;

lease-file-name "/var/lib/dhcpd/dhcpd.leases";

  subnet 192.168.11.0 netmask 255.255.255.0 {
        ddns-updates on;
    pool {
        # IP range which will be assigned statically
        range 192.168.11.1 192.168.11.240;
        deny all clients;
    }
    pool {
        # small dynamic range
        range 192.168.11.241 192.168.11.254; # used for temporary devices
    }
}    

 group {
    host pc1 {
        hardware ethernet xx:xx:xx:xx:xx:xx;
        fixed-address 192.168.11.11;
        }
}

A motivação para a declaração do pool com a negação de todos os hosts vem da página do ISC DHCPD link Isso permitirá que os hosts para ser adicionado pela primeira vez à rede, onde eles receberão um IP temporário do intervalo de endereços 241-254 e depois escreverão uma declaração de host explícita. Na próxima conexão, receberá a configuração correta.

O problema é que estou recebendo mensagens de erro que 192.168.11.13 tem uma concessão dinâmica e estática. Estou um pouco confuso pois esperava que a declaração do pool negasse que todos os clientes não contassem como dinâmico.

  Dynamic and static leases present for 192.168.11.13.
  Remove host declaration pc1 or remove 192.168.11.13
  from the dynamic address pool for 192.168.11.0/24

Existe uma maneira de fazer com que o servidor DHCP envie um DHCPNA para os clientes se eles tiverem uma declaração de host e reterem esse intervalo dinâmico?

    
por GorillaPatch 04.04.2012 / 17:47

1 resposta

6

O verificador de configuração apenas corresponderia seus pools definidos e definições de endereço de host uns contra os outros para encontrar interseções de definição, ele não avaliaria as listas de acesso.

Assim, você teria que excluir explicitamente seu intervalo de definições de host da definição do conjunto "negar todos" :

pool {
    # IP range which will be assigned statically
    range 192.168.11.1 192.168.11.10
    range 192.168.1.12 192.168.11.240;
    deny all clients;
}
    
por 11.04.2012 / 22:29

Tags