NetworkManager 中的 dnsmasq 有什么用处?

NetworkManager 中的 dnsmasq 有什么用处?

我最近才意识到,与 NetworkManager 集成的 dnsmasq 默认禁用了缓存。在我看来,这违背了要点,并使 dnsmasq 成为名称解析中的冗余层。

显然,我肯定遗漏了一些东西 -NM 中的 dnsmasq 有什么用途?

答案1

关键在于切换域名服务器恼人的./etc/resolv.conf仅在您启动应用程序时读取一次(从技术上讲是第一次查找时),因此如果您更改名称服务器(因为您从无线移动到有线,再到 3g 并返回等),您将需要重新启动需要查找名称的应用程序(例如浏览器)。

通过使用本地解析器可以缓解此问题,本地解析器会及时响应这些变化,从而使应用程序保持愚蠢的状态并仅查询本地主机上的名称服务器。

答案2

man NetworkManager.conf16.04 开始,可选择dns

dnsmasq:NetworkManager 将运行 dnsmasq 作为本地缓存名称服务器,如果您连接到 VPN,则使用“拆分 DNS”配置,然后更新 resolv.conf 以指向本地名称服务器。

因此,基本上,如果您连接到 VPN,NetworkManager就可以指示dnsmasq使用任何特定于 VPN 的 DNS 服务器来获取所需域。仅使用 是无法做到这一点的resolv.conf

相关内容