DHCP removendo registros DNS existentes quando solicitado para concessões e nenhum está disponível

1

Estou tendo um problema com minha configuração de DNS dinâmico e DHCP em que os clientes que solicitam concessões quando nenhum está disponível causam uma falha em cascata em que os clientes existentes têm seus registros DNS avançados e reversos removidos. Estou usando o isc-dhcp-server e o bind9 em um servidor Ubuntu 14.04. Os clientes, neste caso, estão executando o OS X.

Aloquei um intervalo de IPs para o servidor DHCP e conectei-o para vincular as atualizações do DNS dinâmico. Ao emitir IPs bind fica atualizado e tudo funciona bem. No entanto, quando o pool de concessões DHCP é esgotado, o servidor DHCP começa a distribuir concessões existentes para os clientes que solicitam uma concessão e, em seguida, as revoga imediatamente. Infelizmente, isso também dispara uma atualização para o DNS, onde os registros de encaminhamento e reverso para esse IP também são removidos, o que significa que o sistema naquele IP não pode mais ser encontrado pelo DNS. Isso continua sequencialmente em todo o intervalo, o que remove todas as entradas de DNS até que volte a repetir.

Eu examinei a manpage e não posso explicar esse comportamento. Eu tentei rede compartilhada, sub-rede e pools na configuração do isc-dhcp-server e todos eles agora exibem o mesmo comportamento. Se uma concessão for retornada de um cliente, ela será distribuída para o próximo sistema solicitando uma e o DNS será atualizado corretamente, mas o próximo cliente que solicitar uma concessão quando nenhuma estiver disponível iniciará o ciclo novamente.

Alguma idéia do que poderia estar causando esse comportamento? É como se o servidor DHCP não estivesse verificando seu próprio arquivo dhcpd.leases para ver se ele já emitia esses IPs.

    
por foxx 15.03.2016 / 17:49

1 resposta

0

O problema se resume ao OS X se comportando mal com relação à especificação DHCP. Como falamos sobre aqui , o OS X cria seus próprios pacotes ARP antes mesmo de tentar se comunicar por DHCP. Se o ID do cliente DHCP estiver preenchido e não o único, o OS X preenche o pacote ARP com essas informações de forma que cause um ataque de esgotamento do DHCP.

Para corrigir o problema, você não pode usar o campo DHCP Client ID ou deve ser exclusivo. No meu caso, fizemos este "[pool de aluguel de DHCP] [hostname]" que forneceu um ID de cliente único que ainda pode ser recuperado com substring no servidor DHCP para determinar para qual pool de concessões atribuir um sistema.

    
por 12.04.2016 / 19:18