Vagrant kann eth1 auf Xubuntu 16.04-Gast nicht starten

Vagrant kann eth1 auf Xubuntu 16.04-Gast nicht starten

Ich bin relativ neu bei Linux und Vagrant. Ich habe mein VM-Gastsystem (VirtualBox 5.0.18 + Vagrant 1.8.1 auf einem Windows-Host) vor einiger Zeit von Xubuntu 15.10 auf Xubuntu 16.04 aktualisiert. Zu diesem Zeitpunkt oder kurz danach bemerkte ich einige Merkwürdigkeiten, z. B. einen falsch ausgerichteten Mauszeiger (ein paar Pixel daneben) und fehlende freigegebene Verzeichnisse. Ich vermute, dass dies auf den folgenden Fehler zurückzuführen ist, der während der Aktualisierung gemeldet wurde vagrant up:

==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 8080 (guest) => 8080 (host) (adapter 1)
    default: 9000 (guest) => 9000 (host) (adapter 1)
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
==> default: Machine booted and ready!
GuestAdditions 5.0.18 running --- OK.
==> default: Checking for guest additions in VM...
==> default: Configuring and enabling network interfaces...
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

/sbin/ifup eth1

Stdout from the command:

Failed to bring up eth1.


Stderr from the command:

mesg: ttyname failed: Inappropriate ioctl for device
run-parts: /etc/network/if-up.d/ubuntu-fan exited with return code 1

Ich habe online nach dem Fehler in Kombination mit Vagrant und VirtualBox gesucht, aber die Fälle, die ich gefunden habe, schienen alle etwas anders zu sein als meiner. Die Leute schreiben über /etc/udev/rules.d/70-persistent-net.rules-, aber es scheint auf meiner Maschine nicht aufzutreten, und auch nicht /etc/sysconfig.

/sbin/ifup eth1Wenn ich nach der Anmeldung versuche, weitere Informationen abzurufen, erhalte ich Folgendes:

vagrant@IDE-machine ~ $ sudo /sbin/ifup -v eth1
Configuring interface eth1=eth1 (inet)
/bin/run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
run-parts: executing /etc/network/if-pre-up.d/bridge
run-parts: executing /etc/network/if-pre-up.d/ethtool
run-parts: executing /etc/network/if-pre-up.d/wireless-tools
run-parts: executing /etc/network/if-pre-up.d/wpasupplicant
/bin/ip addr add 192.168.56.21/255.255.255.0 broadcast 192.168.56.255     dev eth1 label eth1
RTNETLINK answers: File exists
Failed to bring up eth1.

Meine Vagrant-Datei sieht folgendermaßen aus:

Vagrant.configure(2) do |config|
  # a locally stored box
  config.vm.box = "IDE-machine"

  config.ssh.private_key_path = "ssh/id_rsa"

  config.vm.network "forwarded_port", guest: 8080, host: 8080
  config.vm.network "forwarded_port", guest: 9000, host: 9000

  config.vm.network "private_network", ip: "192.168.56.21"

  config.vm.provider "virtualbox" do |vb|
      vb.gui = true

      vb.memory = "12288"
      vb.cpus = 2
      vb.name = "my_IDE-machine"

      vb.customize ["modifyvm", :id, "--monitorcount", "1"]
      vb.customize ["modifyvm", :id, "--vram", "64"]
      vb.customize ["storageattach", :id, "--storagectl", "SATA", "--port", 1, "--device", 0, "--type", "hdd", "--medium", "V:/BoxStorage/Projects.vdi"]
  end
  config.vm.provision "shell", inline: "/vagrant/provision.sh"
end

Gasterweiterungen sind installiert, ich verwende das vagrant-vbguestPlugin, das zuvor die richtige Gast-Add-on-Version eingerichtet hatte.

Hat jemand eine Idee, was das Problem sein könnte, oder Hinweise, wie ich weiter nachforschen kann?

Aktualisieren: Ich wurde darauf hingewiesen:https://github.com/mitchellh/vagrant/issues/7155(was auf meinen Fall nicht ganz zutrifft) Was mich zu folgendem führte:https://askubuntu.com/questions/689070/network-interface-name-changes-after-update-to-15-10-udev-changes/732638#732638

Ich habe versucht, die Änderung /etc/default/grubmit vorzunehmen GRUB_CMDLINE_LINUX="net.ifnames=0", dann update-grubals Root und einen Neustart durchzuführen, jedoch ohne Erfolg.

