将 DNS 条目从 Dnsmasq 拉到其他 DNS 服务器

将 DNS 条目从 Dnsmasq 拉到其他 DNS 服务器

背景

我的部门有一个开发网络,其理念是建立大量本地局域网,用于测试各种配置的设备。连接这些本地局域网的桥接开发网络用于管理目的。

  • 开发网络是10.100.0.0/16
  • 可能存在10.100.50.0/2410.100.55.0/24和中的本地局域网10.100.60.0/24
  • 每个本地 LAN 都有自己的本地路由器/DHCP 服务器网关
  • 本地 LAN 的网关路由器被赋予了静态 IP 地址10.100.10.0/24,上游是 dev 网络上的主路由器
  • 开发网络上的主路由器为我们想要连接的随机客户端(工作站等)运行 DHCP 服务器
  • 开发网络上的主路由器已分配路由,因此本地 LAN 绑定流量被定向到本地 LAN 网关的 IP
    • 例如,如果本地 LAN 网关具有 IP10.100.10.43和 DHCP 块10.100.50.0/24,则主路由器上设置的路由会将所有发10.100.50.0/2410.100.10.43
    • 这允许在不同网关后面的设备之间进行路由

问题

我想对 DNS 执行与路由相同的操作。即,我希望不同网关后面的设备能够解析彼此的名称。

目前,网关和主路由器都为其 DHCP 服务器运行 Dnsmasq,因此 DNS 条目在每个本地 LAN 内均可解析。而且,由于网关使用主路由器作为其上游 DNS 服务器,因此开发网络上的设备可由网关后面的设备解析。

但是,一个网关后面的设备无法解析另一个网关后面的设备的名称。

解决方案

我想运行一个单独的 DNS 服务器,以便将所有路由器(包括主路由器和网关)指向该服务器。理想情况下,此 DNS 服务器将连接所有路由器并导入 Dnsmasq 为其当前租用的客户端注册的所有本地 DNS 条目。因此,通过将我的客户端指向此主 DNS 服务器,我可以解析任何内部主机名。

问题

这可能吗?如果可以,有哪些资源可以帮助我入门?

如果不是,我需要做哪些改变才能获得相同的功能?

有没有更好的方法可以做到这一点? 如果有,那是什么?

作为参考,主路由器是Ubiquiti EdgeRouter-4,而网关Ubiquiti EdgeRouter-X

答案1

来自手册页

–dhcp 脚本=

每当创建新的 DHCP 租约、销毁旧的 DHCP 租约或完成 TFTP 文件传输时,都会运行此选项指定的可执行文件。...

使用此脚本在主 DNS 服务器上执行 nsupdate。主服务器不能是 dnsmasq,因为 dnsmasq 不支持这种更新。使用普通绑定服务器并将其配置为接受更新。

相关内容