Wie greife ich vom Host-Computer aus auf einen Webserver auf einer Virtualbox zu? [Closed]


29

Ich habe eine Windows Vista-Maschine, auf der VirtualBox Ubuntu ausführt.

In Ubuntu betreibe ich einen Webserver unter der Adresse http://127.0.0.1:3000/

Wie greife ich von meinem Host-Computer (der Windows-Box) auf diese Adresse zu?


Die einfachste Option ist die Verwendung der Portweiterleitung. Es kann unter Setting-> Network konfiguriert werden. Überprüfen Sie diesen Link
spartanisch

Wenn Sie den Webserver Ihres Gastes wirklich auf 127.0.0.1 konfiguriert haben, können Sie von außerhalb des Gastes nicht darauf zugreifen. Der localhost / 127.0.0.1 ist ein Loopback-Adapter (im Speicher) und erfordert nicht einmal die Installation der Netzwerkkarte, um ordnungsgemäß zu funktionieren. Wenn Sie die IP-Adresse Ihres Webservers in eine andere als die Loopback-Adresse ändern, können die folgenden Antworten hilfreich sein.
Mladen B.

Antworten:


28

Sie können den Gastnetzwerkmodus von NAT in Bridged ändern. Schließen Sie einfach Ihren Ubuntu-Gast, gehen Sie zur Seite Einstellungen in VirtualBox, wählen Sie die Kategorie Netzwerk und ändern Sie das Listenfeld Angeschlossen an von NAT in Bridged-Modus.

Bearbeiten:

Nachdem Sie die obigen Schritte ausgeführt haben, starten Sie Ubuntu neu und die zugewiesene IP wird nach dem Laden auf dem Begrüßungsbildschirm angezeigt. Das heißt, in der Begrüßungsnachricht sollte Folgendes stehen:

IP-Adresse für eth0: 192.168.1.3

Verwenden Sie diese Adresse in der Browserleiste des Host-Computers, gefolgt von dem von Ihnen verwendeten Port. Wenn es sich nicht um Port 80 handelt, dh wenn Sie Port 666 verwenden, lautet die Adresse 192.168.1.3:666

Eine andere Möglichkeit, die IP-Adresse zu ermitteln, besteht darin, eine Verbindung mit dem in Ihrem Router integrierten HTTP-Server herzustellen und die LAN-Einstellungen zu überprüfen. Jeder Computer im Netzwerk sollte nach Hostname und IP aufgelistet sein. Auf meinem Router, den meisten anderen, die ich hatte, können Sie dies tun, indem Sie 192.168.1.1 in die Adressleiste eingeben. Wenn dies fehlschlägt, versuchen Sie die gleiche Adresse an Port 81. Wenn dies fehlschlägt, LESEN SIE DAS HANDBUCH.


Aber wie können Sie dann herausfinden, wie die IP-Adresse lautet? Thx
SSH Dieser

Das wird funktionieren, aber die Option "Nur Host" hat das VM nicht für das Unternehmensnetzwerk verfügbar gemacht
Carlos Garcia,

2
Bin ich der einzige hier, der der Meinung ist, dass der Endpunkt des Gastes von 127.0.0.1 nur innerhalb des Gastes erreicht werden kann (das ist der Punkt von localhost)? Es sollte keine Möglichkeit geben, von außerhalb des Gastcomputers auf einen solchen Endpunkt zuzugreifen (da es sich um einen Loopback-Adapter handelt, ist nicht einmal eine installierte Netzwerkkarte erforderlich).
Mladen B.

wenn ich diese 192.1681.3 als IP für einen A-Datensatz auf Godaddy eingebe, funktioniert sie nicht, offensichtlich erwartet sie eine externe IP-Adresse. Wenn ich das so formuliere, funktioniert sie aus irgendeinem Grund immer noch nicht. Ich möchte vorher einen Domainnamen lokal testen los EC2
PirateApp

10

Hängt davon ab, wie Sie das Netzwerk auf dem Ubuntu-Gastbetriebssystem einrichten. Wenn Sie es für die Verwendung von NAT eingerichtet haben und einen DHCP-Server in Ihrem Netzwerk haben, führen Sie einfach Folgendes aus:

ifconfig | grep inet

Auf der Ubuntu-Box wird die dem Ubuntu-Gast zugewiesene IP-Adresse angezeigt.

Beispiel:

#ifconfig | grep inet
  inet addr:10.0.0.2  Bcast:10.255.255.255  Mask:255.255.255.0
  inet addr:127.0.0.1  Mask:255.0.0.0

Dann gehen Sie einfach auf http://10.0.0.2:3000


Nun, in meinem Fall sollte die Adresse 10.0.2.15:3000/public lauten und Vista wird standardmäßig im DHCP-Modus ausgeführt. (Der Ubuntu-Computer ist ebenfalls für die Verwendung von NAT konfiguriert.) Ich
erhalte

