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


10

たくさんの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で確認しました。(ただし、ウェブサーバーのデフォルト設定ファイルは変更していません。)

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を試行しましたが、修正できませんでした。

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


さらに...ホストOS(Ubu)でtracerouteを実行したところ、ゲストOSへのルートが見つかりました。そして、前述のように、マシンは互いにpingでき、sshは機能しています。index_x.htmlというダミーのhtmlファイルを作成し、lynxを使用してゲスト自体からページを読み取ることができます。これはファイアウォールの問題ですか?
Petkaux

ゲストOSでファイアウォールを実行していますか?もしそうなら、それはポート80をブロックしていますか?
Fran

うん、あなたは正しいです、フラン。iptablesがゲストCentOSで私をブロックしていた。一時的に電源をオフにして、何が起こっているのかを確認したところ、Webサーバーにアクセスできました。イッピー!
Petkaux

@Petkaux同じ環境でサンプルの問題があります。私はLinuxが下手です。問題を解決するために試したコマンドと手順を教えてください。?
ブラック氏、

回答:


8

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

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


ありがとう、これは理解するのにしばらくかかりました。firewall-cmd --zone=external --add-service=http --permanent; firewall-cmd --reload
クリストファーマルキエタ2015

3

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

service iptables stop
chkconfig iptables off

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


おかげで、CentOS VM上のサーバーにアクセスするために、さまざまな設定を何時間も試してみました。
uınbɐɥs

シンプルでエレガント!
Edward_178118 2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.