nat virtualbox guest에서 호스트 IP를 검색하는 방법은 무엇입니까?

nat virtualbox guest에서 호스트 IP를 검색하는 방법은 무엇입니까?

nat를 사용하여 VirtualBox debian 게스트를 처리하는 Windows 7 호스트가 있습니다. 이 게스트는 포트 리디렉션을 통해 외부에서 접근할 수 있는 일부 웹 서비스를 실행하고 있습니다.

URL을 통해 이러한 서비스에 대한 외부 액세스를 제공해야 하지만 적절한 DNS 확인에 의존할 수 없으므로 호스트 IP를 게스트 환경에 전파해야 합니다. 호스트에 미치는 영향을 최소화하면서 어떻게 이를 수행할 수 있습니까?

몇 가지 설명: "외부", "외부 액세스"는 호스트와 동일한 수준에서 호스팅되는 웹 브라우저를 나타냅니다. 호스트 주소에만 의존할 수는 없습니다.

천 마디 말보다 한 장의 그림이 더 중요합니다.

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

답변1

이를 달성하는 한 가지 방법은 다음과 같은 사이트 뒤에 숨겨진 트릭입니다.whatsmyip.com. 필요한 것은 요청을 받은 곳에서 다시 클라이언트로 IP 주소를 보내는 네트워크의 웹 서버뿐입니다.

NAT를 사용하고 있으므로 서버는 NAT 라우터(이 경우 VM 호스트)의 주소를 원래 주소로 본다는 점을 기억하십시오.

whatsmyip.php이를 달성하려면 다음과 같이 웹 서버의 웹 루트에 php-script(예: )를 생성할 수 있습니다 .

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

다음과 같이 손님으로부터 액세스하십시오.http://webserver/whatsmyip.php

(원천:Thoughtco.com )

이제 서비스에서 해당 답변을 평가하기만 하면 됩니다.

답변2

Guntbert의 답변을 고려하면 여기에는 다음이 포함됩니다.

  • 주어진 답변에 설명된 대로 "외부" 네트워크의 타사 웹 서버를 사용하여 원격 주소 응답기를 호스팅합니다.
  • VM 초기화 단계(및/또는 네트워크 컨텍스트에 따라 주기적으로) 동안 이를 찾아 Windows 호스트의 외부 주소를 가져옵니다.
  • 검색된 주소를 사용하여 페이지를 구축하는 동안 URL을 위조하세요.

관련 정보