호스트 OS의 로컬 서버에 액세스하는 VirtualBox 게스트 OS


107

우분투 호스트에는 로컬 웹 서버가 있습니다. VirtualBox와 Debian을 게스트로 설치했습니다.

데비안 게스트가 우분투 호스트에서 실행되는 웹 서버를 칠 수 있기를 바랍니다 (예 http://localhost:8080/: 데비안 아래에 브라우저를 입력 하십시오).

어떻게 할 수 있습니까?

답변:


176

하나의 네트워크 어댑터를 활성화하십시오. NAT로 설정하고 머신을 시작하십시오. 아무것도 구성 할 필요가 없습니다.

게스트 컴퓨터의 브라우저에서 http://10.0.2.2 를 입력 하면 호스트 OS의 "localhost"와 동일한 내용이 표시됩니다.

10.0.2.2는 NAT 연결의 "기본 게이트웨이"이며 게스트 OS의 IP는 10.0.2.15입니다.

물론 다른 고급 구성을 허용하는 "호스트 전용"또는 "내부 네트워크"를 설정할 수 있습니다. NAT를 유지하는 것이 좋습니다.

즐겨

엠.


1
"하나의 네트워크 어댑터 사용". 이것은 어디에서 이루어 집니까?
jshen

1
참고 : 호스트 시스템에서 이름 기반 가상 호스트를 아파치로 구성한 경우 다음을 위해 게스트의 시스템 호스트 파일에 맵핑을 작성하여 액세스 할 수 있습니다.10.0.2.2 yourvirtualhostname.local (or whatever)
사용자

@User 마지막 ​​코멘트가 작동 할 것입니까? VB 호스트에 가상 호스트가로 설정되어 있고 VB 게스트의 어떤 것에 http://example.dev매핑 10.0.2.2해도 전혀 액세스 할 수 없습니다.
Томица Кораћ

1
@ ТомицаКораћ 그것은 작동합니다. 예를 들어 askubuntu.com/questions/36183/…을 참조하십시오. 그러나이 문제를 해결하려면 별도의 질문을 열어야합니다.
사용자

1
"하나의 네트워크 어댑터 사용"은 가상 컴퓨터의 네트워크 설정 (VirtualBox 내)에서 어댑터 중 하나만 활성화 함을 의미합니다. 내가 처음 읽을 때 약간 혼란스러워했습니다.
Marquez

5

또한 IP 주소 10.0.2.2를 사용할 때 고려해야 할 사항은 예를 들어 MAMP를 사용하는 경우 포트 번호 : 8888을 추가하여 전체 주소를 읽습니다. http://10.0.2.2:8888


3

VirtualBox Guest 컴퓨터에 대한 중단없는 액세스를 허용하는 가장 쉬운 방법은 네트워크 장치를 LAN에 대한 eth0의 '브리지'로 설정하는 것입니다.

게스트 머신은 라우터에서 DHCP를 통해 LAN IP를 가져옵니다.


명확히하기 : 이것은 클라이언트 앱의 설정입니다. IE에서 IP 주소와 포트를 주소 표시 줄에 입력 할 때 HTTP 연결을 원한다고 가정하기에는 IE가 너무 어리석기 때문에 시간이 걸렸습니다.
Michael Scheper

2

내가 찾은 문제는 Windows VirtualHost-Only 어댑터가 IP 범위의 .1 주소로 설정되어 가상 상자 호스트 전용 어댑터가 192.168.58.20이지만 Windows 어댑터의 IP는 192.168인지 확인하는 것입니다. 58.1


2

@Melvyn의 솔루션이 작동하지 않으면 대안으로 네트워크 어댑터를 브리지로 설정할 수 있습니다. -> ->로
이동 한 다음 브리지 된 어댑터 로 변경하십시오 .SettingsNetworkAttached to

여기에 이미지 설명을 입력하십시오

명령 프롬프트로 이동하여 입력 할 수있는 호스트 이름 또는 외부 IP 주소로 부모를 호출 할 수 있어야합니다 ipconfig /all 여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

업데이트 Visual Studio로 디버깅하고 IIS Express를 사용하는 경우

이동 C:\Users\[uesername]\Documents\IISExpress\config\applicationhost.config

귀하의 웹 사이트를 찾으십시오 <configuration>/<system.applicationHost>/<sites>/<site> (이름은 속임수 일 수 있습니다 physicalPath).

그런 다음 <bindings>섹션에 새 바인딩 을 추가하십시오.

<bindings>
    <binding protocol="http" bindingInformation="*:50766:localhost" />
    <binding protocol="http" bindingInformation="*:50766:48qzr12" />
</bindings>

여기서 bindingInformation은 *:[port]:[machineName]

이것이 시간을 절약하기를 바랍니다.


-1

글쎄, 데비안이 웹 서버를 공격 할 수는 있지만 localhost는 사용할 수 없습니다. Ubuntu 호스트의 IP 주소를 사용해야합니다.

게스트 OS가 네트워크에 연결되어 있다고 가정하면 IP를 잡고 터미널을 열고을 입력하십시오 ifconfig. 처럼 보일 것 192.168.0.2입니다.


안녕하세요! 답변이 너무 늦어서 죄송합니다. 내 호스트의 ifconfig는 eth0에 대해 192.168.0.102를 표시합니다. 게스트의 firefox 에서이 IP를 입력하면 잠시 동안 연결을 시도한 다음 연결이 종료됩니다. "192.168.0.102의 서버가 응답하는 데 시간이 너무 오래 걸립니다"... 다음에 어떻게해야합니까? 미리 감사드립니다.
Maxim
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.