我已将大部分动态 DNS 设置到工作状态。我可以使用手动更新 DNS 条目nsupdate
,我的 dhcpd.conf 文件将尝试设置 DNS 条目。
然而,由于我没有在标准端口上运行绑定,因此这失败了,我在端口 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 服务器指定端口?
我在同一台机器上进行更新,因此我没有使用区域文件,但我知道如果在正确的端口上更新就可以起作用,因为已经使用 nsupdate 进行了测试。
答案1
您没有详细说明您的操作系统,因此我假设是 Linux。
dhcpd 似乎没有用于自定义 ddns 服务器端口的选项或参数,至少在我见过的任何手册页中都没有。
因此,一个选项可能是使用 iptables(或任何您拥有的防火墙)将发往您的 dns 服务器 udp/53 或 tcp/53 的出站数据包重写到它真正监听的端口。
Stackoverflow 上的这个问题提供了有关如何执行此操作的答案: https://stackoverflow.com/questions/242772/using-iptables-to-change-a-destination-port
您可以通过仅重写运行 dhcpd 进程的特定用户所拥有的进程的出站数据包来进一步细化它。这显然可以使用 iptables --uid-owner 指令来实现。