Hmmm ist gerade aufgefallen, dass ich keinen DHCP-Server habe - ich
lasse

VirtualBox verfügt über einen eigenen DHCP-Server, der virtuelle Maschinen verwaltet. Andernfalls würden virtuelle Maschinen keine IP-Adresse erhalten, ohne diese statisch festzulegen. Ich denke, Ihr Problem könnte sein, dass Sie Apache nicht auf allen Schnittstellen hören lassen - nur localhost (127.0.0.1). Stellen Sie sicher, dass in / etc / apache2 / sites-available / default in der Listen-Direktive 80 und nicht 127.0.0.1:80 pro help.ubuntu.com/9.04/serverguide/C/httpd.html
Cory Plastek am

Dies ist wahrscheinlich die Ursache.
Fsckin

4

Ihre Windows-Box und die Ubuntu-Box (ob physisch oder virtuell, spielt in diesem Fall keine Rolle) müssen beide eine IP-Adresse im selben Subnetz haben, damit sie über TCP / IP miteinander kommunizieren können. Sie können jedem Betriebssystem über eines der privaten IP-Subnetze eine zusätzliche Adresse zuweisen (siehe RFC 1918 ). Wenn beide eine Adresse im selben Subnetz haben, konfigurieren Sie den Webserver so, dass er die von Ihnen angegebene Ubuntu-Adresse abhört, und verwenden Sie dann diese IP-Adresse im Browser von Windows, um sie zu laden.

Die jetzt konfigurierte IP-Adresse 127.0.0.1 ist die Loopback-Adresse für die lokale Netzwerkschnittstelle. Sie würden diese Adresse niemals verwenden, um auf etwas auf einem anderen System zuzugreifen, sondern nur, um auf dasselbe System zurückzugreifen, auf dem Sie sich befinden. Behandeln Sie ein virtuelles System so, als würden Sie einen Computer vom Netzwerkstandpunkt aus trennen.


2

Um Ihr Problem zu lösen, empfehle ich, dass Sie einen neuen Netzwerkadapter hinzufügen und ihn als Nur-Host-Adapter konfigurieren .

Nun führen Sie die Virtual Box-Instanz aus und was fsckin dann vorschlug, um zu sehen, was die IP des neuen Netzwerks ist .

Auf diese Weise haben Sie ein Subnetz mit Ihrem Computer und Ihrer virtuellen Maschine.


Also ... ich habe, wie Sie sagten, meine IP-Adresse geholt. Ich habe dann versucht, auf den Webserver (auf den ich im Gast als 127.0.0.1:3000 zugreifen kann ) mit allocatedIP: 3000 zuzugreifen, und ich habe keine Antwort erhalten. Ich könnte jedoch die IP vom Host
anpingen

Sie müssen die Firewall auf Port 3000
öffnen.

Host-only funktioniert nicht sofort
givanse

0

Zuallererst müssen Sie tun, was Antwort 1 sagt:

"Sie können den Netzwerkmodus Ihres Gasts von NAT in Bridged ändern. Schließen Sie einfach Ihren Ubuntu-Gast, wechseln Sie in VirtualBox zur Seite" Einstellungen ", wählen Sie die Kategorie" Netzwerk "und ändern Sie das Listenfeld" Angeschlossen an "von NAT in Bridged-Modus."

Dann, um Ihre IP-Adresse zu erhalten:

Öffnen Sie auf Ihrer virtuellen Maschine eine Eingabeaufforderung und führen Sie Folgendes aus:

ip addr show

Sie werden wahrscheinlich eine Zeile sehen, die ungefähr so ​​aussieht:

inet 192.168.43.96/24 ....

Es gibt auch eine Zeile davor mit

inet 127.0.0.1

Aber du willst das nicht! Sie möchten die 192-Adresse. Dies ist die Adresse Ihrer virtuellen Maschine in Ihrem lokalen Netzwerk. Sie sollte für jedes Gerät zugänglich sein, das an dasselbe lokale Netzwerk angeschlossen ist.

Bearbeiten Sie nun auf Ihrem Hostcomputer die Datei / etc / hosts (Not ~ / etc). Der Name der Datei lautet hosts (es handelt sich nicht um einen Ordnernamen).

füge eine Zeile hinzu, die so aussieht:

192.168.43.96 myvm.nameofmywebsite.com

Gehen Sie nun zu Ihrem Host-Computer-Browser und geben Sie myvm.nameofmywebsite.com ein

Hoffentlich reicht das!

Möglicherweise verfügen Sie jedoch über einen Router mit Sicherheitsfunktionen, die die Anzeige Ihrer lokalen Adresse beeinträchtigen. Sie können versuchen, den Hotspot Ihres Mobiltelefons als Netzwerk zu verwenden. Das ist für mich in Ordnung. Denken Sie beim Wechsel des Netzwerks auf Ihrem Hostcomputer daran, dass Sie Ihre virtualbox neu starten müssen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.