У меня есть работающий сервер dns+dhcp. Когда клиенты получают ip от сервера dchpd, он отправляет имя хоста на сервер dhcpd+dns и работает нормально. Но есть только одна проблема: предположим, клиент называется nagios1.myzone.com, по какой-то причине я удаляю его и заменяю другим с тем же именем, но с другим дистрибутивом Linux и, конечно, другим DHCID (идентификатор клиента dhcp). Сервер dns+dhcp возвращает эту ошибку:
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.
У меня есть обходной путь для этого, просто удалите запись TXT с этими строками.
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
затем используйте команду nsupdate file.txt
Мой вопрос: возможно ли принудительно или создать динамическое обновление записи DHCID/TXT? Я настроил DNS с этими настройками
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 и PTR, почему не для TXT/DHCID?
решение1
Записи DHCID являются частью схемы, позволяющей определить, какой клиент в настоящее время владеет соответствующей другой динамически обновляемой записью DNS с тем же именем; см.RFC4701.
Записи TXT — это старая схема для той же цели: если вы используете ISC dhcpd
в качестве DHCP-сервера и установили, ddns-update-style standard;
то будут использоваться записи DHCID. Если вы установили, ddns-update-style interim;
то вместо этого будут использоваться записи TXT.
Если вы хотите, чтобы DHCP-клиент всегда мог переопределять записи DNS для текущего IP-адреса, независимо от записей DHCID/TXT, вам необходимо настроитьDHCP-серверс update-conflict-detection off;
(или эквивалент для DHCP-серверов, отличных от ISC dhcpd
). Это заставит его просто удалить старые записи и создать новые, даже если существует другая запись идентификатора клиента.
Если только DHCP-серверу (и администратору) разрешено выполнять обновления DDNS, это, вероятно, приемлемо. Если вы разрешаете клиентам отправлять собственные обновления DDNS напрямую на DNS-сервер, отключение обнаружения конфликтов может позволить злонамеренным клиентам выдавать себя за других клиентов или важные серверы в зоне, в зависимости от того, какие типы обновлений будут разрешены DNS-сервером.