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을 위조하세요.