这是这里提出的相同问题,但没有迹象表明它曾经为 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 服务时客户端拥有什么操作系统?
我的问题是Ubuntu 10.04 (Lucid) DHCP 客户端的
A
和记录未在运行 DHCP 和 DNS 服务的 Windows 2003 服务器上更新。PTR
我通过网络搜索找到了这个线程
windows dhcp ddns linux client
,所以即使这不能解决 OP 的问题,它也很有可能会解决像我一样来的其他人的问题。检查 C:\WINDOWS\System32\dhcp 中的日志后,我可以看到我们 LAN 上的所有客户端都发生了 DHCP→DNS 更新,除了Ubuntu 框,类似于 John 对他的问题的描述。让我觉得这是 DHCP 客户端必须要求的。(即使我在 DHCP 服务器属性中明确勾选了“始终动态更新 DNS A 和 PTR 记录”选项。哼。)
这篇文章给了我所需的精确解决方案:
添加到
/etc/dhcp3/dhclient.conf
做的伎俩。续订租约后,Ubuntu 客户端的 DHCP 到 DNS 更新直接完成,就像 Windows DHCP 客户端一样。您的 Linux DHCP 客户端是否要求动态 DNS 更新?我在您的问题中看不到任何信息,如果没有它,您的 Linux DHCP 请求将不会在服务器端获得 DDNS 注册。
dhclient.conf
有关所需设置的详细信息,请参阅 (5) 中的“动态 DNS”部分。