nat virtualbox guestでホストIPを取得する方法は?

nat virtualbox guestでホストIPを取得する方法は?

VirtualBox Debian ゲストを処理するために nat を使用する Windows 7 ホストがあります。このクライアントは、ポートリダイレクトを介して外部からアクセスできるいくつかのWebサービスを実行しています。

URLを介してこれらのサービスへの外部アクセスを提供する必要がありますが、正しいDNS解決に頼ることができないため、ホストIPをゲスト環境に伝播する必要があります。ホストへの影響を最小限に抑えながらこれを行うにはどうすればよいですか?

いくつかの説明: 「外部」、「外部アクセス」は、ホストと同じレベルのウェブブラウザを指す。ホストアドレスにのみ依存することはできません。

千の言葉よりも一枚の写真が重要です。

+--------------+  External                         
| Windows Host |  network   +---------------------+
| +----+       |            |      Web client     |
| |    |      NAT           |  +----------------+ |
| |    ------------------------> Page generated | |
| |    |       |            |  |by VM with URLs | |
| | VM |       |            |  |to host         | |
| |    |       |            |  +--------|-------+ |
| |    |      FWD           |           |         |
| |    <--------------------------------+         |
| |    |       |            +---------------------+
| +----+       |                                   
+--------------+

ベストアンサー1

これを達成する1つの方法は、このようなサイトの技術を利用することです。Whatsmyip.com。必要なのは、要求が受信されたIPアドレスをクライアントに送り返すネットワーク上のWebサーバーだけです。

NATを使用しているので、サーバーはNATルーター(この場合は仮想マシンホスト)のアドレスを元のアドレスとして扱うことに注意してください。

whatsmyip.phpこれを実現するには、WebサーバーのWebルートディレクトリにPHPスクリプト(つまり)を生成できます。

//whatsmyip.php
<?php 
//Gets the IP address
$ip = getenv("REMOTE_ADDR") ; 
Echo "$ip; 
?> 

たとえば、ゲストからアクセスします。http://webserver/whatsmyip.php

(源泉:Thoughtco.com )

これで、サービスでその回答を評価できます。

おすすめ記事