我有一个dynamic的DNS的大部分工作。 我可以使用nsupdate手动更新DNS条目,并且我的dhcpd.conf文件将尝试设置DNS条目。
然而,这个失败,因为我没有绑定运行在一个标准的端口,我有unbound在53端口运行,所以我得到的错误。
dhcpd: Unable to add forward map from XXX to 192.168.0.19: NOTIMP
这是预期的。
我想要做的是让dhcpd能够与非标准端口上的绑定服务器通信。
我努力了
zone myzone. { primary 192.168.0.125:5252; }
和
zone myzone. { primary 192.168.0.125 5252; }
和
zone myzone. { primary 192.168.0.125; port 5252; }
这似乎没有任何工作。
有没有办法指定DNS服务器的端口?
我在同一台机器上更新,所以我不使用区域文件,但我知道更新可以工作,如果在正确的端口,因为与nsupdatetesting。
你没有详细说明你的操作系统,所以我假设Linux。
dhcpd似乎没有用于自定义ddns服务器端口的选项或参数,至less它不在我见过的任何手册页中。
因此,一个选项可能是使用iptables(或任何防火墙)来重写到您的dns服务器udp / 53或tcp / 53的出站数据包到它真正监听的端口。
关于如何做到这一点的答案在这个问题上提供了Stackoverflow: https : //stackoverflow.com/questions/242772/using-iptables-to-change-a-destination-port
您可以通过只重写来自运行您的dhcpd进程的特定用户拥有的进程的出站数据包来进一步细化它。 这显然可以使用iptables –uid-owner指令。