我很困惑nslookup总是从服务器 127.0.0.1得到结果
是不是因为 Ubuntu 使用了dnsmasq的本地 DNS 缓存?但是我已经关闭并刷新了我的dns缓存,然后nslookup一个我从未访问过的主机,然后输出仍然是127.0.0.1。
这让我很困惑。谁能为我解释一下?顺便说一下,我的 DNS 服务器设置为 8.8.8.8。
Sil*_*lke 12
默认情况下,Ubuntu 确实使用 Dnsmasq 缓存 DNS 条目。当 DNS 条目不在其缓存中时,Dnsmasq 会进行查找,这就是为什么在不指定名称服务器的情况下进行 DNS 查找时您总是会看到localhost( 127.0.0.1) IP 地址的原因。
在联机帮助页中,它的解释如下:
Dnsmasq 接受 DNS 查询,并从小型本地缓存中回答它们,或者将它们转发到真实的递归 DNS 服务器。它加载 /etc/hosts 的内容,以便可以解析未出现在全局 DNS 中的本地主机名,并回答 DHCP 配置主机的 DNS 查询。
可以通过编辑/etc/NetworkManager/NetworkManager.conf和更改dns=dnsmasq为来覆盖此行为#dns=dnsmasq,之后您需要重新启动网络管理器服务 ( sudo service network-manager restart)。