Wie greife ich von einem OS X-Host auf einen Ubuntu VirtualBox-Gast mit einer statischen IP zu?

Wie greife ich von einem OS X-Host auf einen Ubuntu VirtualBox-Gast mit einer statischen IP zu?

Wie konfiguriert man einen Ubuntu-Gast so, dass er eine statische IP-Adresse verwendet, die für einen OS X-Host sichtbar ist, und stellt sicher, dass die statische IP-Adresse unabhängig von der Netzwerkkonfiguration des Hosts ist? Ich habe zuvor Bridged Networking für meinen Gast verwendet, aber ich bewege meinen Host ständig zwischen Netzwerken, sodass die Gast-IP-Adresse immer anders ist.

Zuerst habe ich versucht, die Gastnetzwerkkonfiguration auf NAT zu setzen und den Host-Port 1022 an den Gast-Port 22 weiterzuleiten, sodass ich zumindest per SSH auf eine feste Adresse (localhost:1022) zugreifen konnte:

$ VBoxManage setextradata "Ubuntu Server" "VBoxInternal/Devices/e1000/0/LUN#0/Config/SSH/Protocol" "TCP"
$ VBoxManage setextradata "Ubuntu Server" "VBoxInternal/Devices/e1000/0/LUN#0/Config/SSH/GuestPort" 22
$ VBoxManage setextradata "Ubuntu Server" "VBoxInternal/Devices/e1000/0/LUN#0/Config/SSH/HostPort" 1022

Dann,

$ ssh localhost -p 1022
ssh: connect to host localhost port 1022: Connection refused

Dies hat jedoch nicht funktioniert (der Gast hat keinen Netzwerkzugriff mit NAT und OS X hat die Verbindung abgelehnt, wie Sie sehen).

Ich hätte gerne eine allgemeine Lösung, die es mir ermöglicht, mit meinem Gast über eine feste IP zu kommunizieren.

Antwort1

Zunächst einmal verweist localhost auf 127.0.0.1. Diese VM läuft möglicherweise auf Ihrem Computer, wird aber separat davon angesprochen.

Wenn Sie in VirtualBox eine NAT-Brücke einschalten, wird eine separate, virtuelle Schnittstelle erstellt, die als „Router“ für die dahinter platzierten NAT-Clients fungiert. Sie können keine Verbindung zu localhost herstellen, um zur VM zu gelangen, da localhost Ihr Mac ist, NICHT die VM.

Richten Sie den Gast als NAT ein und überprüfen Sie dann die Adresse der VM von innen. Verwenden Sie diese Adresse (höchstwahrscheinlich eine private Adresse, 192.168.irgendwas) und versuchen Sie, von Ihrem Host aus eine Verbindung herzustellen.

Antwort2

AusVirtualBox-Netzwerkhandbuch. Ich verwende dies für einen Windows-Gast auf NAT zum Remote-Desktop und funktioniert großartig, aber ich habe es nicht vom Host selbst aus versucht.

VBoxManage modifyvm "VM name" --natpf1 "guestssh,tcp,,2222,,22"

Im obigen Beispiel wird der gesamte TCP-Verkehr, der auf Port 2222 einer beliebigen Hostschnittstelle eingeht, an Port 22 im Gast weitergeleitet. Der Protokollname „tcp“ ist ein obligatorisches Attribut, das definiert, welches Protokoll für die Weiterleitung verwendet werden soll (es könnte auch udp verwendet werden). Der Name „guestsh“ ist rein beschreibend und wird automatisch generiert, wenn er weggelassen wird. Die Nummer nach --natpf bezeichnet die Netzwerkkarte, wie in anderen Teilen von VBoxManage.

Oh, mir ist gerade aufgefallen, wie alt die Frage ist. Na ja, ich hoffe, sie hilft anderen.

verwandte Informationen