这是同样的问题在这里问但没有迹象表明 Eddie 的问题已经得到解决。另外,我已经查看了各种答案,并尝试了建议的方法,但没有成功。
我有一台运行 DHCP 服务 (V3.0.7) 和 BIND9 (9.6.0-P1) 的 Linux 机器。我已将其配置为让 DHCP 服务更新本地 DNS 区域。DNS 更新对 Windows 和 Mac 客户端运行正常,但对 Linux (Debian Lenny 和 Ubuntu 8.10) 则不行。查看 dhcp.leases 文件,我看到为发给 Win 和 Mac 客户端的租约添加了 DDNS 相关信息,但发给 Linux 客户端的租约没有该信息。租约文件摘录:
lease 192.168.10.199 {
starts 4 2010/01/07 00:56:43;
ends 5 2010/01/08 00:56:43;
tstp 5 2010/01/08 00:56:43;
binding state active;
next binding state free;
hardware ethernet 00:0c:e5:4d:9e:e9;
uid "\001\000\014\345M\236\351";
set ddns-rev-name = "199.10.168.192.in-addr.arpa.";
set ddns-txt = "316ae6c100af725fdd91f9de7f200d6c7a";
set ddns-fwd-name = "dell.mylocaldomain";
client-hostname "dell";
}
lease 192.168.10.198 {
starts 4 2010/01/07 05:14:39;
ends 5 2010/01/08 05:14:39;
binding state active;
next binding state free;
hardware ethernet 00:1c:42:e2:6f:4a;
client-hostname "ubuntu";
}
dhcpd.conf的相关部分:
authoritative;
ddns-updates on;
ddns-update-style interim;
ignore client-updates; # Have also tried allow client-updates, no change
update-static-leases on;
include "/etc/rndc.key";
zone mylocaldomain {
primary 192.168.10.1;
key rndckey;
}
zone 10.168.192.in-addr.arpa. {
primary 192.168.10.1;
key rndckey;
}
我已经停止了 DHCP 和 DNS 服务,并清除了与客户端相关的所有信息,例如租约和 DNS 记录。区域日志文件已被删除,服务已重新启动。在强制客户端续订租约后,我仍然得到相同的结果。
我遗漏了什么?为什么 Linux 租约不更新 DNS?既然应该由 DHCP 服务进行更新,那么客户端使用的是什么操作系统又有什么关系呢?
答案1
您的 Linux DHCP 客户端是否要求动态 DNS 更新?我在您的问题中看不到有关此信息的任何信息,如果没有它,您的 Linux DHCP 请求将不会在服务器端获得 DDNS 注册。查看dhclient.conf
(5) 中的“动态 DNS”部分以了解所需设置的详细信息。
答案2
我的问题是, Ubuntu 10.04(Lucid)DHCP 客户端的A
记录PTR
没有在运行 DHCP 和 DNS 服务的 Windows 2003 Server 上更新。
我在网上搜索时找到了这个帖子windows dhcp ddns linux client
,因此即使如果这并不能解决 OP 的问题,但很有可能可以解决与我遇到过类似情况的其他人的问题。
检查了 C:\WINDOWS\System32\dhcp 中的日志后,我发现 LAN 上的所有客户端都在进行 DHCP→DNS 更新除了对于 Ubuntu 机器,类似于 John 对他的问题的描述。这让我认为这是 DHCP 客户端必须做的事情要求。(尽管我在 DHCP 服务器属性中明确勾选了“始终动态更新 DNS A 和 PTR 记录”选项。哼。)
这个帖子给了我我需要的精确解决方案:
send fqdn.fqdn "mymachine.mydomain";
send fqdn.encoded off;
# ^^^ not sure if this is essential, or even desired, but
# it worked, so I'm not complaining.
send fqdn.server-update on;
do-forward-updates on;
# ^^ which may be the default anyway
添加到 就/etc/dhcp3/dhclient.conf
成功了。续订租约后,Ubuntu 客户端的 DHCP 到 DNS 更新就顺利完成了,就像 Windows DHCP 客户端一样。