VirtualBox-Gastbetriebssystem, das auf den lokalen Server des Hostbetriebssystems zugreift

107

Auf meinem Ubuntu-Host habe ich meinen lokalen Webserver. Ich habe VirtualBox und Debian als Gast installiert.

Ich möchte, dass der Debian-Gast meinen auf meinem Ubuntu-Host laufenden Webserver erreichen kann (ich tippe zum Beispiel einfach http://localhost:8080/den Browser unter Debian ein).

Wie geht das?

Maxime
quelle

Antworten:

176

Aktivieren Sie einen Netzwerkadapter. Stellen Sie NAT ein und starten Sie Ihren Computer. Sie müssen nichts konfigurieren.

Geben Sie im Browser des Gastcomputers http://10.0.2.2 ein , um den gleichen Inhalt wie "localhost" im Host-Betriebssystem anzuzeigen.

10.0.2.2 ist das "Standard-Gateway" für NAT-Verbindungen, und die IP-Adresse Ihres Gastbetriebssystems lautet 10.0.2.15

Natürlich können Sie ein "Host-Only" oder ein "Internes Netzwerk" einrichten, das Ihnen weitere erweiterte Konfigurationen ermöglicht. Ich empfehle bei NAT zu bleiben.

Genießen

M.

Melvyn
quelle
1
Msgstr "EINEN Netzwerkadapter aktivieren". Wo wird das gemacht?
jshen
1
Hinweis: Wenn auf Ihrem Hostcomputer in Apache namensbasierte virtuelle Hosts konfiguriert sind, können Sie darauf zugreifen, indem Sie einfach eine Zuordnung in der Hostdatei des Gastcomputers für10.0.2.2 yourvirtualhostname.local (or whatever)
User
@Benutzer, sind Sie sicher, dass Ihr letzter Kommentar funktioniert? Ich habe einen virtuellen Host auf meinem VB-Host eingestellt http://example.devund die Zuordnung 10.0.2.2zu irgendetwas auf meinem VB-Gast hilft nicht, überhaupt darauf zuzugreifen.
Томица Кораћ
1
@ ТомицаКораћ es funktioniert. Beispiel: askubuntu.com/questions/36183/… . Sie sollten jedoch wahrscheinlich eine separate Frage öffnen, um diese zu lösen.
User
1
"EINEN Netzwerkadapter aktivieren" bedeutet, dass Sie in den Netzwerkeinstellungen Ihrer virtuellen Maschine (innerhalb von VirtualBox) nur einen der Adapter aktivieren. Habe mich ein bisschen verwirrt, als ich es zum ersten Mal las.
Marquez
5

Wenn Sie die IP-Adresse 10.0.2.2 verwenden, müssen Sie auch die Portnummer 8888 hinzufügen, damit die vollständige Adresse angezeigt wird http://10.0.2.2:8888

Paul
quelle
3

Die einfachste Möglichkeit, den ununterbrochenen Zugriff auf Ihren VirtualBox Guest-Computer zuzulassen, besteht darin, das Netzwerkgerät als "Brücke" zu Ihrem Netzwerk und zu Ihrem LAN zu konfigurieren.

Der Guest-Computer holt sich eine LAN-IP über DHCP von Ihrem Router.

Ash Palmer
quelle
Zur Verdeutlichung: Dies ist eine Einstellung in der Client-App. Bei mir hat es funktioniert - ich habe nur eine Weile gebraucht, um es zu realisieren, weil der IE zu dumm war, um anzunehmen, dass ich eine HTTP-Verbindung haben wollte, als ich eine IP-Adresse und einen Port in die Adressleiste eingegeben habe.
Michael Scheper
2

Ich stellte fest, dass das Problem dadurch behoben wurde, dass der Windows-VirtualHost-Only-Adapter auf die .1-Adresse für den IP-Bereich festgelegt wurde, sodass der Host-Only-Adapter für meine virtuelle Box 192.168.58.20 lautete, die IP für den Windows-Adapter jedoch 192.168. 58,1

Jason Hardin
quelle
2

Wenn die Lösung von @Melvyn nicht funktioniert, können Sie alternativ Ihren Netzwerkadapter so einstellen, dass er überbrückt wird.
Gehen Sie zu Settings-> Network-> und wechseln Sie dann Attached tozu Bridged Adapter.

Bildbeschreibung hier eingeben

Sie sollten in der Lage sein, Eltern anhand ihres Hostnamens oder ihrer externen IP-Adresse anzurufen. Sie erhalten sie, indem Sie zur Eingabeaufforderung gehen und Folgendes eingeben ipconfig /all Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

Update Wenn Sie mit Visual Studio debuggen und IIS Express verwenden.

gehe zu C:\Users\[uesername]\Documents\IISExpress\config\applicationhost.config

Finden Sie Ihre Website in <configuration>/<system.applicationHost>/<sites>/<site> (Name kann irreführend sein, indem Sie den Speicherort auf dem Datenträger im physicalPathAttribut überprüfen. )

Fügen Sie dann in <bindings>Abschnitt neue Bindung hinzu

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

Wobei bindingInformation ist *:[port]:[machineName]

Hoffe das spart dir etwas Zeit.

Matas Vaitkevicius
quelle
-1

Nun, Sie können Debian dazu bringen, auf Ihren Webserver zuzugreifen, ohne localhost zu verwenden. Sie müssen die IP-Adresse des Ubuntu-Hosts verwenden.

Unter der Annahme, dass das Gastbetriebssystem mit dem Netzwerk verbunden ist, öffnen Sie zum Abrufen der IP ein Terminal und geben Sie Folgendes ein ifconfig. Sollte so aussehen 192.168.0.2.

Jivings
quelle
Hallo! Entschuldigung für die zu späte Antwort. ifconfig auf meinem Host zeigt 192.168.0.102 für eth0 an. Wenn ich diese IP in Firefox in Gast eingebe, versucht es für eine Weile, eine Verbindung herzustellen, und dann wird die Verbindung beendet: "Der Server unter 192.168.0.102 braucht zu lange, um zu antworten" ... Also, was soll ich als nächstes versuchen? Danke im Voraus.
Maxim