Virtualbox: ホスト OS からゲスト OS 上の Web サーバーにアクセスするにはどうすればよいでしょうか?

Virtualbox: ホスト OS からゲスト OS 上の Web サーバーにアクセスするにはどうすればよいでしょうか?

たくさんの RTFM とフォーラムの閲覧をしましたが、まだ問題があり、アドバイスが必要です。Ubuntu で Virtualbox を使用しており、ゲストとして Centos サーバーをインストールしています。問題は、ホスト OS からゲスト OS 上の Web サーバーにアクセスできないことです。

詳細は次のとおりです: ホスト OS は 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)

そこで、ゲストOSとしてCentOSをインストールし、そのhttpサーバーにアクセスしたいのですが、Virtualboxのネットワーク設定には次のように書かれています: ブリッジアダプターに接続

名前: wlan0

VM に対してプロミスキャス モードを許可します。

そして「ケーブル接続済み」にチェックマークが付きました。

CentOS マシンでは、eth0 インターフェイスが 255.255.255.0 マスクの 192.168.1.20 IP アドレスを取得しました。 これまでのところすべて正常に見え、2 つのシステムは相互に ping を実行できます。 Web サーバーを起動し、ポート 80 でリッスンしています (netstat で確認)。 (ただし、Web サーバーの既定の構成ファイルは変更していません。)

CentOS マシン上の Web サーバーに接続したいのですが、できません。Firefox は「接続できません」と表示し、Chrome も不機嫌です。Chrome は 192.168.1.20 に接続できませんでした。(ここではプロキシを使用していません。)

ゲスト システムのポート 80 に Telnet しようとしましたが、うまくいきませんでした。

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

重要かどうかはわかりませんが、ゲスト OS 上のルート テーブルは次のとおりです。

[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 から CentOS に ssh できることが分かりました。)

Virtualbox でさまざまな設定を試しましたが、上記の設定がさまざまなフォーラムで提案されている設定に最も近いものでした。ポート転送付きの NAT、ホストオンリー アダプターを試しましたが、解決できませんでした。

誰か私に何か教えてくれませんか?乾杯

答え1

解決策は、ここで説明されているように、ゲスト OS のファイアウォールのポートを開くことでした。 http://wiki.centos.org/HowTos/Network/IPTables

Virtualbox のネットワーク設定は正常でした - ブリッジネットワークが正しい設定です。

答え2

以下のようにゲストOSの内部ファイアウォールを無効にするとアクセスできるようになります。

service iptables stop
chkconfig iptables off

ゲスト OS のコマンド ラインで。

関連情報