我正在运行 dhcp-4.0.2 服务器和 bind-9.6.1-P3。
当名为“harry”的新 Mac OSX DHCP 客户端连接到网络时,DHCP 服务器为其提供租约,并通过 DDNS 添加适当的 A 和 PTR 记录。这很好用;harry.my.domain 指向(例如)192.168.1.3,Mac 客户端知道它的名字是 harry.my.domain,192.168.1.3 又指向 harry.my.domain,这一切都很好。
现在我希望 *.harry.my.domain 解析为 192.168.1.3,并且我不想进入并将通配符记录添加到区域文件中。我希望 Mac 连接到网络,并让主机名和通配符子域解析为其提供的 IP 地址。
有没有办法做到这一点?
谢谢!
将以下记录添加(仅一次)到您的 BIND 区域文件中:
这不是微不足道的。
您需要使用“on commit {}”事件处理程序禁用内置的 DDNS 内容并自行重新实现动态 DNS。dhcpd.conf(5) 手册页的“参考:事件”部分将用户指向源代码 (server/dhcpd.c) 第 72 行的一个字符串,该字符串包含一个此类处理程序。这似乎表明每种事件类型只能存在一个处理程序。
不幸的是,那里的处理程序已经过时并且不使用符合 RFC 的更新,所以你也必须修复它。也就是说,它可能就像用 dhcp-eval(5) 中记录的较新的 ddns-update() 调用替换 ns-update() 函数调用一样简单。
如果你让它工作,你能发布你最终使用的事件处理程序吗?