Ubuntu Virtualbox-Gast erhält im Bridged-Modus kein IPv4

6552
wehnsdaefflae

Ich habe eine neue virtuelle Ubuntu Server 16.04 32-Bit-Gastinstallation auf einem Linux Mint 18 Cinnamon 64-Bit-Host. Ich möchte, dass das Gastsystem im lokalen Netzwerk wie eine physische Maschine angezeigt wird. Daher brauche ich einen Bridged-Netzwerkmodus für den Gast - Host-only und / oder NAT funktionieren nicht. Das Host-System ist über ein Ethernet-Kabel verbunden, und auf der virtuellen Maschine werden Gastzugänge installiert.

Das Seltsame ist, dass das Gastsystem während der Installation durchaus in der Lage ist, zusätzliche Pakete herunterzuladen. Nach dem Anmelden kann ich jedoch weder Computer im lokalen Netzwerk noch externe Server wie google.com anpingen.

Denn google.comes heißt "Ping: Host unbekannt", für den lokalen Router (192.168.178.1) heißt es "Verbinden: Netzwerk ist nicht erreichbar".

Bei näherer Betrachtung habe ich festgestellt, dass die virtuelle Maschine keine IPv4-Adresse vom DHCP-Server meines Routers erhalten hat. Allerdings zeigt mein Router, die eine Adresse zugewiesen wurde (der vierte Eintrag).

Ich habe versucht, ein statisches IPv4 einzustellen. Dann erscheint die entsprechende Adresse am ipconfig. Der Gast kann jedoch nichts pingen. Außerdem möchte ich, dass die virtuelle Maschine ihre IPv4-Adresse trotzdem vom lokalen DHCP-Server erhält.

In /etc/network/interfaceswird die Netzwerkschnittstelle von ipconfigwie folgt initialisiert: allow-hotplug enp0s17 iface enp0s17 inet dhcp

Dinge, die ich probiert habe:

  • Festlegen des Gasts auf ein statisches IPv4
  • Deaktivieren von IPv6
  • löschen /etc/udev/rules.d/70-persistent-net.rules
  • sudo ip link set enp0s17 up
  • dhclient enp0s17

Nichts davon funktionierte. Kann mir jemand helfen, dieses Problem zu lösen?

3

3 Antworten auf die Frage

2
Mike

Die erste Antwort darauf erscheint mir etwas zu komplex. Folgendes sollte funktionieren. Öffnen Sie den Gastcomputer und führen Sie folgende Schritte aus:

Möglicherweise möchten Sie es direkt vom Boot aus deaktivieren. Zu diesem Zweck öffnen Sie:

/etc/default/grub 

mit Ihrem bevorzugten Texteditor mit Root-Zugriff:

dh

gksu gedit /etc/default/grub 

oder wenn Sie es vorziehen, nur mit der Befehlszeile zu arbeiten:

sudo nano /etc/default/grub 

Suchen Sie in dieser Datei diese Zeile:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 

und ändern Sie es in:

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 quiet splash" 

Speichern Sie die Datei und aktualisieren Sie GRUB, indem Sie Folgendes ausführen:

sudo update-grub 

Wenn Sie die sysctl-Methode ausprobiert haben:

Siehe folgende Frage / Antwort mit der höchsten Antwort, da Sie die IP6-Werte auf 0 setzen können. Wenn Sie sysctl nicht als Teil des Boot-Vorgangs initialisieren, wird der Wert trotzdem ignoriert meldet 0, um sysctl zum Laufen zu bringen):

Wie kann ich IPv6 in Ubuntu 14.04 deaktivieren?

Ich mag meine Methode, weil sie beim Booten ip6 deaktiviert. Daher versucht nichts, die ip6-Route während des Bootens zu verwenden (einige werden möglicherweise sogar beim Booten aktiviert und im Betriebssystem selbst deaktiviert). Es ist auch nur eine kleine Anpassung an eine Zeile in einer Datei, was die Sache wirklich einfach macht, und Sie müssen die Leitungsgeschwindigkeit nicht opfern, wie Sie es tun würden, wenn Sie weniger als 100 MHz Full Duplex oder 1000 MHz Full Duplex verwenden (wenn Sie Gig haben es ist das letzte, wenn der 100-Meg-Router oder -Schalter der erste ist.

1
wehnsdaefflae

Das Problem ist anders, aber die Lösung ist die gleiche.

Beginnen Sie mit 10 Mbit / s, Halbduplex und arbeiten Sie mit 10 Mbit / s FD, 100 Mbit / s HD aufwärts, bis das Problem auftritt. Gehen Sie dann eine Stufe tiefer und belassen Sie es mit dieser Geschwindigkeit.

Installieren Sie zuerst ethtool (falls bereits installiert, erhalten Sie lediglich eine Warnung, dass die neueste Version bereits installiert ist.)

sudo apt-get install ethtool

Jetzt:

  1. Geben Sie den folgenden Befehl ein (und testen Sie sie einzeln)

    sudo ethtool --change eth0 speed xxx duplex yyy autoneg off

    wo xxx = 10, 100oder 1000und yyy = halfoder full.

    So starten Sie mit 10 half, 10 full, 100 half, ...

  2. Führen Sie ein ifconfigprüfen, ob Sie eine IP - Adresse.

  3. Gehen Sie zurück zu 1, bis es nicht mehr funktioniert und verwenden Sie die vorherigen Werte, die noch funktionieren :

  4. Um die Änderung dauerhaft zu machen, führen Sie den folgenden Befehl aus:

    sudo nano /etc/network/interfaces

    und tippe im pre-upAbschnitt:

    pre-up /usr/sbin/ethtool --change eth0 speed xxx duplex yyy autoneg off

Beachten Sie den vollständigen Beitrag, der vom OP gebucht wurde:

auto eth0 iface eth0 inet dhcp pre-up ifconfig $IFACE up pre-up ethtool -s $IFACE speed 100 duplex full autoneg off 
0
Andy Anderson

Wechseln Sie in den Einstellungen für die VirtualBox-VM zu Netzwerk, und legen Sie die erweiterten Einstellungen im rechten Fensterbereich ab und überprüfen Sie den "Adaptertyp". Der Standard scheint "Intel PRO / 1000 MT Desktop (82540EM)" zu sein. Bei diesem Adaptertyp hatte ich genau das gleiche Problem. Daher habe ich versucht, den Adaptertyp in "Intel PRO / 1000 MT Server (82545EM)" zu ändern und dann die Datei / etc / network / interfaces zu aktualisieren (wenn Sie zuvor den Adaptertyp ändern Wenn Sie Ubuntu Server installieren, sollte die Schnittstellendatei mit den korrekten Informationen erstellt werden. Die VBox-Version, die ich verwende, ist 5.1.28 r117968 (Qt5.6.2) auf einem Windows 10-Host und verwendet Bridged-Netzwerke.