Beim weiteren Herumstöbern wurde mir Folgendes angezeigt:

vagrant@IDE-machine ~ $ cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
#VAGRANT-BEGIN
# The contents below are automatically generated by Vagrant. Do not modify.
auto eth1
iface eth1 inet static
      address 192.168.56.21
      netmask 255.255.255.0
#VAGRANT-END

Aktualisierung 2:Wie gewünscht folgt hier die Ausgabe von dmesg und der Inhalt von ubuntu-fan:

vagrant@IDE-machine ~ $ dmesg | grep eth
[    1.692133] e1000 0000:00:03.0 eth0: (PCI:33MHz:32-bit) 08:00:27:af:31:b4
[    1.692144] e1000 0000:00:03.0 eth0: Intel(R) PRO/1000 Network Connection
[    2.068113] e1000 0000:00:08.0 eth1: (PCI:33MHz:32-bit) 08:00:27:94:1e:dc
[    2.068120] e1000 0000:00:08.0 eth1: Intel(R) PRO/1000 Network Connection
[    5.732516] e1000: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
[    5.732980] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[    5.733061] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
[    6.790923] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[    6.793512] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[    6.795646] e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
[    6.796069] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

vagrant@IDE-machine ~ $ cat /etc/network/if-up.d/ubuntu-fan 
#!/bin/sh

set -e

case "$IFACE" in
lo) exit 0 ;;
fan-*)  exit 0 ;;
esac

case "$ADDRFAM" in
inet) ;;
*) exit 0 ;;
esac

# NOTE: NetworkManager simply does not call out to the normal
#       down hooks as it only checks _after_ the interface has
#       been lost.  Roll with this.
case "$PHASE::$METHOD" in
post-up::static|post-up::dhcp|post-up::NetworkManager)          ;;
pre-down::static|pre-down::dhcp|post-down::NetworkManager)      ;;
*) exit 0 ;;
esac

case "$MODE" in
start|stop) ;;
*) exit 0 ;;
esac

/usr/sbin/fanctl net "$MODE" "$IFACE"

Antwort1

/etc/network/interfacesHast du deine Konfigurationsdateien überprüft ? Vielleicht hast du mehrere Gateways, wie angegebenHier.

Wenn Sie die Datei ein wenig optimieren und damit herumspielen, ifconfigkönnen Sie das Problem auf jeden Fall lösen. Überprüfen Sie auch die Berechtigungen. Ich bezweifle, dass es von dort kommt, aber trotzdem :/

Sie können versuchen, zu einer einfacheren Konfiguration zurückzukehren, /etc/network/interfacesfalls dies nicht bereits der Fall ist, und Stück für Stück zur ursprünglichen Konfigurationsdatei zurückkehren. Ich denke, das würde ich tun.

EDIT: Aus Ihrer dmesgAusgabe scheint hervorzugehen, dass die Links bereit sind, sodass der Netzwerkteil in Ordnung sein sollte. Wenn Sie dies tun dmesg | grep eth, gibt es relevante Informationen?

Können Sie auch cat /etc/network/if-up.d/ubuntu-fan? Es wurde mit Exitcode 1 beendet. Es könnte interessant sein, zu prüfen, was dort passiert.

AKTUALISIEREN:

Ihre dmesgAusgabe scheint in Ordnung zu sein, die Links eth0/1 sind am Ende bereit, also sollte das Netzwerk funktionieren.

Sie sollten versuchen, das Skript Zeile für Zeile auszuführen ubuntu-fanund nach Exitcodes zu suchen ( echo $?, sollte sein 0). Ich frage mich, ob das Problem nicht vom fanctlProgramm am Ende herrührt. Es wird normalerweise verwendet, um Lüfter auf einer Maschine zu steuern, aber hier ist es eine VM, also ... Wenn es von dieser Zeile kommt, können Sie versuchen, herauszufinden, warum es fehlschlägt, aber ich würde die fanctlZeile und dann vielleicht sogar die ganze Datei entfernen. Ich vermute, die anderen Zeilen sind hier, um Ereignisse zu verarbeiten, die ausgelöst werden sollen fanctl.

Ich habe meine Vagrant-VMs überprüft (hauptsächlich jedoch Ubuntu 14.04) und kann nirgends welche sehen fanctl… Ich bin nicht sicher, ob es Sinn macht, zu versuchen, die Lüfter innerhalb einer VM zu steuern.

verwandte Informationen