我正在办公室的 SLES Linux 上为内部 DNS 配置 ISC dhcpd 和 Bind9。我想把所有东西都放在一个区域,例如 city.domain.tld。我可以让 dhcpd 服务器更新该区域,但如果我向该区域添加静态记录(例如,带有其 IP 的新文件服务器),Bind 会抱怨日志不再匹配。
通过 dhcp 为服务器分配固定 IP 不是一个解决方案,因为 dhcpd 不会向 DNS 发送固定 IP 的更新。
我可以使用两个独立的区域,一个具有静态 IP,一个用于动态更新,但我不想去所有工作站(80 个左右)并添加第二个搜索后缀。
工作站混合了 Windows、Linux 和 MAC。没有域或活动目录。
有什么建议吗?删除日志并让 DHCP 重新更新 DNS 是唯一的解决方案吗?在 Google 上搜索没有找到任何结果。
2010.7.14更新:
版本号如下:
- 绑定-9.3.2-17.15
- dhcpcd-1.3.22pl4-223.2
- SLES 10 i386
如果可以解决问题,那么升级到较新版本的 Bind/dhcpd 也是可行的。
答案1
您是否正在运行 9.3.0 之后的较新版本的 bind?
如果是,您可以使用命令rndc freeze zone.tld
冻结区域。一旦处于此状态,动态更新请求将被拒绝,您可以手动编辑区域数据库。使用该命令rndc unfreeze zone.tld
将区域恢复到允许动态更新的点。如果您手动进行更改,则需要更新序列号。
答案2
您可以使用 dhcpd.conf 的全局部分中的这两个参数来使 dhcp 更新 DNS 上的固定 IP 分配:
update-static-leases on;
use-host-decl-names on;
并且在每个主机部分中,您都应该添加选项ddns-hostname
(仅当主机在请求 IP 时未向 dhcp 提供您的名称时)。例如:
host database {
hardware ethernet 00:26:73:66: e9: 9b;
fixed-address 192.168.0.1;
ddns-hostname "database";
}
您还可以查看此链接了解更多信息: