Como dizer a zona correta do DHCP do ISC para a atualização DDNS da zona reversa?

3

Eu tenho um servidor ISC DHCP em execução (versão 4.2.5) que é configurado para atualizar dinamicamente a zona reversa em um serviço DNS com o nome do host que ele recebe por meio de um pacote DISCOVER dhcp.

Tudo funciona bem em zonas como 2.1.10.in-addr-arpa , mas essa zona não funciona:

zone 16-30.32.168.192.in-addr.arpa. {
    primary 127.0.0.1;
    key rndc-key;
}

O dhcp está configurado para distribuir endereços nesse intervalo:

range 192.168.32.17 192.168.32.30;

e a zona reversa funciona bem. No entanto, as atualizações dinâmicas nessa zona falham com:

Unable to add reverse map from 17.32.168.192.in-addr.arpa. to debiantest.dhcp.company.com: not found

Como eu especifico essa zona específica? Parece ser uma questão de sintaxe, já que funciona com outras zonas, mas não consigo encontrar a informação correta na documentação do isc dhcp.

    
por Clayton Louden 04.10.2016 / 02:35

1 resposta

0

Por causa da documentação, tentarei responder minha própria pergunta aqui: Não é possível. Para citar o link :

DHCP does NOT support updating of arbitrary zones, it takes the ip address, reverses the octets, and appends the reverse domain name (deafult in-addr.arpa).

No entanto, há uma solução simples para o problema. Pode-se configurar nomes de domínio arbitrários para atualizações de DDNS na configuração do dhcpd:

ddns-rev-domainname "dhcp";
zone 32.168.192.dhcp. {
    primary 127.0.0.1;
    key rndc-key;
}

Portanto, o servidor DNS precisa fornecer essa zona específica. Como é um bind9 no meu caso, aqui está o trecho relevante do /etc/named.conf

zone "32.168.192.dhcp" IN {
    type master;
    file "/var/named/dynamic/32.168.192.dhcp";
    allow-update { key "rndc-key"; };
};

E, claro, o arquivo de zona correspondente:

$ORIGIN .
$TTL 600        ; 10 minutes
32.168.192.dhcp        IN SOA  dns-dhcp.company.com. hostmaster.company.com. (
                            2016100328 ; serial
                            3600       ; refresh (1 hour)
                            600        ; retry (10 minutes)
                            86400      ; expire (1 day)
                            600        ; minimum (10 minutes)
                            )
                        NS      dns-dhcp.company.com.

Agora, a zona 32.168.192.dhcp é atualizada dinamicamente com as informações do servidor dhcp. Mas como isso ajuda a reverter pesquisas? Afinal, um cliente vai procurar por x.32.168.192.in-addr.arpa, certo? Bem, se adicionarmos um registro de recurso CNAME à nossa zona 32.168.192.in-addr.arpa para cada host que possa estar na zona 32.168.192.dhcp (que é todo o IPs que o servidor DHCP poderia distribuir, também conhecido como o intervalo de sub-rede), devemos ser de ouro.

Então aqui está a parte relevante do arquivo de zona 32.168.192.in-addr.arpa (no meu caso /var/named/32.168.192.in-addr.arpa):

$GENERATE 17-30 $ CNAME $.32.168.192.dhcp.

O que resultará em:

$ dig -x 192.168.32.17
...
;; ANSWER SECTION:
17.32.168.192.in-addr.arpa. 600 IN     CNAME   17.32.168.192.dhcp.
17.32.168.192.dhcp.         300 IN     PTR     debian.company.com.
...
    
por 04.10.2016 / 22:46