
我在 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在我的瀏覽器上