![Ubuntu 16.10 - Virtualbox - 主机名可以通过 host 命令解析,但不能通过 ping 或浏览器解析](https://linux22.com/image/1143294/Ubuntu%2016.10%20-%20Virtualbox%20-%20%E4%B8%BB%E6%9C%BA%E5%90%8D%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%20host%20%E5%91%BD%E4%BB%A4%E8%A7%A3%E6%9E%90%EF%BC%8C%E4%BD%86%E4%B8%8D%E8%83%BD%E9%80%9A%E8%BF%87%20ping%20%E6%88%96%E6%B5%8F%E8%A7%88%E5%99%A8%E8%A7%A3%E6%9E%90.png)
我在 Windows 10 主机上的 Virtualbox 上使用 Ubuntu 16.10。网络使用桥接模式,一切似乎都运行良好,只是我们为所使用的网络服务之一设置了主机名。出于某种原因,当我尝试 ping 它或在浏览器中尝试使用它时,这个主机名无法解析。
nslookup
奇怪的是,当我使用或 时,它确实解析到正确的 IP host
。连接管理器正在为我们的 DNS 服务器使用正确的 IP。
有趣的是,这个主机名-
中间有一个,.local
末尾有一个。
知道是什么原因导致了这个问题吗?
答案1
以 .local 结尾的主机名在 Linux 中默认被视为 mDNS,不会执行正常的 DNS 查找(更多信息请阅读https://en.wikipedia.org/wiki/.local)您可以通过编辑 /etc/nsswitch.conf 来更改此行为,并查找以下行
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
并更改顺序以使 DNS 优先,例如:
hosts: files dns mdns4_minimal [NOTFOUND=return] mdns4