it-swarm.com.de

Einrichten von NAT und Host-Only-Netzwerken mit statischer IP-Adresse in VirtualBox

Ich versuche, eine Gruppe von Gästen in VirtualBox so einzurichten, dass jeder von ihnen auf das Internet zugreifen kann und für beide und den Host sichtbar ist. Ich möchte auch, dass die Gäste statische IP-Adressen haben.

Hier ist das Verfahren, das ich bisher befolgt habe:

  1. Deaktivieren Sie die DHCP-Serverfunktion des Host-Only-Netzwerks, die in diesem Setup verwendet werden soll
  2. Ändern Sie die dem Host zugewiesene IP-Adresse in 192.168.56.254
  3. Erstellen eines Gastcomputers mit 2 Netzwerkschnittstellenkarten (NIC)
  4. Konfigurieren Sie das erste NIC für die Verwendung von NAT
  5. Konfigurieren Sie das 2. NIC für die Verwendung des Nur-Hot-Only-Netzwerks
  6. Installieren Sie jeweils das Betriebssystem (Ubuntu Server 13.10)
  7. Aktualisieren Sie das Betriebssystem
  8. Konfigurieren Sie das Netzwerk wie folgt, indem Sie/etc/network/interfaces bearbeiten
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
address 192.168.56.1
netmask 255.255.255.0
network 192.168.56.0
broadcast 192.168.56.255
gateway 192.168.56.254
dns-search cloudspace.local
dns-nameservers 8.8.8.8 8.8.4.4
  1. Speicher die Datei
  2. Starten Sie neu

Wenn der Gast wieder hochfährt, funktioniert das Host-Only-Netzwerk einwandfrei. Die Rechnerpaare Host/Gast und Gast/Gast können sich gegenseitig anpingen, das Internet funktioniert jedoch nicht, da apt-get fehlschlägt.

Wenn ich dann den Befehl service networking restart gebe, funktioniert das Netzwerk ordnungsgemäß.

Was mache ich falsch?

Ich habe versucht, die Reihenfolge zu ändern, in der die Netzwerkkarten in der Datei /etc/network/interfaces angezeigt werden. Ich habe außerdem das NAT/Host-Only-Netzwerk zwischen den beiden Netzwerkkarten ausgetauscht. Nichts hat geklappt.

Der Host ist Windows 8.1 und der Gast ist Ubuntu Server 13.10. Ich habe das gleiche unter Mac OS X mit ähnlichen Ergebnissen versucht.

Ich würde mich sehr über jede Hilfe freuen.

pdate:

Ich habe die Ausgabe der folgenden Befehle eingefügt, um die Diagnose zu erleichtern:

  • cat/etc/network/interfaces
  • ifconfig -a
  • route -n
$ cat /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
address 192.168.56.1
netmask 255.255.255.0
network 192.168.56.0
broadcast 192.168.56.255
gateway 192.168.56.254

$ ifconfig -a
eth0      Link encap:Ethernet  HWaddr 08:00:27:75:47:64
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe75:4764/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1180 (1.1 KB)  TX bytes:1332 (1.3 KB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:93:98:d8
          inet addr:192.168.56.1  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe93:98d8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:140 errors:0 dropped:0 overruns:0 frame:0
          TX packets:225 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:14418 (14.4 KB)  TX bytes:27378 (27.3 KB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:16 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1184 (1.1 KB)  TX bytes:1184 (1.1 KB)

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.56.254  0.0.0.0         UG    0      0        0 eth1
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.56.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1

pdate 2:

Nachdem ich Sudo service networking restart ausgeführt habe, wird die Ausgabe von route -n zu:

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.2.2        0.0.0.0         UG    0      0        0 eth0
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.56.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1

Wie kann ich diese Konfiguration beim Booten sicherstellen?

21

Es ist einfacher, das Problem zu beheben, wenn Sie die Ergebnisse veröffentlichen, die beim Pingen einer externen Adresse (z. B. der von Ihnen verwendeten Google DNS-Server), der aktuellen Netzwerkeinstellungen und der Routing-Tabelle angezeigt werden.

/sbin/ifconfig -a
/sbin/route -n

Ohne mehr zu wissen, ist dies ein Schuss in die Dunkelheit, aber ich gehe davon aus, dass entweder a) Sie keine DHCP-Adresse für eth0 erhalten oder b) Ihre Gateway-Einstellungen für eth1 mit der zugewiesenen Standardroute für DHCP in Konflikt geraten.

