我正在从 共享互联网eth1
。eth2
我通过编辑eth2
属性并设置method
为共享至其他计算机。
我还使用 dnsmasq 进行 DNS 缓存。现在,如果我启用 Internet 共享,我必须停止现有的 dnsmasq 实例,因为网络管理器会启动其自己的 dnsmasq 实例。但这个新的 dnsmasq 实例没有 DNS 缓存选项。
现在我的 DNS 查询花费了更多时间。
我如何更改 dnsmasq 或网络管理器,以便当网络管理器启动 dnsmasq 时它也支持 dns 缓存?
一些常见问题。
- “花费更多时间“, 还有多少?
- 使用 DNS 缓存需要
0ms
。无需100ms
。
- 使用 DNS 缓存需要
- 你是如何测量这个时间的
- 使用
dig
命令
- 使用
答案1
在 Precise 中,NetworkManager 控制的 dnsmasq 进程与默认配置中的独立 dnsmasq 服务器发生冲突。这是错误 #959037。
在 Quantal 中,NetworkManager 控制的 dnsmasq 进程监听 127.0.1.1 而不是 127.0.0.1。因此,在 Quantal 中可以运行独立的 dnsmasq,与 NM-dnsmasq 一起监听所有接口(包括 127.0.0.1 上的 lo)。在默认配置中,独立的 dnsmasq 会将查询转发到 NM-dnsmasq,后者会根据 NetworkManager 的决定将查询转发到机器外。
“我如何更改 dnsmasq 或网络管理器...”这个问题的答案是,如果不重新编译 NetworkManager,您就无法在 Precise 中进行所需的更改。在 Quantal 中,可以通过 /etc/NetworkManager/dnsmasq.d/ 中的文件配置 NetworkManager 控制的 dnsmasq。