我在 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在我的浏览器上