Windows 7 / VirtualBox / VMWare:DNS:本地名称失败 - 甚至 DNS 查找都不起作用,FQDN 也起作用

Windows 7 / VirtualBox / VMWare:DNS:本地名称失败 - 甚至 DNS 查找都不起作用,FQDN 也起作用

我的问题简而言之:

输入http://app01:8084/浏览器找不到我的服务器。输入http://app01.my.domain.com:8084/可以。

使用本地名称 Wireshark 甚至无法捕获 DNS 请求。nslookup 可以正确查找“app01”。

细节:

(Windows 7 Ult. 64、VirtualBox 4.3.10、VMWare Workstation 10.0.2)

我在 VirtualBox 中有一个虚拟机,其中包含一个 rails 应用程序。端口转发已设置为 localhost:8084 -> vm:80、8184 -> 443 和 2242 -> 22。我有一台 Mac OS X Mavericks 服务器 (OS X Server),它也是一个名称服务器。名称服务器包含我的工作站的条目,如下所示:

w7ult64.my.domain.com -> 192.168.1.115 已添加别名,其中包括“name1”、“app01”。(几个月前我添加了“name1”,类似的 URLhttp://name1:8084/运行良好。)

现在我添加了 app01 别名,但它不起作用。我启动了浏览器。我启动了 WireShark 来捕获所有网络接口。我进入http://app01:8084/浏览器,它开始空转。我查看了 Wireshark 捕获,没有一个 DNS 查找。

我从命令行运行 nslookup。app01 已完美解析,并且我在 wireshark 捕获中看到了适当的查找。

网络接口以“my.domain.com”作为 DNS 后缀。(“my.domain.com”仅在本次讨论中 - 实际域名是我拥有的。)

所以我有点困惑为什么浏览器不能做nslookup能做的事情。

查看 wireshark 捕获,我注意到当浏览器尝试查找 app01 时,某个网络上有大量重传条目。该网络来自 virtualbox(“VirtualBox 仅主机网络 #5”),该网络在适配器 2 上的实际 VM 中用作仅主机网络。

我该如何修复此问题?

(我还注意到了这一点:启动工作站后,Opera 和 Chrome 需要很多秒(20 秒?)才能访问外部网站。Firefox 会立即打开它。不知何故,我怀疑这些浏览器进行 DNS 查找的方式可能存在差异?)

答案1

该问题是由 hosts 文件中的条目引起的,该文件是由我在 VirtualBox / Vagrant 设置中使用的 hostmanager 插件创建的。 (实际上问题出在我身上,我试图将 app01 分配给我的工作站,而该工作站已经 (本地) 分配给了 VM。)

由于该条目位于 hosts 文件中,因此我看不到 DNS 查找。由于我在 URL 中指定了映射端口 (8084),因此它尝试连接到“实际 IP”上未打开的端口。当我使用 app01:80 时,它就可以正常工作。

另一个提示可能是,在另一台计算机上,“app01:8084”可以工作。

简而言之:如果您没有看到 DNS 查找,请查看 hosts 文件:)

相关内容