基本的に、VirtualBoxのゲストからホストコンピューターにアクセスしたいと思います。ゲストから使用できるホストのIPアドレスはありますか?これを設定するために追加の手順が必要ですか?ホストのApache、FTP、およびSSHサービスにアクセスしたい。
基本的に、VirtualBoxのゲストからホストコンピューターにアクセスしたいと思います。ゲストから使用できるホストのIPアドレスはありますか?これを設定するために追加の手順が必要ですか?ホストのApache、FTP、およびSSHサービスにアクセスしたい。
回答:
この答えは、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
。
10.0.2.2
、そのIPのnmapは失敗しました。192.168.33.1が正しいIPのようです。(私はconfig.vm.network :hostonly, "192.168.33.52"
自分の設定にあった。)
netstat -rn
CentOS 7.2では、Docker 1.11 172.17
がゲートウェイとしてアドレスを表示しましたが、そのIPはホストと一致しませんでした。それがわかっ10.0.2.2
た。
ゲストからホストコンピューターのWebサーバーへのアクセスは簡単です。これは、2つの方法を使用して簡単に実行できます。最初に次のことを行います
値がNATの場合、以下を実行します
通常10.0.2.2
、仮想ボックスをセットアップするときのデフォルトゲートウェイは
デフォルト値です。何も変更していない場合、これは機能します。しかし、あなたがそれを変更していて、あなたが実行しているゲストマシンが次のコマンドを実行してWindowsであり、デフォルトゲートウェイを見つける場合
ipconfig /all
あなたが上にある場合のLinux、UnixやMac OSの、それを得るために、次のコマンドを実行します。
netstat -rn | grep 'default' | awk '{print $2}'
Webブラウザーに移動して、このデフォルトゲートウェイを入力し、Enterキーを押します。Webサーバーにアクセスできます。
ipconfig
してIPアドレスを取得しますifconfig | grep 'inet'
してIPアドレスを取得しますこれを行う別の方法は、「ホスト」タイプの仮想ネットワークを使用することです。これにより、ゲストOSに、ホストマシンが存在する「外の世界」サブネットとは異なるローカルサブネット上のアドレスを持つインターフェースが提供されます。これを機能させるには、いくつかのことを確認する必要があります。
これを行うと、ホストファイルにコーディングした名前を使用して、VMからホストを「見る」ことができるはずです。
たとえば、Ubuntu 11.04ホストで、192.168.56.1に「vboxnet0」仮想インターフェイスを取得します。マシンのアダプターは192.168.56.101のようなものを思い付きます。私は行く必要はありませんで、私のVMに、私はそれがホストのホストファイルに左右対称の変化を介して可能になるだろうと推測します。私は追加します
192.168.56.1 mymachine
ゲストOSホストファイルにアクセスし、(たとえば)でホストマシンのWebサーバーを表示できます
http://mymachine/whatever
もちろん、ブリッジアダプターとホスト専用アダプターの両方をセットアップできます。
VirtualBoxで共有フォルダーを作成できます。これにより、Virtual Box内に「ネットワーク共有」が自動的に作成され、ホストOSのフォルダーにアクセスします。
Windows XPゲストOSでの段階的な手順は次のとおりです。
echo "GET /\r\n\r\n" | nc 192.168.100.100 80
(ゲストからホストマシンにHTTP GETリクエストを送信します。)
追加のネットワークインターフェイスを使用し、追加のインターフェイスを介してルーティングするようにホスト宛てのトラフィックを設定することにより、この問題に対する別のソリューションを示します。