ホストマシンからvirtualbox上のWebサーバーにアクセスするにはどうすればよいですか[クローズ]


29

VirtualBoxがubuntuを実行しているWindows Vistaマシンがあります。

Ubuntuでは、アドレスhttp://127.0.0.1:3000/で Webサーバーを実行しています

ホストマシン(Windowsボックス)からこのアドレスにアクセスするにはどうすればよいですか?


最も簡単なオプションは、ポート転送を使用することです。[設定]-> [ネットワーク]で設定できます。このリンクを
スパルタン

ゲストのWebサーバーを127.0.0.1で実際に構成した場合、ゲストの外部からアクセスすることはできません。localhost / 127.0.0.1はループバックアダプター(メモリ内)であり、ネットワークカードをインストールする必要もなく適切に動作します。WebサーバーのIPをループバック以外に変更した場合、以下の回答が役立ちます。
ムラデンB。17年

回答:


28

ゲストネットワーキングモードをNATからブリッジに変更できます。Ubuntuゲストを閉じ、VirtualBoxの[設定]ページに移動し、[ネットワーク]カテゴリを選択して、[リストボックスに添付]をNATからブリッジモードに変更します。

編集:

上記の手順に従ってUbuntuを再起動すると、割り当てられたIPがロード後にようこそ画面に表示されます。すなわち、ウェルカムメッセージでは次のように言うべきです:

eth0のIPアドレス:192.168.1.3

ホストマシンのブラウザバーでこのアドレスを使用し、次に使用するポートを使用します。ポート80以外の場合。つまり、ポート666を使用するように設定した場合、アドレスは192.168.1.3:666になります。

IPを見つける別の方法は、ルーターに組み込まれたHTTPサーバーに接続し、LAN設定を調べることです。ネットワーク上のすべてのマシンは、ホスト名とIPごとにリストされている必要があります。私が持っている他のほとんどのルーターでは、アドレスバーに192.168.1.1と入力することでこれを行うことができます。それが失敗した場合は、ポート81で同じアドレスを試してください。それが失敗した場合は、マニュアルをお読みください。


しかし、それでは、どのようにしてIPアドレスがわかりますか?Thx
SSH

それは機能しますが、ホストオンリーのオプションはその仮想マシンを企業ネットワークに公開しませんでした
カルロスガルシア

2
ゲストのエンドポイント127.0.0.1にはゲスト内からしか到達できないと考える唯一の人はここにいますか(それはローカルホストのポイントです)?ゲストマシンの外部からその種類のエンドポイントにアクセスする方法はないはずです(ループバックアダプターであるため、ネットワークカードをインストールする必要さえありません)。
ムラデンB.

Go192のAレコードのIPとしてこの192.1681.3を入力すると動作しません。明らかに外部IPアドレスが必要です。それを置くと、まだ何らかの理由で動作しない場合、ローカルでドメイン名をテストしたいですEC2に
移行

10

UbuntuゲストOSでのネットワークの設定方法によって異なります。NATを使用するように設定し、ネットワークでDHCPサーバーを実行している場合は、次を実行します。

ifconfig | grep inet

Ubuntuボックスに-Ubuntuゲストに割り当てられたIPアドレスが表示されます。

例:

#ifconfig | grep inet
  inet addr:10.0.0.2  Bcast:10.255.255.255  Mask:255.255.255.0
  inet addr:127.0.0.1  Mask:255.0.0.0

次に、http://10.0.0.2:3000をヒットします


まあ私の場合にはアドレスがあるべき10.0.2.15:3000/publicとDHCPモードでのデフォルトのVistaの実行によって.. :(しかし、私は応答が届かない(Ubuntuマシンにも使用NATに設定されている)
なんてこった

うーん、私はDHCPサーバーを持っていないことに気付いた-私はvistaホームを実行しています
...-Argh

VirtualBoxには、仮想マシンを処理する独自のDHCPサーバーがあります。そうしないと、仮想マシンは静的に設定しないとIPアドレスを自動的に取得できません。あなたの問題は、Apacheがすべてのインターフェイスでリッスンしていないことであると考えられます-localhost(127.0.0.1)だけです。中には/ etc / apache2の/サイト利用可能/ Listenディレクティブデフォルトことを確認してください80、あたりません127.0.0.1:80言うhelp.ubuntu.com/9.04/serverguide/C/httpd.html
コーリーPlastek

これがおそらく原因です。
fsckin

4

WindowsボックスとUbuntuボックス(このインスタンスでは物理または仮想のどちらでもかまいません)は、TCP / IPを介して相互に通信できるように、同じサブネット上にIPアドレスが必要です。プライベートIPサブネットの1つを使用して、各OSに追加のアドレスを割り当てることができます(RFC 1918を参照)。両方が同じサブネット上にアドレスを取得したら、Ubuntuに指定したものをリッスンするようにWebサーバーを構成し、Windows内のブラウザーでそのIPを使用してロードします。

ここで設定したIP 127.0.0.1は、ローカルネットワークインターフェイスのループバックアドレスです。そのアドレスを使用して別のシステム上の何かにアクセスすることは決してなく、現在使用している同じシステムを参照するだけです。仮想システムを使用する場合は、ネットワーキングの観点から別のコンピューターと同じように扱います。


2

問題を解決するには、新しいネットワークアダプターを追加して、ホストオンリーアダプターとして構成することをお勧めします。

次に、仮想ボックスインスタンスを実行し、次にfsckinが推測したものを使用して、新しいネットワークのIPを確認します

これにより、コンピューターと仮想マシンにサブネットができます。


だから...あなたが言ったように私のIPアドレスを取得しました。次に、allocatedIP:3000を使用してWebサーバー(ゲスト内で127.0.0.1:3000としてアクセスできる)にアクセスしようとしましたが、応答がありませんでした。ただし、ホストからIPにpingを実行できました
-Argh

ポート3000でファイアウォールを開く必要があります。
fampinheiro10年

:ホストオンリー箱から出して動作しませんserverfault.com/questions/205477/...
givanse

0

まず、回答1の内容を実行する必要があります。

「ゲストネットワーキングモードをNATからブリッジモードに変更できます。Ubuntuゲストを閉じ、VirtualBoxの[設定]ページに移動し、[ネットワーク]カテゴリを選択して、[リストボックスに添付]をNATからブリッジモードに変更します。」

次に、IPアドレスを取得します。

仮想マシンでコマンドプロンプトを開き、次を実行します。

ip addr show

おそらく次のような行が表示されます。

inet 192.168.43.96/24 ....

その前の行もあります

inet 127.0.0.1

しかし、あなたはそれを望んでいません!192個のアドレスが必要です。これは、ローカルネットワーク上の仮想マシンのアドレスです。同じローカルネットワークに接続されたデバイスからアクセスできる必要があります。

ホストマシンで、ファイル/ etc / hostsを編集します(〜/ etcではありません)ファイルの名前はhostsです(フォルダー名ではありません)

次のような行を追加します。

192.168.43.96 myvm.nameofmywebsite.com

ホストマシンのブラウザに移動して、myvm.nameofmywebsite.comと入力します

うまくいけばそれでうまくいきます!

ただし、ローカルアドレスの表示を妨げる​​セキュリティ機能を備えたルーターを使用している場合があります。できることは、ネットワークとして携帯電話のホットスポットを使用することです。それは私のために働く。ホストマシンでネットワークを変更するとき、virtualboxを再起動する必要があることを覚えておいてください。

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