β

DDNS 报错:RRset exists (value dependent)’ prerequisi

nosa.me 120 阅读

问题场景:

我们的装机系统使用 DHCP + DNS 环境来保存 SN 和 控制卡 IP 的映射关系,很久之前开始发现控制卡因为损坏更换之后,使用 idrac-SN 解析出来的 IP 是老的,连不上,而 控制卡已经通过 DHCP 获得了新的 IP ( 通过 /var/lib/dhcpd/dhcpd.leases 查看 )。

看 DNS 的日志 /var/named/data/named.run 有类似如下报错:

21-Jul-2015 16:13:37.002 client 10.2.1.1#19205: updating zone ‘ilo.xxx.com/IN': update unsuccessful: idrac-1K39D02.ilo.xxx.com: ‘name not in use’ prerequisite not satisfied (YXDOMAIN)
21-Jul-2015 16:13:37.003 client 10.2.1.1#44065: updating zone ‘ilo.xxx.com/IN': update unsuccessful: idrac-1K39D02.ilo.xxx.com/TXT: ‘RRset exists (value dependent)’ prerequisite not satisfied (NXRRSET)

看起来是 DHCPD 更新 DNS 失败,显示 TXT 已经存在,条件不满足。

TXT 在这里是 mac 和 控制卡 hostname 等的哈希,更换控制卡之后 TXT 发生变化,和 DNS 中的 TXT 不一致,所以更新不了。

然后我做了两个尝试:
1. 把 DNS 中的 TXT/A/PTR 记录删掉,重启控制卡重新获取 IP,发现 DNS 此时可以正确加上;
2. 只把 TXT 记录删掉,同样重启控制卡重新获取 IP,不会添加 DNS。

手动删除 TXT/A/PTR 记录太麻烦了。

最好的方法是在 DHCP 中加一个选项:

update-conflict-detection false

如果 TXT 不存在或者不匹配,都会重写 TXT/A/PTR 到 DNS,是完全 OK 的,已验证。

http://comments.gmane.org/gmane.network.dhcp.isc.dhcp-client/6202

https://lists.isc.org/pipermail/dhcp-users/2013-January/016367.html

https://lists.isc.org/pipermail/dhcp-users/2013-January/016378.html

Related posts:

  1. 构建机房运维基础架构(一): 机房装机环境搭建
作者:nosa.me
未来不会有sa
原文地址:DDNS 报错:RRset exists (value dependent)’ prerequisi, 感谢原作者分享。

发表评论