Wenn Sie keine DHCP-Adresse für eth0 erhalten, ist dies wahrscheinlich eine Fehlkonfiguration in VirtualBox (wie das Zurückholen Ihrer Adapter).

In beiden Fällen benötigen Sie keine Gateway- oder DNS-Einstellungen, die speziell für eth1 zugewiesen wurden, da diese von DHCP für eth0 zugewiesen werden. Daher entferne ich die Zeilen gateway, dns-search und dns-nameservers aus Ihrer Konfiguration. Ihre virtuellen Maschinen können weiterhin ohne Gateway-Einstellung kommunizieren, wenn sie sich im selben Netzwerk befinden und VirtualBox richtig eingerichtet ist.

Edit: Um sicherzustellen, dass Sie nach einem Neustart kein Gateway auf eth1 haben, entfernen Sie die Zeilen aus Ihrem eth1-Block, damit es so aussieht:

auto eth1
iface eth1 inet static
address 192.168.56.1
netmask 255.255.255.0

Wenn Sie fertig sind, enthält Ihre Interface-Datei keine Gateway-Leitungen mehr.

15
jkt123

Ich habe diese Lösung gefunden, die der Antwort von @ jkt123 und der Frage von @ Umar entspricht, aber kürzer ist. Ich würde mich über Feedback freuen!

In virtualbox aktivieren Sie sowohl NAT als auch Host-only Netzwerke. (Übrigens: Es funktioniert auf meinem win7 Host. Ich weiß nicht, wie ich das unter Linux Host machen soll.).

Auf dem Host - finden Sie die IP-Adresse der "Nur-Host" -Schnittstelle

ipconfig /all     # for windows Host
ifconfig -a       # for linux Host

Im Gast editiere/etc/network/interfaces. Der Trick war Reihenfolge umkehren eth1 (nur Host) kommt VOR eth0 (Internet/DHCP). Ich weiß nicht warum.

auto lo                        # keep the original loopback settings
iface lo ...                   # yeah, i don't remember, just keep it.

# ----> Ok, this is my addition <-----
auto eth1                      
allow-hotplug eth1             # i think hotplug it helps. not sure.
iface eth1 inet static
address 192.168.56.100         # arbitrary IP address between 2 and 254

auto eth0                      # This is the original content
iface eth0 inet dhcp           #  of this file, now at the end.

neustarten.

3
Berry Tsakala

Zunächst habe ich beide Netzwerke NAT mit DHCP und Host only network mit static ip add 192.168.40.41 aktiviert.

Dann folgte ich mit diesem Befehl:

nano cat /etc/network/interfaces

Ich habe folgendes Ergebnis erhalten:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
address 192.168.41.4
netmask 255.255.255.0

Und vor dem Neustart habe ich den folgenden Befehl eingegeben:

Sudo service networking restart

Dann neu gestartet.

Nachdem ich in VM VirtualBox geladen habe, funktionieren beide Netzwerke. Ich kann eine Verbindung zum Internet herstellen und über einen Webbrowser eine Verbindung zu 192.168.40.41 herstellen.

Ich hoffe, dies wird hilfreich sein, um nano Editor zu bekommen:

Sudo apt-get update
Sudo apt-get install nano

Geben Sie dann einfach nano in das Terminal ein, um es zu starten.

0

Sie haben mehrere Standardgateways, die verschiedenen Netzwerkkarten zugewiesen sind. Im Allgemeinen bedeutet "Standard" eine vorausgewählte Option. Wenn in diesem Fall ein angegebenes Standard-Gateway für beide Netzwerkkarten definiert ist, ist dies keine vorausgewählte Option. Darüber hinaus würde dies auch zu Kommunikationsproblemen wie asynchronem Routing führen. Ich bin nicht sicher, wie die Metrik beider Schnittstellen auf 0 gesetzt ist, aber es kann daran liegen, dass beide Netzwerkkarten mit Gateways ausgestattet sind. Die diesbezüglichen Informationen von Microsoft finden Sie hier. Die Metrik-Funktion enthält eine Reihe von Faktoren, die bestimmen, wie Prioritäten festgelegt werden. (Link: https://support.Microsoft.com/de-de/help/299540/an-erklärung-der-automatischen-metrischen-Funktion-für-ipv4-Routen )

In Übereinstimmung mit @ jkt123 in der beantworteten Antwort sollte nur 1 Standard-Gateway zugewiesen werden.

0
Balldigy