Wie vernetze ich virtuelle Maschinen in VirtualBox?

92

Ich habe zwei virtuelle Maschinen in VirtualBox. Ich würde gerne Networking zwischen ihnen machen. Im Moment habe ich die Standardkonfiguration auf beiden, aber sie scheinen die gleiche IP-Adresse zu haben 10.0.2.15. Ich möchte auch in der Lage sein, Internet mit beiden zu benutzen, und das ist jetzt möglich.

Standardmäßig ist die Netzwerkeinstellung NAT, aber es sieht so aus, als könnten sie sich nicht intern vernetzen, da sie dieselbe IP haben. Wenn ich zu ändere, kann internal networkingich mit den virtuellen Maschinen wohl nicht auf das Internet zugreifen.

Wie kann ich ein Netzwerk zwischen virtuellen Gästen einrichten UND auf ihnen Zugriff auf das Internet haben?

Jonas
quelle

Antworten:

57

Haben Sie dieses Handbuch für virtuelle Netzwerke ausprobiert ?

Die virtuelle Maschine erhält ihre Netzwerkadresse und Konfiguration im privaten Netzwerk von einem in VirtualBox integrierten DHCP-Server. Die der virtuellen Maschine zugewiesene IP-Adresse befindet sich normalerweise in einem völlig anderen Netzwerk als der Host. Da mehr als eine Karte einer virtuellen Maschine für die Verwendung von NAT eingerichtet werden kann, ist die erste Karte mit dem privaten Netzwerk 10.0.2.0, die zweite Karte mit dem Netzwerk 10.0.3.0 usw. verbunden.

Ich denke, was Sie suchen, ist " Internes Netzwerk ", das interne VMs miteinander verbindet.

Sie können das Dialogfeld "Einstellungen" einer VM in der grafischen Benutzeroberfläche von VirtualBox verwenden. Wählen Sie in der Kategorie "Netzwerk" des Einstellungsdialogs "Internes Netzwerk" aus der Dropdown-Liste der Netzwerkmodi aus. Wählen Sie nun den Namen eines vorhandenen internen Netzwerks aus der Dropdown-Liste aus oder geben Sie einen neuen Namen in das Eingabefeld ein.

Ye Lin Aung
quelle
1
Danke, das stimmt. Internes Netzwerk funktioniert, aber nicht mit DHCP, also habe ich die Bridged-Lösung ausprobiert und das funktioniert einwandfrei. Vielen Dank.
Jonas
3
@ Joe Internet Ihr Link ist in Ordnung, aber ich habe ihn erst nach dem Lesen von blog.techprognosis.com/2011/02/28/… verstanden . Das heißt, ich habe das interne Netzwerk zum Laufen gebracht. Ich konnte den Nur-Host-Modus oder den Bridged-Modus nicht auswählen, da geeignete Adapter fehlen.
bernd_k
1
Der Link im vorherigen Kommentar hat bei mir nicht funktioniert, dies scheint der richtige zu sein: blog.techprognosis.com/how-to-enable-dhcp-in-virtualbox-4
Nicola Musatti
Das hat bei mir erst funktioniert, als ich eine statische IP festgelegt habe.
VaTo
31

Ich habe die folgende Lösung für meine Umgebung gefunden:

  • erster Adapter mit internem Netzwerk für den Zugriff auf
  • zweiter Adapter mit NAT für den Internetzugang.

Diese Einstellungen können über die grafische Benutzeroberfläche Oracle VM VirtualBox Manager vorgenommen werden. Anfangs hatte ich das gleiche Problem wie Jonas, ich habe DHCP verpasst. Schließlich fand ich diesen Artikel (archivierte Kopie, Originallink ist tot) und benutzte:

VBoxManage dhcpserver add --netname intnet --ip 10.13.13.100 --netmask 255.255.255.0 --lowerip 10.13.13.101 --upperip 10.13.13.254 --enable

von der Kommandozeile. Danach hat es gut funktioniert.

Ich wage zu behaupten, dass das Handbuch eine schlechte Ressource ist, da der größte Teil der Konfiguration von VirtualBox auf einem Windows-Host über die GUI erfolgen kann und es ein schwerwiegender Nachteil ist, dass man DHCP nicht über die GUI konfigurieren kann.

Meine Umgebung: Ich verwende die portable VirtualBox 4.1.2r73507 unter Windows 7 64-Bit. Derzeit funktionieren der Nur-Host- und der Bridged-Modus nicht, da der Nur-Host-Adapter fehlt. Ich habe ein ähnliches Problem wie in einer deutschen Frage im Virtual Box-Forum beschrieben . Ich habe keinen Host-Only-Adapter.

bernd_k
quelle
Ich habe bereits einen intnet dhcpserver, der bei der Installation von virtualbox 4.3.x standardmäßig installiert wurde, der jedoch keine Verbindung zum Internet herstellt, wenn ich nat damit verwende.
pwned
11

So verbinde ich vbox-Gäste nur im NAT-Modus (getestet auf VirtualBox 4.2.4).

Verwenden Sie einfach die Gateway-IP, um von einem Gast zum Host zu gelangen. Verwenden Sie dann die Portweiterleitung, um den Hostdatenverkehr für den anderen Gast zu "proxen".

Wenn beispielsweise Gast A einen Dienst von Gast B erreichen möchte, der auf Port 1000 lauscht, muss A die Gateway-IP verwenden (für die erste NAT-Schnittstelle ist es 10.0.2.2). Anschließend müssen Sie die Portweiterleitung auf Gast B so konfigurieren, dass der gesamte vom Host auf Port 1000 empfangene Datenverkehr an Gast B auf Port 1000 weitergeleitet wird.

