Ubuntu VirtualBox에서 Windows 7을 localhost에 연결하는 방법은 무엇입니까?


10

호스트 OS는 Windows 7입니다

VirtualBox의 Ubuntu 10.04에서 (Django 개발) 서버를 실행하고 있습니다.

Windows 호스트에서 (브라우저를 통해) 해당 서버에 연결하고 싶습니다. 어떻게해야합니까?

답변:


12

네트워크 어댑터 모드를 '브리지'로 설정할 수도 있으며 VM은 자체 IP 주소를 가진 일반적인 컴퓨터로 간주됩니다.


"브릿지 어댑터"로 설정했습니다. http://localhost:8000/Ubuntu / Guest / VirtualBox에서 작동하지만 내 Windows / 호스트 시스템에서는 작동하지 않습니다. "Firefox가 localhost : 8000의 서버에 연결할 수 없습니다."
mpen

하! 알았다. 서버를 실행할 때 내 IP 주소를 명시 적으로 전달해야합니다 ./manage.py runserver <MY_IP>:8000. 그런 다음 두 컴퓨터에서 모두 작동합니다.
mpen

3
정확한 IP를 전달하지 않으려면 0.0.0.0:8000을 시도하십시오.
eigenein

@eigenein : 나는 그것을 좋아한다. 그런 다음 localhost우분투에서 사용할 수 있지만 여전히 Windows에서 내 IP를 사용해야합니다.
mpen

@Mark 가상 우분투는 다른 컴퓨터에서 다른 OS이기 때문에 논리적이기 때문에 우분투는 localhostWindows 용이 아닙니다 .
eigenein

6

이것은 나를 위해 일했습니다.

메모리에서 NAT 네트워킹으로 VirtualBox를 설정 한 경우 게스트 OS에서 호스트에서 실행되는 서비스에 액세스 할 수 있다고 생각합니다. 게스트 (WinXP)에서 호스트는 10.0.2.2로 나타납니다. 따라서 WinXP 웹 브라우저가 해당 주소를 가리키면 Ubuntu Apache 서버에 연결해야합니다. (호스트에게 이것은 로컬 호스트와의 연결 인 것으로 보입니다.)

http://ubuntuforums.org/showthread.php?t=682519


이 솔루션은 Windows 7에서도 작동했습니다 10.0.2.2. hosts 파일에서 사용해야 했습니다.
Eric Majerus '

3

이를 위해서는 가상 머신의 포트를 전달해야합니다.

명령 프롬프트로 이동하여 가상 상자 폴더로 전환하면 다음 명령을 실행할 수 있습니다.

VBoxManage.exe setextradata "name of vm" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/HostPort" 8888
VBoxManage.exe setextradata "name of vm" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/GuestPort" 80
VBoxManage.exe setextradata "name of vm" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/Protocol" TCP

포트 8080 또는 다른 것을 사용할 수 있으므로 웹 서버가 사용하는 포트가있는 GuestPort와 가상 머신의 이름으로 "vm의 이름"을 전환하십시오. 그 후 내가 실수하지 않으면 http : // localhost : 8888 /을 통해 서버에 액세스 할 수 있어야합니다 .

편집 : PS : 내가 기억하는 한, 네트워크 어댑터를 "NAT"로 설정해야합니다.

편집 2 : 여기 에서 찾을 수있는 VirtualBox 매뉴얼 에는 여기에 설명 된 것과 약간 다르게 포트 전달에 대한 섹션이 포함되어 있습니다. 6.3.1 장을 읽으십시오. (버전 3.2.6의 경우)


해당 명령을 실행 한 후에는 더 이상 Ubuntu를 부팅 할 수 없습니다.
mpen

이 명령 VBoxManage modifyvm "VM name" --natpf1 "djangoserver,tcp,,8000,,8000"이 작동하지 않는 것 같습니다 ... 게스트 컴퓨터의 localhost : 8000과에서 제공 한 IP 주소 모두에서 액세스하려고 할 때 ifconfig.
mpen

죄송합니다 ... 아직 Bridged에있었습니다. NAT로 다시 전환했는데 이제 시간이 초과되었습니다. 무슨 뜻인지 궁금하십니까?
mpen

Django docs에서이 메모를 찾았습니다. "기본 IP 주소 인 127.0.0.1은 네트워크의 다른 컴퓨터에서 액세스 할 수 없습니다. 개발 서버를 네트워크의 다른 컴퓨터에서 볼 수있게하려면 자체 IP 주소 또는 0.0을 사용하십시오. 0.0. " -이것도 시도했지만 여전히 "응답하는데 너무 오래 걸리는"
mpen

2
이 경우 포트 전달은 호스트 시스템에서 "localhost : 8888"또는 "127.0.0.1:8888"에 액세스하는 것이 게스트 시스템에서 "localhost : 80"또는 "127.0.0.1:80"에 액세스하는 방식으로 작동해야합니다. 내 지식에. 포트 전달이 올바르게 작동하는지 확인하기 위해 SSH 또는 이미 실행중인 유사한 것을 전달할 수 있습니다. 또한 서버가 게스트 컴퓨터에서 작동하는지 확인하십시오 (게스트 컴퓨터 파이어 폭스를 사용하고 페이지를 열어서?) PS 잘 대답 : 당신은 이미 어쨌든 대답을 얻은 것 같습니다 :)
private_meta

1

내 호스트 및 게스트 OS는 Windows 7이며 연결하는 유일한 방법은 "NAT"모드에서 네트워크 어댑터를 구성한 다음 @tm_lv와 같은 IP 10.0.2.2를 사용하는 것입니다 https://superuser.com/a/287323/314495

네트워크 어댑터를 "Brigde"모드로 설정하려고했습니다. 두 방화벽을 모두 비활성화하고 올바른 IP를 사용했지만 작동하지 않았습니다. 이유를 모르겠습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.