為什麼我的虛擬機器上的虛擬主機沒有回應?

為什麼我的虛擬機器上的虛擬主機沒有回應?

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

相關內容