ISC DHCP server não atualiza dinamicamente o DNS

2

Eu tenho um servidor Ubuntu 14.04, executando um isc_dhcp_server e o servidor bind9 DNS. Bind atua como um cache, e mantém o domínio .m (e zona) na minha rede local. O endereço do servidor é 10.0.0.1 e seu FQDN é server.m .

O problema é que o servidor DHCP não está enviando nenhuma atualização de DDNS para o servidor DNS. Eu tentei alterar a configuração do servidor DHCP (usando LDAP) de várias maneiras, mas sem sucesso. Por exemplo: movi todas as instruções de configuração que agora fazem parte do subnet para o pai group . Ambas as configurações parecem funcionar igualmente (des).

O que estou fazendo de errado?

Eu fiz no entanto consegui enviar uma atualização de DDNS construída manualmente para o servidor DNS, como esta resposta mostra como fazer. Isso funcionou perfeitamente e as atualizações apareceram nos logs do meu sistema. Mesmo se eu estiver usando a chave errada com nsupdate , isso está sendo registrado. Assim, minha configuração de ligação deve estar bem.

Meu servidor DHCP é configurado usando o LDAP, de acordo com o tutorial . O arquivo de configuração resultante (que é gerado a partir da árvore LDAP durante a seqüência de inicialização do servidor DHCP) se parece com o código postado abaixo. (resultado de ldap-debug-file "/var/log/dhcp-ldap.conf"; )

Você pode se perguntar " Onde estão as host entradas? ". No meu diretório LDAP, eles estão localizados dentro do group , como objectClass: dhcpGroup , mas não aparecem no arquivo derivado dhcp-ldap.conf . Esses hosts que eu configurei com uma propriedade dhcpHWAddress: ethernet 01:23:45:67:89:ab são considerados known-clients , uma vez que eles acabam recebendo endereços de range 10.0.0.64 10.0.0.127 . Todos os hosts configurados dessa forma também possuem dhcpOption: host-name "some-host-name" e dhcpStatements: ddns-hostname "some-host-name" .

Apesar de o known-clients ser reconhecido, não vejo nenhuma tentativas do servidor DHCP tentando atualizar quaisquer registros DNS em meus registros.

log-facility local7;
default-lease-time 43200;
max-lease-time 86400;
key DHCP_UPDATER { algorithm hmac-md5; secret somesecretkey; }

group {
    option domain-name "m";
    option subnet-mask 255.255.255.0;
    option broadcast-address 10.0.0.255;
    option time-servers server.m;
    option routers server.m;
    option domain-name-servers server.m;

    subnet 10.0.0.0 netmask 255.255.255.0 {
        authoritative;
        update-static-leases on;
        deny client-updates;
        ddns-update-style interim;
        ddns-updates on;
        zone 0.0.10.in-addr.arpa. { primary server.m; key DHCP_UPDATER; }
        zone m. { primary server.m; key DHCP_UPDATER; }
        ddns-rev-domainname "0.0.10.in-addr.arpa.";
        ddns-domainname "m.";
        pool {
            range 10.0.0.128 10.0.0.192;
            allow unknown-clients;
        }
        pool {
            range 10.0.0.64 10.0.0.127;
            allow known-clients;
        }
    }
}
    
por derabbink 06.05.2014 / 14:25

1 resposta

2

Na página man do dhcpd.conf (5):

The ddns-update-style parameter

     ddns-update-style style;

     The  style  parameter  must  be  one of ad-hoc, interim or none.  The
     ddns-update-style statement is only meaningful in the outer  scope  -
     it  is  evaluated once after reading the dhcpd.conf file, rather than
     each time a client is assigned an IP address, so there is no  way  to
     use different DNS update styles for different clients. The default is
     none.

Na sua configuração, você colocou ddns-update-style dentro de um bloco subnet . De acordo com o acima, ddns-update-style é apenas significativo no escopo externo, portanto, sua configuração como escrita não funcionará. Mova o ddns-update-style para o escopo externo, ou seja, fora de qualquer bloco.

    
por 06.05.2014 / 14:58