
私が欲しいもの:
さまざまな Web 開発テスト サーバー (異なるポートで実行、たとえば Grunt.js はポート 9000 で実行) 用に、Ubuntu (VirtualBox 上) を実行する仮想マシン ゲストが必要です。
これらのサーバーで実行されている Web アプリケーションを、a) ゲスト内から、b) ホスト内から (ちなみに Windows 7 を実行)、c) WiFi 経由で接続された同じネットワーク内の他のデバイス (モバイル デバイスなど) からテストしたいと考えています。
ゲストからインターネットにアクセスできるようにしたい
最初は、VirtualBox で NAT とホストオンリー アダプターの両方が構成されたソリューションを実行していましたが、これはホストからゲストにアクセスしたり、ゲスト内からインターネットにアクセスしたりするには問題ありませんでした。
他のデバイスが仮想マシンにアクセスできるようにしたいので、このソリューションはもう機能しません。数年前はブリッジ ネットワーク アダプターを使用してこれを実行できましたが、企業ネットワーク内にいるため、ここでは機能しないようです。
私がしたこと:
そこで、VirtualBoxでブリッジネットワークアダプタをデフォルト設定でセットアップしました。VMを起動すると、まずインターネットにアクセスできませんを実行するとifconfig
次のようになります。
eth0 Link encap:Ethernet HWaddr 08:00:27:d1:1f:98
inet6 addr: fe80::a00:27ff:fed1:1f98/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:139 errors:0 dropped:0 overruns:0 frame:0
TX packets:658 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:11274 (11.2 KB) TX bytes:140266 (140.2 KB)
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:65536 Metric:1
RX packets:1728 errors:0 dropped:0 overruns:0 frame:0
TX packets:1728 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1001564 (1.0 MB) TX bytes:1001564 (1.0 MB)
ご覧のとおり、ipv4 は利用できず、ゲストの外部から ping したり何かを要求したりすることはできません。何かが誤って設定されているのか、企業ネットワークがそのようなことを許可していないのか、よくわかりません。IT 部門からもサポートを受けていません...
編集:ブリッジ接続は、企業ネットワークではなく別のネットワークを使用する場合に機能することがわかりました。他のデバイスからゲスト サーバーにアクセスすることもできます。
これをさらにデバッグするにはどうすればよいでしょうか? このような動作の理由は何でしょうか?
答え1
残念ながら、私は IPv6 に詳しくないので、VM が独自の IP を取得しているかどうかはわかりません。ブリッジ接続の仕組みは、VM が独自の IP を要求することで、基本的に物理マシンがネットワーク上で 2 つの IP を持つようになる、ということだけを述べておきます。企業ネットワークでよくあるように DHCP が無効になっている場合、または別の方法で IP が制限されている場合は、VM に独自の IP を取得して、必要な方法で機能させる必要があります。
そうは言っても、VirtualBox の NAT ネットワーク モードに「ポート転送」を設定することは可能です。この方法では、物理マシンが指定したポートで要求を受信すると、マシンはそれを VM に渡します。
仮想マシンは VirtualBox 内部のプライベート ネットワークに接続され、ホストからは見えないため、ゲストのネットワーク サービスはホスト マシンや同じネットワーク上の他のコンピューターからはアクセスできません。ただし、物理ルーターと同様に、VirtualBox はポート転送を通じて、選択したサービスをゲストの外部で利用できるようにすることができます。つまり、VirtualBox はホストの特定のポートをリッスンし、そこに到着するすべてのパケットを同じポートまたは別のポートでゲストに再送信します。
さらに詳しい情報を知りたい場合は、VirtualBox ヘルプ ファイルの「仮想ネットワーク」の「ネットワーク アドレス変換 (NAT)」セクションを参照してください。VM の高度なネットワーク設定の下に、これに役立つ便利な小さな GUI があります。