web-dev-qa-db-ja.com

VirtualBoxで、ゲスト(IE7テストVMのVisual Studio Dev Server)からホストローカルホストにアクセスするにはどうすればよいですか?

ホストOSはVisualStudio Development ServerでMyAppを実行しているWin7であり、localhost:51227にバインドされています。VMはNATで構成されたVirtualBoxです。ゲストOSはWin XP with IE7がインストールされています。私の目標は、IE7(ゲストで実行)内からMyApp(ホストで実行)をデバッグすることです。

Visual Studio Developmentサーバーは、ループバックネットワークデバイス(ローカルホストなど)にのみバインドします。 notホストの外部IPアドレスにバインドします。

ゲストのIE7から10.0.2.2:51227にアクセスしようとしましたが(10.0.2.2がipconfigを使用してゲートウェイアドレスであることを確認しました)、10.0.2.2はループバックIPではなくホストの外部IPにバインドしているようです(localhost)なので、これは機能しません。

助言がありますか?

7
Seth

私にとって最も簡単な解決策は、ホストでSPIポートフォワードを使用して、外部ネットワークインターフェイスからローカルホスト専用サービスへのアクセスを許可することでした。

  1. ダウンロードSPIポートフォワード そしてホスト上で実行(インストーラーなし、ダウンロードは裸のexeファイルです)
  2. 重要:WindowsファイアウォールはSPIポートフォワードがパブリックネットワークへのアクセスを許可されているかどうかを尋ねます。チェックボックスをオンにしますパブリックネットワークからのアクセスを許可する
  3. ローカルポートを8888(または任意の)に設定し、リモートホストをローカルホストに、リモートポートをホスト上のターゲットサービスのポートに設定し(私の場合は51227、VSDSはポート51227で実行されているため)、[アクティブ化]をクリックします
  4. ゲストから10.0.2.2:8888にアクセスします。

注:10.0.2.2が機能しない場合は、ゲストでcmdを実行してコマンドラインを表示し、「ipconfig」を使用してデフォルトゲートウェイアドレスを使用しますが、VirtualBoxは現在デフォルトで10.2.2.2になっているため、安全策。

この構成ではVSDSへの外部IPアクセスが許可されるため、注意して使用することに注意してください...もちろん、これは携帯電話のサポートなどをデバッグする場合にも役立ちます。

8
Seth

VirtualBoxは(ホスト上で実行されている他のプログラムと同様に)ホスト上のループバックインターフェイスにアクセスできますが、ゲストOSからアクセスする手段を提供しません(これは私が知っている他の仮想化ソリューションにも当てはまります)。

VirtualBoxがホストのループバックインターフェイスへのアクセスを提供した場合、ホストのループバックインターフェイスにバインドされた追加のインターフェイスをすべてのゲストに作成する必要があります。

なぜこの追加のインターフェース?ゲストでは、127.0.0.1に送信されたトラフィックは、ホストではなく、独自のループバックインターフェイスに自動的に転送されるためです。

回避策を考えることができます:Visual Studio DevelopmentServerを10.0.2.2にバインドします。このように、開発環境には外部からアクセスできませんが、VirtualBoxゲストからアクセスできます(上記のJamesのコメントで不可能かもしれないと読みましたが、 VSをw3p.exeにバインド の推奨事項を読みました。 、これ 少なくともWindows 2003で動作するようです )。

0
jaume