Virtualbox:如何從主機作業系統存取來賓作業系統上的Web伺服器?

Virtualbox:如何從主機作業系統存取來賓作業系統上的Web伺服器?

在大量瀏覽 RTFM 和閱讀論壇之後,我仍然遇到問題並需要一些建議。我在 Ubuntu 上使用 Virtualbox,並安裝了一台 Centos 伺服器作為訪客。我的問題是我無法從主機作業系統存取來賓作業系統上的 Web 伺服器。

詳細資訊如下: 主機作業系統是 Ubuntu 12.04 LTS(核心 3.2.0-24-generic)64 位元。

我使用 Virtualbox 4.1.12。

我從無線路由器取得 IP 位址:

eth0      Link encap:Ethernet  HWaddr 18:03:73:42:3d:ac  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:47 Base address:0xe000 

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:3784 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3784 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:378673 (378.6 KB)  TX bytes:378673 (378.6 KB)

wlan0     Link encap:Ethernet  HWaddr 64:27:37:69:c5:d2  
          inet addr:192.168.1.15  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::6627:37ff:fe69:c5d2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:124013 errors:0 dropped:0 overruns:0 frame:0
          TX packets:82469 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:164307087 (164.3 MB)  TX bytes:9744555 (9.7 MB)

因此,我安裝了 CentOS 作為來賓作業系統,並且我想存取它的 http 伺服器。在 Virtualbox 的網路設定中,我有以下內容:附加到橋接適配器

名稱:wlan0

我允許虛擬機器使用混雜模式。

並且「電纜已連線」打勾。

在 CentOS 電腦上,eth0 介面取得 IP 位址 192.168.1.20,遮罩為 255.255.255.0。到目前為止一切看起來都正常,兩個系統可以互相 ping 通。我啟動了 Web 伺服器,它正在偵聽連接埠 80 - 使用 netstat 檢查。 (但是沒有更改網路伺服器的預設設定檔。)

當我想連接到 CentOS 機器上的 Web 伺服器時,我無法連線。 Firefox 說“無法連接”,Chrome 也不滿意:Chrome 無法連接到 192.168.1.20。 (我在這裡沒有使用任何代理。)

我嘗試遠端登入到來賓系統上的連接埠 80 - 沒有任何樂趣:

:~$ telnet 192.168.1.20 80
Trying 192.168.1.20...
telnet: Unable to connect to remote host: No route to host

不確定它是否重要,但來賓作業系統上的路由表在這裡:

[root@centos ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
link-local      *               255.255.0.0     U     1002   0        0 eth0
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0

(很有趣,我剛剛發現我可以從 Ubuntu ssh 到 CentOS。)

我在 Virtualbox 中嘗試了不同的設置,但上面的設置最接近人們在不同論壇上的建議。嘗試了 NAT 與連接埠轉送、僅主機適配器,但我未能修復它。

有人可以為我照亮一些嗎?乾杯

答案1

解決方案是在來賓作業系統的防火牆上打開端口,如下所述: http://wiki.centos.org/HowTos/Network/IPTables

Virtualbox 中的網路設定正常 - 橋接網路是正確的設定。

答案2

如下所示停用來賓作業系統內部防火牆應該允許您存取。類型

service iptables stop
chkconfig iptables off

在來賓作業系統中時在命令列中。

相關內容