在将 Ubuntu 9.04 Desktop 或 Server 全新安装到 VMWare Workstation 6.52 虚拟机后,我无法连接到任何远程站点(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 传入和传出(这些条目实际上设置为允许所有流量在所有端口上)。
有趣的是,如果我同时运行服务器虚拟机和桌面虚拟机,我可以使用服务器虚拟机的 ip 地址通过 Firefox 从桌面虚拟机访问服务器虚拟机的网络服务器。
因此,VM 间的 80 端口访问正常,但远程主机的 80 端口不工作。
每个 VM 的网络适配器都处于 NAT 模式。
有任何想法吗?
编辑 - 解决方案:
事实证明,这是在 Windows 7 beta 下运行的 VMWare 6.52 的一个错误。解决方法是切换到桥接模式。我必须从 Ubuntu 内部手动分配 VM 网络适配器的 IP 设置才能使桥接模式正常工作,因为 DHCP 不起作用。
在 NAT 模式下,主机操作系统的防火墙软件负责管理虚拟机与外界的通信。在主机内部(例如从您的客户桌面到您的客户服务器),通信不会通过防火墙。但是来宾操作系统的防火墙也应该阻止通信。我建议先将网络接口更改为桥接模式。它将绕过主机操作系统的防火墙。如果现在通信正常,您应该在主机的防火墙上配置防火墙例外。如果仍然不起作用,请检查来宾上的防火墙配置。(访客的防火墙不太可能阻止通信,因为它适用于访客服务器)并且您应该在主机上设置其他防火墙,以便任何东西都可以阻止您的通信。
事实证明,这是在 Windows 7 beta 下运行的 VMWare 6.52 的一个错误。解决方法是切换到桥接模式。我必须从 Ubuntu 内部手动分配 VM 网络适配器的 IP 设置才能使桥接模式正常工作,因为 DHCP 不起作用。