0

I have a working dns+dhcp server. When clients receive the ip from dchpd server, it send the hostname to dhcpd+dns server and works fine. But there is only a problem: suppose a client called nagios1.myzone.com, for some reason I delete it and replace with another one with the same name, but different linux distro and of course different DHCID(dhcp client id). The dns+dhcp server return this error:

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.

I have a workaround for this, simply delete the TXT record with those line

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

then use the command nsupdate file.txt

My question is: is possible to force or create the dynamic update of the DHCID/TXT record? I have configured dns with those settings

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;    
 };

The dynamic update works for all, tested A and PTR, why not for TXT/DHCID?

2

The DHCID records are parts of a scheme to identify which client currently holds the corresponding other dynamically-updated DNS record(s) with the same name; see RFC 4701.

The TXT records are an older scheme for the same purpose: if you are using the ISC dhcpd as your DHCP server and have set ddns-update-style standard; then DHCID records will be used. If you have set ddns-update-style interim; then TXT records will be used instead.

If you want a DHCP client to always be able to override the DNS records for the IP address it currently holds, regardless of the DHCID/TXT records, you'll need to configure your DHCP server with update-conflict-detection off; (or equivalent for DHCP servers other than the ISC dhcpd). This will make it just delete the old record(s) and create new ones, even if a different client ID record exists.

If only the DHCP server (and the administrator) is allowed to make DDNS updates, this is probably acceptable. If you allow clients to send their own DDNS updates directly to the DNS server, disabling conflict detection might allow evil clients to impersonate other clients or important servers in the zone, depending on what kinds of updates will be allowed by the DNS server.

| improve this answer | |
  • Perfect, thanks. – elbarna Nov 27 '19 at 2:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.