Dies funktioniert möglicherweise nicht für jeden Dienst, aber für ssh, salt, ... scheint es in Ordnung zu sein.

Zusammenfassend gesagt, benötigen Sie keinen Nur-Host-Modus, um mehrere Gäste zu verbinden, aber ich möchte nicht sagen, dass der Nur-Host-Modus nicht die beste Option für Ihren Anwendungsfall ist.

user173653
quelle
1
Dies funktionierte für meinen Anwendungsfall einwandfrei (Testen von ie8 auf einem XP-Gast, der eine Verbindung zu einem Server in einem Linux-Gast herstellt).
Ted
+1 für Einfachheit und sehr unkompliziert!
Emre Sevinç
9

Sie benötigen den LAN-Typ für die Host-Verbindung (in etwa die englische Version) für Gastcomputer und die Bridge-Verbindung für Ihren Host-Computer.

stimulieren
quelle
3

(Antwort auf Frage von bernd_k)

Für die gemeinsame Nutzung von Dateien zwischen dem Host und den Gästen werden tatsächlich Verzeichnisse anstelle von Dateien gemeinsam genutzt.

Wenn der Netzwerkmodus Bridged oder NAT ist, sind Host und Gäste jeweils gleiche Netzwerkpartner. Obwohl das gesamte Setup auf einem Host enthalten ist, sind sie im Netzwerk in Bezug auf das Netzwerk alle gleich, als wären sie physische Maschinen. (NAT ist manchmal problematischer als Bridged.)

Auf diese Weise ist jeder freigegebene Ordner auf einem beliebigen virtuellen oder physischen Computer für alle verfügbar. Da möglicherweise nicht alle virtuellen Maschinen ständig eingeschaltet sind, ist es sinnvoll, einen Ordner des Hosts als freigegebenen Ordner einzurichten. Der Host gibt den Ordner dann frei und die virtuellen Maschinen verwenden ihn unverändert oder als zugeordnetes Laufwerk.

Der folgende Artikel beschreibt ausführlich, wie Sie Ordner in Windows freigeben:
Wie kann ich Ordner in Windows 7 mit dem Assistenten für freigegebene Ordner freigeben?

Harrymc
quelle
2
Ihre Hinweise sind zu einem späteren Zeitpunkt wertvoll. Bevor Sie jedoch Dateien oder Ordner freigeben, müssen Sie in der Lage sein, einen Ping-Befehl an den anderen Computer zu senden.
bernd_k
2

Ich habe zwei Netzwerkkarten auf meinem Oracle VM XP-PC

1. Bridged mit einer schnellen IP-Adresse, da ich diese als Client mit einer Server-Netzwerkkonfiguration verwende. Das Standard-Gateway wurde in das gleiche Gateway wie die Netzwerkkarte 2 geändert (Nat 2nd).

2. Nat Mit IP-Adresse von Oracle VM beziehen

funktioniert gut!

Malcolm
quelle
2

Ich habe die folgenden Schritte ausgeführt und es hat bei mir endlich funktioniert (auf CentOS VB):

  • Verwenden Sie das NAT für den primären Netzwerkadapter (Einstellungen -> Netzwerk -> Adapter1 "verbunden mit NAT").
  • Fügen Sie einen weiteren Adapter hinzu (Einstellungen -> Netzwerk -> Adapter2 "Nur an Host-Adapter angeschlossen" aktivieren) -> "Promiscuous Mode" auf "Allow All" setzen.
  • Starten Sie die VB.
  • Fügen Sie eine weitere Netzwerkschnittstelle hinzu (cp / etc / sysconfig / network-scripts / ifcfg-eth0 / etc / sysconfig / network-scripts / ifcfg-eth1).
  • Ändern Sie die MAC-Adresse für eth1 entsprechend der im Adapter2 angezeigten Adresse ((Einstellungen -> Netzwerk ->).
  • Starten Sie das Netzwerk neu "Service-Netzwerk neu starten"

Dann sollte diese VB auf das Internet zugreifen und von den anderen (VBs und lokaler Computer) aus zugänglich sein.

Hinweis:

Der NAT-Adapter wird verwendet, um auf das Internet zuzugreifen, während der Host-Only-Adapter auch für den Netzwerkzugriff zwischen anderen VBs und dem lokalen Computer verwendet wird.

Moll
quelle
0

Ich weiß nicht, ob es funktionieren wird, aber meine Idee ist:

  1. Ändern Sie die IP in eine Diff-Nummer in nur einer virtuellen Maschine (im NAT-Modus).

  2. Ändern Sie die andere virtuelle Maschine in Bridged.

  3. Stellen Sie die Einstellungen auf beiden Systemen so ein, dass sich die Maschinen gegenseitig finden. Alles neu starten.

Wenn 1 + 3 oder 1 + 2 + 3 nicht funktionieren, versuchen Sie Folgendes: Erstellen Sie einen freigegebenen Ordner auf dem Host-Computer und geben Sie den Ordner für die 2 Virtualbox-Computer in den Virtualbox-Einstellungen frei. Neustart und voilá?

Ich weiß, dass die zweite Option eine Problemumgehung ist.

H_7
quelle
0

Ändern Sie das an Bridged Adapter angeschlossene Netzwerk im Netzwerk unter Einstellungen.

Das ist es; Es kann zwei virtuelle PCs verbinden.

ami
quelle