VirtualBox Debian 게스트를 처리하기 위해 nat를 사용하는 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 라우터(이 경우 가상 머신 호스트)의 주소를 원래 주소로 처리한다는 점을 기억하십시오.
whatsmyip.php
이를 달성하려면 웹 서버의 웹 루트 디렉토리에 PHP 스크립트(즉)를 생성할 수 있습니다.
//whatsmyip.php
<?php
//Gets the IP address
$ip = getenv("REMOTE_ADDR") ;
Echo "$ip;
?>
예를 들어 손님으로부터 액세스하십시오.http://webserver/whatsmyip.php
(원천:Thoughtco.com )
이제 서비스에서 해당 답변을 평가하면 됩니다.
답변2
Guntbert의 답변을 고려하면 여기에는 다음이 포함됩니다.
- 주어진 답변에 설명된 대로 "외부" 네트워크의 타사 웹 서버를 사용하여 원격 주소 응답기를 호스팅합니다.
- VM 초기화 단계(및/또는 네트워크 컨텍스트에 따라 주기적으로) 동안 Windows 호스트의 외부 주소를 찾아봅니다.
- 검색된 주소를 사용하여 페이지를 구축할 때 URL을 위조하세요.