web-dev-qa-db-ja.com

Virtualbox:ホストOSからゲストOS上のWebサーバーにアクセスする方法は?

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

詳細は次のとおりです。ホストOSはUbuntu12.04 LTS(カーネル3.2.0-24-generic)64ビットです。

Virtualbox4.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をゲストOSとしてインストールし、そのhttpサーバーにアクセスしたいと思います。 Virtualboxのネットワーク設定にこれがあります:ブリッジアダプタに接続されています

名前:wlan0

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

そして、「ケーブル接続」がチェックされています。

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

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ポート転送、ホストオンリーアダプターを使用してみましたが、修正できませんでした。

誰かが私のためにいくつかの光を当てることができますか?乾杯

10
Petkaux

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

Virtualboxのネットワーク設定は問題ありませんでした-ブリッジネットワークが正しい設定です。

8
Petkaux

以下のようにゲストOSの内部ファイアウォールを無効にすると、アクセスが許可されます。タイプ

service iptables stop
chkconfig iptables off

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