在 VMWare Workstation 6.52 虚拟机中全新安装 Ubuntu 9.04 桌面版或服务器后,我无法连接到任何远程站点(google.com 等)上的端口 80。
我可以 ping 远程站点,但是端口 80 上的任何内容都无法连接。
例如,
sudo apt-get update
...最终将会超时。
wget http://google.com
... 将 google.com 解析为 74.125.45.100:80,但随后会超时。
ping google.com
... 工作正常。我可以 ping 任何站点。
我的主机操作系统是 Windows 7 Build 7068。我已通过完全禁用防火墙来检查它是否是主机防火墙,同时确保例外列表中的任何 VMWare 条目都允许端口 80 传入和传出(这些条目实际上设置为允许所有端口上的所有流量)。
有趣的是,如果我同时运行服务器虚拟机和桌面虚拟机,我可以通过 Firefox 使用服务器虚拟机的 IP 地址从桌面虚拟机访问服务器虚拟机的 Web 服务器。
因此,虚拟机之间的 80 端口访问正常,但远程主机的 80 端口无法正常工作。
每个虚拟机的网络适配器都处于 NAT 模式。
有任何想法吗?
编辑-解决方案:
事实证明这是在 Windows 7 beta 下运行的 VMWare 6.52 的一个错误。解决方法是切换到桥接模式。我不得不从 Ubuntu 内部手动分配 VM 网络适配器的 IP 设置才能使桥接模式正常工作,因为 DHCP 不起作用。
答案1
在 NAT 模式下,主机操作系统的防火墙软件管理虚拟机与外界的通信。在主机内部(例如从客户机桌面到客户机服务器),通信不会穿过防火墙。但通信也应该被客户机操作系统的防火墙阻止。我建议先将网络接口更改为桥接模式。它将绕过主机操作系统的防火墙。如果通信现在正常,您应该在主机的防火墙上配置防火墙例外。如果仍然不起作用,请检查客户机上的防火墙配置。(客户机的防火墙不太可能阻止通信,因为它对客户机服务器有效)并且您应该在主机上安装其他防火墙,这样任何东西都可以阻止您的通信。
答案2
事实证明这是在 Windows 7 beta 下运行的 VMWare 6.52 的一个错误。解决方法是切换到桥接模式。我不得不从 Ubuntu 内部手动分配 VM 网络适配器的 IP 设置才能使桥接模式正常工作,因为 DHCP 不起作用。