Eu tenho um servidor DNS + DHCP funcionando. Quando os clientes recebem o IP do servidor dchpd, ele envia o nome do host para o servidor dhcpd+dns e funciona bem. Mas só há um problema: suponha que um cliente chamado nagios1.myzone.com, por algum motivo eu o exclua e substitua por outro com o mesmo nome, mas com distribuição Linux diferente e, claro, DHCID (id do cliente dhcp) diferente. O servidor dns+dhcp retorna este erro:
client @0x6g12280f2z00 192.168.0.4#48193/key dhcp.myzone.com: updating zone 'myzone.com/IN': update unsuccessful: nagios1.myzone.com: 'name not in use' prerequisite not satisfied (YXDOMAIN)
Nov 26 20:38:11 dns1 named[1541]: client @0x6g12280f2z00 192.168.0.4#37309/key dhcp.myzone.com: updating zone '.myzone.com/IN': update unsuccessful: nagios1..myzone.com/TXT: 'RRset exists (value dependent)' prerequisite not satisfied (NXRRSET)
Nov 26 20:38:11 dns1 dhcpd[1548]: Forward map from nagios1..myzone.com to 192.168.0.110 FAILED: Has an address record but no DHCID, not mine.
Eu tenho uma solução alternativa para isso, simplesmente exclua o registro TXT com essas linhas
vim file.txt
zone myzone.com.
server dns1.myzone.com
update del nagios1.myzone.com. 600 IN A 192.168.0.110
send
zone myzone.com.
server dns1.myzone.com
update del nagios1.myzone.com. 600 IN TXT "3147358c8b5523979cfecd8d67f26b6678"
send
zone 0.168.192.in-addr.arpa.
server dns1.myzone.com.
update del 110.0.168.192.in-addr.arpa. 600 IN PTR nagios1.myzone.com.
send
então use o comando nsupdate file.txt
Minha dúvida é: é possível forçar ou criar a atualização dinâmica do registro DHCID/TXT? Eu configurei o DNS com essas configurações
zone "myzone.com." IN {
type master;
file "/var/named/data/myzone.zone";
update-policy {
grant dhcp.myzone.com. wildcard * A TXT SRV CNAME MX DHCID;
};
A atualização dinâmica funciona para todos, testados A e PTR, por que não para TXT/DHCID?
Responder1
Os registros DHCID fazem parte de um esquema para identificar qual cliente possui atualmente o(s) outro(s) registro(s) DNS correspondente(s) atualizado(s) dinamicamente com o mesmo nome; verRFC 4701.
Os registros TXT são um esquema mais antigo para o mesmo propósito: se você estiver usando o ISC dhcpd
como seu servidor DHCP e tiver configurado ddns-update-style standard;
, os registros DHCID serão usados. Se você tiver definido ddns-update-style interim;
, os registros TXT serão usados.
Se você deseja que um cliente DHCP sempre possa substituir os registros DNS do endereço IP que ele possui atualmente, independentemente dos registros DHCID/TXT, você precisará configurar seuServidor DHCPcom update-conflict-detection off;
(ou equivalente para servidores DHCP diferentes do ISC dhcpd
). Isso fará com que você exclua os registros antigos e crie novos, mesmo que exista um registro de ID de cliente diferente.
Se apenas o servidor DHCP (e o administrador) tiver permissão para fazer atualizações de DDNS, isso provavelmente será aceitável. Se você permitir que os clientes enviem suas próprias atualizações de DDNS diretamente para o servidor DNS, desabilitar a detecção de conflitos poderá permitir que clientes mal-intencionados se façam passar por outros clientes ou servidores importantes na zona, dependendo dos tipos de atualizações que serão permitidas pelo servidor DNS.