Ich möchte im Wesentlichen vom Gast in VirtualBox aus auf meinen Host-Computer zugreifen. Gibt es eine IP-Adresse für meinen Host, die ich vom Gast verwenden kann? Sind zusätzliche Schritte erforderlich, um dies einzurichten? Ich möchte auf die Apache-, FTP- und SSH-Dienste meines Hosts zugreifen.
Bei dieser Antwort handelt es sich im Wesentlichen um ein Gastbetriebssystem-Setup in VirtualBox. Sie müssen lediglich die Netzwerk-Gateway-Adresse auf dem Gastbetriebssystem verwenden, um von einem Gastbetriebssystem aus eine Verbindung zum Hostbetriebssystem herzustellen.
In der Standardeinstellung von Vagrant sollten Sie in der Lage sein, Ihren Host über das Standardgateway zu erreichen.
Auf Windows-basierten Gästen können Sie diese IP-Adresse einfach ermitteln, indem Sie den folgenden Befehl ausführen:
ipconfig
Es sollte ungefähr so aussehen:
Windows IP Configuration
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 10.0.2.15
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 10.0.2.2
In diesem Beispiel kann der Gast den Host-Computer 10.0.2.2
erreichen.
Verwenden Sie auf Unix/Linux-basierten Gästen den folgenden Befehl:
netstat -rn
Es sollte ungefähr so aussehen:
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 wlan0
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 wlan0
In diesem Beispiel kann der Gast den Host-Computer 192.168.1.1
erreichen.
Der Zugriff auf den Webserver des Host-Computers vom Gast aus ist einfach. Dies kann einfach mit zwei Methoden durchgeführt werden. Führen Sie zuerst die folgenden Schritte aus
Wenn der WertNATist, gehen Sie folgendermaßen vor
Das Standard-Gateway beim Einrichten von Virtual Box ist im Allgemeinen10.0.2.2
als Standardwert. Wenn Sie nichts geändert haben, funktioniert dies. Wenn Sie es jedoch geändert haben und der Gastcomputer ausgeführt wird, lautet der Befehl windows run following und suchen Sie das Standardgateway
ipconfig /all
Wenn Sie unter Linux, Unix oder Mac OS arbeiten, führen Sie den folgenden Befehl aus, um ihn abzurufen
netstat -rn | grep 'default' | awk '{print $2}'
Gehen Sie zum Webbrowser und geben Sie dieses Standard-Gateway ein und drücken Sie die Eingabetaste. Auf den Webserver kann zugegriffen werden.
ipconfig
aus und rufen Sie die IP-Adresse abifconfig | grep 'inet'
aus und rufen Sie die IP-Adresse abEine andere Möglichkeit besteht darin, ein virtuelles Netzwerk vom Typ "Host" zu verwenden. Das gibt Ihnen eine Schnittstelle im Gastbetriebssystem mit einer Adresse in einem lokalen Subnetz anders als die Subnetze der "äußeren Welt", in denen sich Ihr Host-Computer befindet. Damit dies funktioniert, müssen Sie einige Dinge sicherstellen:
Sobald Sie dies getan haben, sollten Sie in der Lage sein, den Host von der VM über den Namen, den Sie in die Host-Datei eingegeben haben, "zu sehen".
Beispielsweise erhalte ich auf meinem Ubuntu 11.04-Host eine virtuelle Schnittstelle "vboxnet0" unter 192.168.56.1. Die Adapter in den Maschinen haben so etwas wie 192.168.56.101. Ich muss nicht zu meinen VMs in gehen, aber ich gehe davon aus, dass dies durch eine symmetrische Änderung der Host-Datei des Hosts möglich wäre. ich füge hinzu
192.168.56.1 mymachine
zu den Host-Dateien des Gastbetriebssystems, und sie können (zum Beispiel) den Webserver meines Host-Computers unter sehen
http://mymachine/whatever
Sie können natürlich sowohl Bridged- als auch Host-Only-Adapter einrichten.
Hier ist eine andere Lösung für dieses Problem mithilfe einer zusätzlichen Netzwerkschnittstelle und Festlegen des Datenverkehrs, der für den Host bestimmt ist, über eine zusätzliche Schnittstelle weitergeleitet zu werden.
Sie können freigegebene Ordner in VirtualBox erstellen. Dadurch wird automatisch eine Netzwerkfreigabe in Virtual Box erstellt, um auf Ordner in Ihrem Host-Betriebssystem zuzugreifen.
Hier ist eine anständige Schritt für Schritt in einem Windows XP-Gastbetriebssystem: