在研究我的操作系统 (Ubuntu 12.04) 的 DNS 设置如何工作时,我遇到了一些在网上找不到的问题。
我观察到 Ubuntu 使用dnsmasq
DNS 解析器。查看 时/etc/resolv.conf
,127.0.1.1 被列为名称服务器。
所以这里的问题是,如果 dnsmasq 只是用作解析器,并且解析器通常会/etc/resolv.conf
查找名称服务器的 IP,那么这有什么意义呢?
dnsmasq
它仅在用作本地 DNS 服务器时才有意义,这意味着实际操作系统的解析器会将所有 DNS 查询发送到dnsmasq
端口 53 上的本地侦听。
答案1
如果您阅读了大量文档,dnsmasq 就会很有意义。
所有内容都要求本地端口 53 进行名称解析,因此这意味着它实际上是本地 DNS 代理。然后,当您配置系统 DNS 时,它会查找外部查询信息。
您没有在 /etc/resolv.conf 中配置 dnsmasq。需要配置大约 3 或 5 个文件才能在运行时动态填充 resolv.conf。
检查 archwiki 了解详细信息(这是我找到的有关 dnsmasq 配置的最佳资源),但足以说明 dnsmasq 实际上是一个本地 dns 代理,允许您集中管理其他应用程序。
举例来说,您想要通过 SSL 和 TCP 静态配置安全 dns。您不必让每个应用程序都理解它。你只需要了解 dnsmasq 就可以理解它。然后所有应用程序都会神奇地理解。
我有一段时间犹豫是否喜欢 dnsmasq,但我现在明白为什么这是一个好主意。