從主機存取在 Fedora 來賓 VirtualBox 中執行的 Apache 伺服器

從主機存取在 Fedora 來賓 VirtualBox 中執行的 Apache 伺服器

我無法從主機存取 Apache 伺服器。

我在 Windows 7 上安裝了 Fedora 15 VM VirtualBox。

不知道我還能做些什麼來讓它運作。

這是我的配置。主機作業系統IP:

   IPv4 Address. . . . . . . . . . . : 192.168.0.10
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.0.2

對於虛擬機,我安裝了兩個網路適配器:

  1. NAT使VM機器可以存取Internet,它可以工作。
  2. 僅主機適配器。

僅主機網路詳細信息 僅主機 DHCP 伺服器

這是訪客上的配置:

[root@localhost network-scripts]# ifconfig
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:14 errors:0 dropped:0 overruns:0 frame:0
          TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1394 (1.3 KiB)  TX bytes:1394 (1.3 KiB)

p2p1      Link encap:Ethernet  HWaddr 08:00:27:DD:DD:EA  
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fedd:ddea/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1289 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1207 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:936406 (914.4 KiB)  TX bytes:137003 (133.7 KiB)

p7p1      Link encap:Ethernet  HWaddr 08:00:27:44:A3:DB  
          inet addr:192.168.56.101  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe44:a3db/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:313 errors:0 dropped:0 overruns:0 frame:0
          TX packets:386 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:30505 (29.7 KiB)  TX bytes:44783 (43.7 KiB)

當我ping 192.168.56.101從主機執行此操作時,我會得到正確的回應,但所有存取 Web 服務的嘗試都會失敗。我收到超時錯誤。

答案1

通常,當允許 ICMP 流量(例如,ping)到達虛擬化來賓但 TCP 流量(例如,HTTP 請求)被阻止時,問題出在來賓作業系統上運行的軟體防火牆。

筆記:本說明中的指令語法是 Fedora Core 特定的,但可以抽像出一般步驟以用於其他 Linux 發行版。

Fedora Core 的預設安裝已啟用 IPTables。檢查 IPTables 服務的狀態以查看是否處於「活動」狀態。

[root@gauss ~]# /bin/systemctl status iptables.service

此外,若要查看目前活動的 IPTables 規則,請檢查 IPTables 初始化腳本的狀態。

[root@gauss ~]# /usr/libexec/iptables.init status

如果 INPUT 鏈中存在類似於下麵包含的規則的 IPTables,則它負責阻止到主機的 TCP/IP 和 UDP 流量。

REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

關於如何啟用HTTP 流量,有多種選項(例如,在INPUT 鏈中新增IPTables 規則,以明確接受來自虛擬機器管理程式的僅主機網路IP 192.168.56.1 的連接埠80 上的TCP 流量,刪除INPUT 中的通用DROP 規則鍊等)。

由於來賓不面向外界且位於僅主機網路上,因此最簡單的選擇是停止 IPTables 並停用它,以便它不會在重新啟動時自動啟動。

[root@gauss ~]# /bin/systemctl stop  iptables.service
[root@gauss ~]# /bin/systemctl disable iptables.service

完成此操作後,Fedora Core 來賓將能夠透過其公共介面提供 HTTP 請求,並且可以透過在瀏覽器或任何其他 HTTP 用戶端中輸入 192.168.56.101 在 Windows 7 虛擬機器管理程式上查看頁面。

相關內容