VirtualBoxゲストOSからホストマシンに接続しますか?


214

基本的に、VirtualBoxのゲストからホストコンピューターにアクセスしたいと思います。ゲストから使用できるホストのIPアドレスはありますか?これを設定するために追加の手順が必要ですか?ホストのApache、FTP、およびSSHサービスにアクセスしたい。


1
ゲストが実際に持っているネットワーク設定をヒントなしで解決するのは困難です。ホストへのアクセスを許可しないものもあります。ゲストのデフォルトゲートウェイアドレスを試してください。
ターボJ

7
10.0.2.2でデフォルトゲートウェイを介して到達できることがわかりました。
ナフトゥリケイ

回答:


258

この答えは、VirtualBoxでのゲストOSセットアップに関するものです。ゲストOSからホストOSに接続するには、ゲストOSのネットワークゲートウェイアドレスを使用するだけです。

デフォルトのVagrantセットアップでは、デフォルトゲートウェイを介してホストに到達できる必要があります。

Windowsベースのゲストでは、次のコマンドを実行してこのIPアドレスを簡単に決定できます。

ipconfig

このようなものをダンプする必要があります:

Windows IP Configuration

Ethernet adapter Local Area Connection:

        Connection-specific DNS Suffix  . :
        IP Address. . . . . . . . . . . . : 10.0.2.15
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        Default Gateway . . . . . . . . . : 10.0.2.2

この例では、ゲストはホストマシンに到達できます10.0.2.2


Unix / Linuxベースのゲストでは、次のコマンドを使用します。

netstat -rn

このようなものをダンプする必要があります:

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 wlan0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 wlan0
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 wlan0

この例では、ゲストはホストマシンに到達できます192.168.1.1


あなたの答えに従ってデフォルトゲートウェイを使用して接続すると接続が恐ろしく遅くなる理由は何ですか?
ベンスウィンバーン

これは私にはうまくいかないようでした(Ubuntu 12.04、Vagrant 1.0)。ゲスト内のデフォルトゲートウェイはと表示され10.0.2.2、そのIPのnmapは失敗しました。192.168.33.1が正しいIPのようです。(私はconfig.vm.network :hostonly, "192.168.33.52"自分の設定にあった。)
Ajedi32

実際、気にしないでください。うまくいきました。nmapは何らかの理由で機能していませんでした。なぜかわからない。nmapが表示していなくても、そのIPからホストで実行されているサービスに接続できました。
Ajedi32

1
netstat -rnCentOS 7.2では、Docker 1.11 172.17がゲートウェイとしてアドレスを表示しましたが、そのIPはホストと一致しませんでした。それがわかっ10.0.2.2た。
スペンサーウィリアムズ

1
それらのエントリのどれがゲートウェイであるかをどのようにして知るのですか?
クレイマー

36

ゲストからホストコンピューターのWebサーバーへのアクセスは簡単です。これは、2つの方法を使用して簡単に実行できます。最初に次のことを行います

  • [ デバイス]に移動し、[ ネットワークアダプター]を選択します...
  • アダプターの設定で、に接続されていることを確認します。
  • 値がNATの場合、以下を実行します

  • 通常10.0.2.2、仮想ボックスをセットアップするときのデフォルトゲートウェイは デフォルト値です。何も変更していない場合、これは機能します。しかし、あなたがそれを変更していて、あなたが実行しているゲストマシンが次のコマンドを実行してWindowsであり、デフォルトゲートウェイを見つける場合

    ipconfig /all

    あなたが上にある場合のLinux、UnixやMac OSの、それを得るために、次のコマンドを実行します。

    netstat -rn | grep 'default' | awk '{print $2}'

  • Webブラウザーに移動して、このデフォルトゲートウェイを入力し、Enterキーを押します。Webサーバーにアクセスできます。

  • 値がBridged Adapterの場合、以下を実行します
    • ホストとゲストのIPアドレスを見つける
      • Windowsを使用している場合は、実行 ipconfigしてIPアドレスを取得します
      • Linux、Unix、またはMac OSを使用している場合は、実行ifconfig | grep 'inet' してIPアドレスを取得します
      • IPアドレスは192.168.1.1のようなものです
    • ホストにアクセスする場合は、ゲストでブラウザーを実行し、ホストのIPアドレスを入力します
    • ゲストにアクセスする場合は、ホストでブラウザーを実行し、ゲストのIPアドレスを入力します

9

これを行う別の方法は、「ホスト」タイプの仮想ネットワークを使用することです。これにより、ゲストOSに、ホストマシンが存在する「外の世界」サブネットとは異なるローカルサブネット上のアドレスを持つインターフェースが提供されます。これを機能させるには、いくつかのことを確認する必要があります。

  • VMには「ホストのみ」アダプターが構成されています。
  • ホストサービスは、すべてのローカルアダプター、または少なくとも連絡できるようにしたいアダプターをリッスンする必要があります。
  • ホストは独自の仮想アダプターを取得し、そのIPアドレスを把握してゲストOSの「ホスト」ファイルに追加します(ただし、ゲストOSで機能します。WindowsXPでは、「 C:/ WINDOWS / system32 / drivers / etcに埋め込まれたホスト」ファイル。ホストのホスト名に使用する名前を付けます。

これを行うと、ホストファイルにコーディングした名前を使用して、VMからホストを「見る」ことができるはずです。

たとえば、Ubuntu 11.04ホストで、192.168.56.1に「vboxnet0」仮想インターフェイスを取得します。マシンのアダプターは192.168.56.101のようなものを思い付きます。私は行く必要はありません、私のVMに、私はそれがホストのホストファイルに左右対称の変化を介して可能になるだろうと推測します。私は追加します

192.168.56.1 mymachine

ゲストOSホストファイルにアクセスし、(たとえば)でホストマシンのWebサーバーを表示できます

http://mymachine/whatever

もちろん、ブリッジアダプターとホスト専用アダプターの両方をセットアップできます。


0

VirtualBoxで共有フォルダーを作成できます。これにより、Virtual Box内に「ネットワーク共有」が自動的に作成され、ホストOSのフォルダーにアクセスします。

Windows XPゲストOSでの段階的な手順は次のとおりです。

http://www.giannistsakiris.com/index.php/2007/09/28/virtualbox-access-shared-folders-from-windows-xp-guest-os/


したがって、/ vboxsvr / ShareNameでホストにアクセスできますか?
ナフトゥリケイ

はい、C:\ STUFFなどのフォルダーをVirtualBoxと共有するように設定します。VirtualBoxゲストOS内で、そのvboxserverにアクセスして共有フォルダーにアクセスできます。
コバルツ

私は実際には共有フォルダーが必要ではありません。ホストマシンのIPアドレスが必要です。入手したら、それを使用してホストマシンでサービスを使用します。つまり、echo "GET /\r\n\r\n" | nc 192.168.100.100 80(ゲストからホストマシンにHTTP GETリクエストを送信します。)
Naftuli Kay

1
その場合、ゲストOSネットワークアダプターをブリッジに設定する必要があります。これにより、DHCPまたはルーターからIPアドレスが取得されます。これにより、VBox共有フォルダーの代わりにIPアドレスを介してホストマシンにネイティブにアクセスできるようになります。
コバルツ

0

追加のネットワークインターフェイスを使用し、追加のインターフェイスを介してルーティングするようにホスト宛てのトラフィックを設定することにより、この問題に対する別のソリューションを示します。


4
スーパーユーザーへようこそ!ここに答えの重要な部分を含めて、将来の参照用にのみリンクを提供するのがいいでしょう
-slhck
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.