Warum erhalten meine beiden virtuellen Maschinen dieselbe IP-Adresse?

31

Ich habe zwei virtuelle Maschinen, die beide auf einem Linux-Host (Fedora 16) ausgeführt werden. Ich habe beide Adapter als an NAT angeschlossen eingestellt. Wenn ich sie hochfahre, haben sie beide ihr Rückstellungszugang, der auf eingestellt wird 10.0.2.2. Sie haben auch beide die gleiche IP-Adresse (10.0.2.15). Sie befinden sich beide auf demselben Adapter (Adapter 1). Ich weiß nicht, warum ihnen dieselbe IP-Adresse zugewiesen wird, und sollte nicht das Standard-Gateway sein, 10.0.2.1da die Subnetzadresse 10.0.2.0und die Netzmaske 255.255.255.0 lauten. Fehlt mir etwas, ist das schon mal jemandem passiert? Wie bekomme ich die VirtualBox DHCP richtig zum Laufen?

rubixibuc
quelle
2
Das ist nicht zwingend erforderlich. Es ist möglich, ein "echtes" virtuelles NAT-Netzwerk zu erstellen, in dem mehreren VMs unterschiedliche IP-Adressen zugewiesen werden müssen, basierend auf der virtualisierten MAC-Adresse, und die VM kann sich grundsätzlich hinter dem NAT-Netzwerk sehen praktisch ein ganzes Subnetz hinter der NAT-Schnittstelle. Abhängig von Ihrer Wahl in der Netzwerkadapterkonfiguration ist bei Auswahl von "NAT" die NAT eine Eins-zu-Eins-Host / VM-Beziehung, bei Auswahl von "NAT-Netzwerk" eine Host / Subnetz-Beziehung, in der jede VM auf der Das virtualisierte Netzwerk muss unterschiedliche IP-Adressen haben.
Ich antwortete eine ähnliche Frage hier
Mian Asbat Ahmad

Antworten:

22

VirtualBox DHCP funktioniert ordnungsgemäß.

Es ist nicht schlimm, wenn alle Computer in der NAT-Konfiguration dieselbe Adresse haben. Alle VMs sind voneinander isoliert, sodass kein Konfliktrisiko besteht. Sie befinden sich auch nicht auf demselben Adapter. Jede VM verfügt über eine eigene virtualisierte Hardware, einschließlich Netzwerkkarten.

Das Standard-Gateway muss auch nicht 10.0.2.1 sein. Obwohl es üblich ist, die niedrigere IP-Adresse festzulegen, kann es sich um eine beliebige IP-Adresse im Subnetzbereich handeln.

Es gibt auch keinen "echten" DHCP-Dienst, alles ist im VirtualBox-Code fest codiert. Wenn Sie jedoch mit den Standard-IP-Adressen nicht zufrieden sind, können Sie die NAT-Engine optimieren .

jlliagre
quelle
Hallo @jlliagre, ist das wirklich erwartetes Verhalten? Soweit ich weiß, können alle VMs, denen dieselbe IP-Adresse zugewiesen wurde, nicht über diese Netzwerkschnittstelle kommunizieren, oder? In diesem Fall geben Sie an, dass für eine Reihe von VMs, die jeweils nur einen einzigen NAT-Adapter haben, standardmäßig keine Kommunikation möglich ist.
Nur ein Anfänger
1
@OgrishMan Ja, das ist das erwartete Verhalten. Das ist eines der Hauptgründe für NAT. Dadurch können viele Computer dieselbe lokale IP-Adresse verwenden. Sie können nicht direkt kommunizieren, genauso wie mein Laptop mit der IP-Adresse 192.168.1.4 nicht mit Ihrem Gerät kommunizieren kann, das möglicherweise dieselbe IP-Adresse verwendet. Der Hauptgrund, warum sie nicht kommunizieren können, ist, dass sie sich sowieso in verschiedenen LANs befinden. Computer, die nur NAT-Schnittstellen verwenden, können nur über ein externes Gateway eines Drittanbieters oder mithilfe der Reverse-Port-Zuordnung auf Hostebene miteinander kommunizieren.
Juli
Vielen Dank für die Erklärung! Ich denke, ich bin jetzt klar.
Nur ein Anfänger
7

Gehen Sie in der VirtualBox-Systemsteuerung zu Datei -> Einstellungen -> Netzwerk

