Wie stelle ich auf Ubuntu VirtualBox eine Verbindung von Windows 7 zu localhost her?

9

Mein Host-Betriebssystem ist Windows 7

Ich verwende einen (Django-Entwicklungs-) Server unter Ubuntu 10.04 in VirtualBox.

Ich möchte auf meinem Windows-Host eine Verbindung zu diesem Server (über meinen Browser) herstellen. Wie kann ich das machen?

mpen
quelle

Antworten:

12

Es ist auch möglich, den Netzwerkadapter-Modus auf "Überbrückt" zu setzen. Dann wird eine VM als gewöhnlicher Computer mit eigener IP-Adresse angesehen.

eigenein
quelle
Ich habe es auf "Bridged Adapter" gesetzt. http://localhost:8000/ Funktioniert auf Ubuntu / Guest / VirtualBox, aber nicht auf meinem Windows / Host-Computer. sagt "Firefox kann keine Verbindung zum Server auf localhost: 8000 herstellen."
mpen
Hah! Ich habs. Musste explizit meine eigene IP-Adresse übergeben, wenn der Server läuft: ./manage.py runserver <MY_IP>:8000. Dann funktioniert es auf beiden Maschinen.
mpen
3
Versuchen Sie 0.0.0.0:8000, um keine genaue IP-Adresse zu übergeben.
eigenein
@eigenein: Das gefällt mir. Dann kann ich verwenden localhost auf Ubuntu, aber ich muss immer noch meine IP von Windows verwenden.
mpen
@Mark Es ist logisch, weil Ihr virtuelles Ubuntu ein anderes Betriebssystem auf einem anderen Computer ist, Ubuntu also nicht localhost für Windows.
eigenein
4

Das hat den Job für mich gemacht:

Wenn Sie VirtualBox mit einem NAT-Netzwerk eingerichtet haben, können Sie aus dem Arbeitsspeicher über das Gastbetriebssystem auf Dienste zugreifen, die auf dem Host ausgeführt werden. Vom Gast (WinXP) wird der Host als 10.0.2.2 angezeigt. Wenn Sie also Ihren WinXP-Webbrowser auf diese Adresse zeigen, sollte er eine Verbindung zu Ihrem Ubuntu Apache-Server herstellen. (Für den Host scheint dies eine Verbindung von localhost zu sein, glaube ich.)

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

tm_lv
quelle
3

Dazu müssen Sie den Port auf Ihrer virtuellen Maschine weiterleiten.

Gehen Sie zur Eingabeaufforderung und wechseln Sie in Ihren virtuellen Box-Ordner. Dort können Sie die folgenden Befehle eingeben:

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

Wechseln Sie "name of vm" mit dem Namen Ihrer virtuellen Maschine sowie mit dem GuestPort mit dem Port, den Ihr Webserver verwendet, da er möglicherweise Port 8080 oder etwas anderes verwendet. Danach solltest du über auf den Server zugreifen können http: // localhost: 8888 / wenn ich mich nicht irre.

Bearbeiten: P.S .: Soweit ich mich erinnere, müssen Sie dafür Ihren Netzwerkadapter auf "NAT" stellen

Bearbeiten 2: Das VirtualBox-Handbuch finden Sie hier Hier Enthält einen Abschnitt über die Portweiterleitung, der sich geringfügig von der hier beschriebenen Vorgehensweise unterscheidet. Lesen Sie es in Kapitel 6.3.1. (Für Version 3.2.6)

private_meta
quelle
Nachdem ich diese Befehle ausgeführt habe, kann ich Ubuntu nicht mehr starten.
mpen
Dieser Befehl VBoxManage modifyvm "VM name" --natpf1 "djangoserver,tcp,,8000,,8000" scheint auch nicht zu funktionieren ... wenn ich versuche, von localhost: 8000 auf meinem Gastcomputer und der von angegebenen IP-Adresse darauf zuzugreifen ifconfig.
mpen
Hoppla ... hatte es immer noch auf Bridged. Zurück zu NAT gewechselt und jetzt ist es nur noch Zeitüberschreitung ... frage mich, was das bedeutet?
mpen
Diesen Hinweis in den Django-Dokumenten gefunden "Beachten Sie, dass die Standard-IP-Adresse 127.0.0.1 von anderen Computern in Ihrem Netzwerk aus nicht zugänglich ist. Um Ihren Entwicklungsserver für andere Computer im Netzwerk sichtbar zu machen, verwenden Sie seine eigene IP-Adresse oder 0.0. 0.0. - versuchte dies auch, immer noch "es dauerte zu lange, um zu antworten"
mpen
2
In diesem Fall sollte die Portweiterleitung so funktionieren, dass der Zugriff auf "localhost: 8888" oder "127.0.0.1:8888" auf dem Hostsystem in den Zugriff auf "localhost: 80" oder "127.0.0.1:80" auf dem Gastcomputer übersetzt wird. meines Wissens nach. Vielleicht können Sie versuchen, SSH oder ähnliches, das bereits ausgeführt wird, weiterzuleiten, um festzustellen, ob die Portweiterleitung ordnungsgemäß funktioniert. Stellen Sie außerdem sicher, dass der Server auf Ihrem Gastcomputer funktioniert (indem Sie Firefox als Gastcomputer verwenden und die Seite öffnen?). naja anscheinend hast du deine antwort sowieso schon bekommen :)
private_meta
1

Mein Host- und Gastbetriebssystem ist Windows 7, und die einzige Möglichkeit, diese zu verbinden, besteht darin, den Netzwerkadapter im "NAT" -Modus zu konfigurieren und dann die IP 10.0.2.2 zu verwenden, wie von @tm_lv geschrieben https://superuser.com/a/287323/314495

Ich habe versucht, den Netzwerkadapter in den "Bridge" -Modus zu versetzen. Ich habe beide Firewalls deaktiviert und die richtige IP verwendet, aber nicht funktioniert. Ich weiß nicht warum.

Kikers25
quelle