dnsmasq 在这个环境中提供了任何好处吗?

dnsmasq 在这个环境中提供了任何好处吗?

考虑一个跨多个站点的私有网络,每个站点都有自己的 DNS 服务器,用于解析内部私有 IP/主机。无需 DHCP。

任何服务器已运行 dnsmasq,将 127.0.0.1 设置为 DNS(在 内resolv.conf),并且 dnsmasq 配置指向本地 DNS 服务器。基本上,dnsmasq 似乎仅充当 DNS 代理。

与通常的将每台服务器直接指向本地 DNS 服务器的配置相比,此配置有什么好处?我预计在这种情况下主机名/IP 也会被缓存,不是吗?

答案1

dnsmasq可能是一种选择。如果您启用缓存,您可能会获得一些性能,您可以添加一些自定义配置(例如将“本地”查询发送到您的站点 DNS 并将“公共”查询发送到 google 的 8.8.8.8)并更好地监控 DNS 活动。但我个人会评估其他替代方案,例如 Power DNS Recursor(https://www.powerdns.com/recursor.html)或结解析器(https://www.knot-resolver.cz/

这些 DNS 解析器具有更多功能dnsmasq(例如支持 RPZ),因此如果您对本地解析器感兴趣,则应该对它们进行评估。

答案2

许多最近的 Linux 发行版都依赖dnsmasq于其名称解析,请参阅解释。主要原因是:

这样做是为了更好地支持 VPN 用户的拆分 DNS,并更好地处理 DNS 故障和回退。出于安全原因,此 dnsmasq 服务器不是缓存服务器,以避免与本地缓存中毒和用户在多用户系统上窃听其他 DNS 查询相关的风险。

我也发现它相当烦人,因为我觉得我失去了对 DNS 管理的一些控制,而且发现它不像它想象的那么方便,更多的缓存,在复杂设置的情况下更多的调试等等。

幸运的是,通过注释掉下面这一行就可以很容易地摆脱这种行为:

dns=dnsmasq

/etc/NetworkManager/NetworkManager.conf重新启动网络管理器

启用 systemd 的操作系统

# sudo systemctl 重启网络管理器

SysV / upstart

# sudo 服务网络管理器重启

相关内容