为什么我的虚拟机上的虚拟主机没有响应?

为什么我的虚拟机上的虚拟主机没有响应?

我在 VirtualBox 上运行 CentOS 6.6 作为虚拟机,并启用了 NAT。我还在虚拟机上运行了一个 zeus Web 服务器。设置如下。

Host =====SSH====== VM  ========= Web Server
MacOS          CentOS 6.6            Zeus

通过端口转发,我可以 ssh 进入虚拟机(端口 22),并且可以访问 zeus Web 服务器(端口 9090)的管理页面。但是,当我尝试为网站转发任意数字(例如 8080)时,浏览器访问或 wget 不起作用。

Host-Port    VM-Port      Connection
2222           22           Works fine
9090          9090          Works fine
8080          8080             ??

我尝试使用 ncat 来隔离问题是否源于 zeus Web 服务器或端口转发,但结果似乎是端口转发问题。

$sudo ncat -lk 9090
GET / HTTP/1.1
User-Agent: Wget/1.18 (darwin15.5.0)
$sudo ncat -lk 8080
#nothing

我的下一个故障排除步骤应该是什么?有人知道我可能做错了什么吗?

答案1

该问题是由 Linux 防火墙和 zeus 配置引起的。我注释掉了拒绝接受默认策略的所有 tcp 数据包的一行

$sudo cat /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
#-A INPUT -j REJECT --reject-with icmp-host-prohibited            #<---THIS ONE
#-A FORWARD -j REJECT --reject-with icmp-host-prohibited\
COMMIT

然后我还从以下更改了 Zeus 虚拟主机设置

before
Host Name:127.0.0.1
Alias:

after
Host Name:10.0.2.15
Alias:localhost

10.0.2.15是NAT在VM中设置的IP地址。

现在我可以通过输入访问虚拟主机上的基本index.htmlhttp://本地主机:8080在我的浏览器上

相关内容