dhcpd 更新非标准端口上的绑定 dns 服务器

dhcpd 更新非标准端口上的绑定 dns 服务器

我已将大部分动态 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 指令来实现。

相关内容