编辑:我解决了这个问题。这是我能想到的最后一件事……Windows 防火墙 !!!
我使用 Virtual Box 4.1.18 在 Ubuntu Server 12.04 LTS 上托管 Windows 2008 Server 虚拟机。Windows 客户机适配器桥接在 ubuntu 的 eth0 NIC 上,可从主机(ubuntu 服务器)和同一网络上的其他计算机 ping 通。客户机(Windows 2008 服务器)也可以 ping 主机和网络上的其他计算机。
但是主机和其他机器都无法访问客户机上托管的 Web 应用程序(http,端口 80)。使用客户机的 IE 浏览器,我可以访问该应用程序,因此它已经正常运行。
我尝试为客户机的 NIC 设置混杂模式:
VBoxManage modifyvm "Win2008Server_x64" --nicpromisc1 allow-all
,但这并没有起到作用。
我的iptables
规则表明所有流量都是允许的“Ubuntu 应该默认这样做”:
root@mysql:~# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
root@mysql:~# iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
关于端口转发,我不需要这样做,因为我正在将客户机的 NIC 桥接到主机的 NIC 上,对吗?
在虚拟机上,我使用端口 8080 运行 tomcat7。因此,我将 Web 服务器的端口从 80 更改为 8080,但这也不起作用,所以我猜这与 ubuntu 无关。这与虚拟机配置有关,但我搞不清楚!
答案1
这是我能想到的最后一件事......Windows 防火墙!!!