Ich möchte im Wesentlichen vom Gast in VirtualBox 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.
networking
virtualbox
virtualization
Naftuli Kay
quelle
quelle
Antworten:
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:
Es sollte ungefähr so aussehen:
In diesem Beispiel kann der Gast den Hostcomputer erreichen
10.0.2.2
.Verwenden Sie auf Unix / Linux-basierten Gästen den folgenden Befehl:
Es sollte ungefähr so aussehen:
In diesem Beispiel kann der Gast den Hostcomputer erreichen
192.168.1.1
.quelle
10.0.2.2
angezeigt, und eine nmap dieser IP ist fehlgeschlagen. 192.168.33.1 scheint die richtige IP zu sein. (Ich hatteconfig.vm.network :hostonly, "192.168.33.52"
in meiner Konfig.)netstat -rn
Unter CentOS 7.2 zeigte Docker 1.11 eine172.17
Adresse als mein Gateway an, aber diese IP stimmte nicht mit meinem Host überein. Es stellte sich heraus, dass dies der10.0.2.2
Fall war.Der Zugriff auf den Webserver des Hostcomputers vom Gast aus ist einfach. Dies kann einfach mit zwei Methoden durchgeführt werden. Führen Sie zuerst die folgenden Schritte aus
Wenn der Wert NAT ist , gehen Sie folgendermaßen vor
Das Standard-Gateway bei der Einrichtung von Virtual Box ist im Allgemeinen
10.0.2.2
der Standardwert. Wenn Sie nichts geändert haben, funktioniert dies. Wenn Sie es jedoch geändert haben und auf dem Gastcomputer Windows ausgeführt wird , führen Sie den folgenden Befehl aus und suchen Sie das Standardgatewayipconfig /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
Sie das Programm aus und rufen Sie die IP-Adresse abifconfig | grep 'inet'
rufen Sie die IP-Adresse abquelle
Eine andere Möglichkeit besteht darin, ein virtuelles Netzwerk vom Typ "Host" zu verwenden. Auf diese Weise erhalten Sie im Gastbetriebssystem eine Schnittstelle mit einer Adresse in einem lokalen Subnetz, die sich von den Subnetzen der "äußeren Welt" unterscheidet, in denen sich Ihr Hostcomputer 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 "zu sehen", den Sie in die Host-Datei eingegeben haben.
Beispielsweise erhalte ich auf meinem Ubuntu 11.04-Host unter 192.168.56.1 eine virtuelle Schnittstelle "vboxnet0". Die Adapter in den Maschinen haben so etwas wie 192.168.56.101. Ich brauche nicht zu gehen in meinem VMs, aber ich nehme an, dass über eine symmetrische Änderung möglich sein würde , um den Host - Datei des Hosts. ich füge hinzu
auf die Hostdateien des Gastbetriebssystems, und sie können (zum Beispiel) den Webserver meines Hostcomputers unter sehen
Sie können natürlich sowohl Bridged- als auch Host-Only-Adapter einrichten.
quelle
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:
quelle
echo "GET /\r\n\r\n" | nc 192.168.100.100 80
Hier finden Sie eine weitere Lösung für dieses Problem, indem Sie eine zusätzliche Netzwerkschnittstelle verwenden und den für den Host bestimmten Datenverkehr so einstellen, dass er über eine zusätzliche Schnittstelle geleitet wird.
quelle