Wählen Sie die Registerkarte NAT-Netzwerke, erstellen Sie ein neues "NatNetwork", indem Sie auf die Schaltfläche + nebenan klicken und auf OK klicken.

Wählen Sie nun für jede VM die Option Einstellungen -> Netzwerk

Wählen Sie unter Angeschlossen an: die Option NAT-Netzwerk und wählen Sie "NatNetwork" und drücken Sie OK.

Starten Sie alle VMs neu.

Jetzt haben VMs unterschiedliche Netzwerkadressen.

Suman Bhowmik
quelle
1
Auf diese Weise erhalte ich immer noch die gleichen IP-Adressen!
Jersey Bean
6

Ihre virtuellen Maschinen erhalten dieselbe IP-Adresse von jedem DHCP-Dienst, solange sie dieselbe Ethernet-MAC-Adresse haben (eine Hardware-Adresse, die wie ein Fingerabdruck eindeutig ist und vom Hardwarehersteller Ihres Netzwerkgeräts festgelegt wurde).

Da Sie virtuelle Maschinen ausführen, verfügen diese über virtuelle Hardware und "fälschen" daher die MAC-Adresse. Sie müssen sicherstellen, dass keine zwei Maschinen dieselbe Ethernet-Hardwareadresse haben.

Sie können die Ethernet-MAC-Adresse Ihrer virtuellen Maschine in VirtualBox im Abschnitt Hardware-Netzwerk festlegen (so sieht es aus: 3c: 08: 51: 05: 24: 8a).

Sie können es in Ihrer laufenden VM überprüfen:

sudo ifconfig

en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=2b<RXCSUM,TXCSUM,VLAN_HWTAGGING,TSO4>
    ether 3c:08:51:05:24:8a 
    media: autoselect (none)
    status: inactive
Snies
quelle
2
Der in VirtualBox eingebettete NAT-DHCP-Server ist kein echter. Insbesondere kümmert es sich nicht um MAC-Adressen. In jedem Fall haben mehrere VMs möglicherweise dieselbe MAC-Adresse, unabhängig davon, ob die virtuellen Netzwerke vollständig isoliert sind.
27.
2

Sie erhalten ihr Standard-Gateway vom DHCP-Server - es wird also das sein, was dort eingerichtet ist. Sie müssen sich den DHCP-Server ansehen, um zu sehen, was er liefert (im Allgemeinen stellen Sie ihn einfach in der Serverkonfiguration so ein, dass er Ihren Wünschen entspricht).

Bei den beiden Adaptern mit derselben Adresse liegt dies höchstwahrscheinlich an der Konfiguration, die Sie in Virtualbox festgelegt haben. Wenn es sich um Klone handelt, müssen Sie einem möglicherweise explizit eine neue MAC-Adresse zuweisen.

Überprüfen Sie die Netzwerkkonfigurationen für jede und stellen Sie fest, ob sie der Meinung sind, dass sie identisch sind.

Wenn dies nicht der Fall ist, können Sie vorübergehend eine feste IP für jede IP auf dem DHCP-Server festlegen (zugewiesen durch die MAC-Adresse).

In diesem Abschnitt des VirtualBox-Handbuchs finden Sie weitere Informationen.

Rory Alsop
quelle
1
Der von Ihnen veröffentlichte Link gilt nicht für NAT.
Juli
1

Ich hatte das gleiche Problem. Adapter2 dem 2. Gastbetriebssystem zugewiesen. Eindeutige Mac- und IP-Adresse für die Gäste.

Bildbeschreibung hier eingeben

user358023
quelle
0

Zwei Einstellungen müssen geändert werden.

1) Auf der Seite der VM-Box - Ändern Sie die Netzwerkeinstellungen der Console VMware-Client-Software (dh fügen Sie eine neue Netzwerkeinstellung hinzu). 2) Auf der VM-Seite - Aktualisieren Sie die Mac-Adresse für jede VM.

König Satan
quelle
-1

Öffnen Sie die Netzwerkeinstellungen für jede VM, klicken Sie auf Erweitert> Klicken Sie auf die Schaltfläche Aktualisieren neben der MAC-Adresse. Holen Sie sich einen anderen auf beiden und Sie sind fertig

Sam
quelle
unterschätzte Antwort
Elsadek