Jak połączyć się z Windows 7 z localhost na Ubuntu VirtualBox?

10

Mój system operacyjny to Windows 7

Korzystam z serwera (programowanie Django) na Ubuntu 10.04 w VirtualBox.

Chcę połączyć się z tym serwerem (przez moją przeglądarkę) na hoście Windows. Jak mogę to zrobić?

mpen
źródło

Odpowiedzi:

12

Możliwe jest również ustawienie trybu karty sieciowej na „zmostkowanie”, wtedy maszyna wirtualna będzie postrzegana jako zwykła maszyna z własnym adresem IP.

eigenina
źródło
Ustawiłem go na „Bridged Adapter”. http://localhost:8000/działa na Ubuntu / Guest / VirtualBox, ale nie na moim komputerze z systemem Windows / Host; mówi „Firefox nie może nawiązać połączenia z serwerem na localhost: 8000”.
mpen
Hah! Rozumiem. Miał jawnie przekazać w moim własnym adresem IP podczas uruchamiania serwera: ./manage.py runserver <MY_IP>:8000. Następnie działa na obu komputerach.
mpen
3
Spróbuj 0.0.0.0:8000, aby nie podać dokładnego adresu IP.
eigenein
@eigenein: Lubię to. Następnie mogę korzystać localhostz Ubuntu, ale nadal muszę korzystać z mojego adresu IP z systemu Windows.
mpen
@ Mark To logiczne, ponieważ wirtualny Ubuntu to inny system operacyjny na innej maszynie, więc Ubuntu nie jest localhostprzeznaczony dla systemu Windows.
eigenein
6

To zrobiło dla mnie zadanie:

Z pamięci, jeśli skonfigurowałeś VirtualBox z siecią NAT, myślę, że możesz uzyskać dostęp do usług uruchomionych na hoście z systemu-gościa. Od gościa (WinXP) host pojawia się jako 10.0.2.2. Jeśli więc skierujesz przeglądarkę internetową WinXP na ten adres, powinna ona połączyć się z serwerem Ubuntu Apache. (Wydaje mi się, że jest to połączenie z hostem lokalnym).

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

tm_lv
źródło
To rozwiązanie działało również dla mnie w systemie Windows 7. Musiałem użyć 10.0.2.2w pliku hosts.
Eric Majerus,
3

W tym celu musisz przekierować port na maszynie wirtualnej.

Przejdź do wiersza polecenia i przejdź do folderu wirtualnego pudełka, w którym możesz wydać następujące polecenia:

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

Zmień „nazwę vm” na nazwę maszyny wirtualnej, a także GuestPort na port używany przez serwer WWW, ponieważ może on używać portu 8080 lub czegoś innego. Po tym powinieneś być w stanie uzyskać dostęp do serwera przez http: // localhost: 8888 / jeśli się nie mylę.

Edycja: PS: o ile pamiętam, w tym celu należy ustawić kartę sieciową na „NAT”

Edycja 2: Podręcznik VirtualBox, który można znaleźć tutaj, zawiera sekcję dotyczącą przekierowywania portów, wykonaną nieco inaczej niż tutaj opisano. Przeczytaj w rozdziale 6.3.1. (Dla wersji 3.2.6)

private_meta
źródło
Po uruchomieniu tych poleceń nie mogę już uruchomić systemu Ubuntu.
mpen
To polecenie VBoxManage modifyvm "VM name" --natpf1 "djangoserver,tcp,,8000,,8000"również nie działa ... kiedy próbuję uzyskać do niego dostęp zarówno z localhost: 8000 na moim komputerze-gościu, jak i adresu IP podanego przez ifconfig.
mpen
Ups ... wciąż miałem to na Bridged. Wróciłem do NAT, a teraz upływa limit czasu ... zastanawiasz się, co to znaczy?
mpen
Znalazłem tę notatkę w dokumentacji Django „Uwaga: domyślny adres IP 127.0.0.1 nie jest dostępny z innych komputerów w sieci. Aby serwer programistyczny był widoczny dla innych komputerów w sieci, użyj własnego adresu IP lub 0.0. 0.0. ” - próbowałem też, wciąż „zbyt długo trwa odpowiedź”
mpen
2
Przekazywanie portów w tym przypadku powinno działać w taki sposób, że dostęp do „localhost: 8888” lub „127.0.0.1:8888” w systemie hosta przekłada się na dostęp do „localhost: 80” lub „127.0.0.1:80” na maszynie gościa, zgodnie z moją wiedzą. Może możesz spróbować przesłać dalej SSH lub coś podobnego już działającego, aby sprawdzić, czy przekierowanie portów działa poprawnie. Upewnij się też, że serwer działa na twoim komputerze-gościu (używając firefoxa na maszynach gości i otwierając stronę?) PS dobrze wygląda na to, że i tak masz już odpowiedź :)
private_meta
1

Mój system operacyjny hosta i gościa to Windows 7, a jedynym sposobem na połączenie jest skonfigurowanie karty sieciowej w trybie „NAT”, a następnie użycie adresu IP 10.0.2.2, jak napisał @tm_lv https://superuser.com/a/287323/314495

Próbowałem ustawić kartę sieciową w tryb „Brigde”. Wyłączyłem obie zapory i użyłem właściwego adresu IP, ale nie działałem. Nie wiem dlaczego.

Kikers25
źródło