Ich habe einen funktionierenden DNS+DHCP-Server. Wenn Clients die IP vom dchpd-Server erhalten, sendet dieser den Hostnamen an den DHCP+DNS-Server und funktioniert einwandfrei. Es gibt jedoch nur ein Problem: Angenommen, ein Client heißt nagios1.myzone.com. Aus irgendeinem Grund lösche ich ihn und ersetze ihn durch einen anderen mit demselben Namen, aber einer anderen Linux-Distribution und natürlich einer anderen DHCID (DHCP-Client-ID). Der DNS+DHCP-Server gibt diesen Fehler zurück:
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.
Ich habe einen Workaround dafür, löschen Sie einfach den TXT-Eintrag mit dieser Zeile
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
dann verwenden Sie den Befehl nsupdate file.txt
Meine Frage ist: Ist es möglich, die dynamische Aktualisierung des DHCID/TXT-Eintrags zu erzwingen oder zu erstellen? Ich habe DNS mit diesen Einstellungen konfiguriert
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;
};
Das dynamische Update funktioniert für alle, getestet A und PTR, warum nicht für TXT/DHCID?
Antwort1
Die DHCID-Einträge sind Teil eines Schemas zur Identifizierung, welcher Client derzeit die entsprechenden anderen dynamisch aktualisierten DNS-Einträge mit demselben Namen besitzt; sieheRFC 4701.
Die TXT-Einträge sind ein älteres Schema für denselben Zweck: Wenn Sie ISC dhcpd
als DHCP-Server verwenden und festgelegt haben, ddns-update-style standard;
werden DHCID-Einträge verwendet. Wenn Sie festgelegt haben, ddns-update-style interim;
werden stattdessen TXT-Einträge verwendet.
Wenn Sie möchten, dass ein DHCP-Client immer die DNS-Einträge für die IP-Adresse überschreiben kann, die er aktuell hält, unabhängig von den DHCID/TXT-Einträgen, müssen Sie IhrenDHCP-Servermit update-conflict-detection off;
(oder gleichwertig für andere DHCP-Server als den ISC dhcpd
). Dadurch werden einfach die alten Einträge gelöscht und neue erstellt, auch wenn ein anderer Client-ID-Eintrag vorhanden ist.
Wenn nur der DHCP-Server (und der Administrator) DDNS-Updates durchführen darf, ist dies wahrscheinlich akzeptabel. Wenn Sie Clients erlauben, ihre eigenen DDNS-Updates direkt an den DNS-Server zu senden, kann das Deaktivieren der Konflikterkennung böswilligen Clients ermöglichen, sich als andere Clients oder wichtige Server in der Zone auszugeben, je nachdem, welche Arten von Updates der DNS-Server zulässt.