Netzwerkeinstellungen für Ubuntu / Xenial64 Vagrant-Box schlagen fehl


15

Mit dem offiziellen Ubuntu 16.04 LTS (Xenial Xerus) Vagrant-Box-Image (auf VirtualBox) habe ich Probleme mit den grundlegenden Netzwerkeinstellungen:

Meine Vagrantfile:

Vagrant.configure(2) do |config|

  config.vm.box = 'ubuntu/xenial64'

  config.vm.define "xenial" do |server|
    server.vm.network "private_network", ip: "192.168.10.10"
  end
end

vagrant up Ergebnis:

==> xenial: 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/ifdown eth1 2> /dev/null

Stdout from the command:



Stderr from the command:

sudo: unable to resolve host ubuntu-xenial
mesg: ttyname failed: Inappropriate ioctl for device

Das Überlassen der Konfiguration an DHCP funktioniert auch nicht:

server.vm.network "private_network", type: "dhcp"

Gleichzeitig funktionieren die obigen Konfigurationen für ubuntu/trusty64und ubuntu/wily64und inoffiziell gbarbieru/xenial.

Der Versuch, den Befehl /sbin/ifdown eth1 2> /dev/nullauszuführen, führt zu keinem Ergebnis, da die Schnittstelle ein anderes Benennungsschema hat (das Hauptschema ist enp0s3).

Vermisse ich hier etwas Offensichtliches oder ist die Box gerade kaputt?

Antworten:


15

Das Problem scheint in der nächsten Version von Vagrant behoben zu sein: https://github.com/mitchellh/vagrant/issues/7155

Ich habe eine andere Box von Jeff Geerling ausprobiert https://twitter.com/geerlingguy/status/723571293174427648?lang=fr und es hat perfekt für mich funktioniert. Jeff hat eine Menge großartiger Arbeit an Vagrant / Ansible geleistet. Ich denke, es ist die beste Lösung vor der Veröffentlichung der nächsten Version von Vagrant


Ich hatte das gleiche Problem mit der offiziellen Ubuntu 16.04 Box. Nach ein paar Stunden Versuch und Irrtum versuchte ich es mit Geerlingguy's Box und es funktionierte wie ein Zauber. Die offizielle Ubuntu 14.04 LTS-Box war auch in Ordnung.
Jabba

2

Obwohl ubuntu/xenial64es sich um die offizielle Ubuntu-Box handelt, gibt es einige Probleme mit der Netzwerkkonfiguration und es handelt sich nicht um ein Vagrant-Problem, wie in der Antwort von @Maxime erläutert.
Also, wie in der Ausgabe erwähnt, wird bevorzugt, eine Bento- Box (von der Community verwaltet und mit Opscode Chef als Projektleiter) zu verwenden, die für diesen Fall geeignet wäre bento/ubuntu-16.04.


"Bento" -Boxen wurden auch vom Betreuer von Vagrant empfohlen: github.com/mitchellh/vagrant/issues/7155#issuecomment-228568200
joonas.fi

1

Das Problem liegt an der Namenskonvention für die Netzwerkschnittstelle in neuen Ubuntu-Versionen. Ihre Vagrant-VM konnte nicht bereitgestellt werden, Sie können jedoch weiterhin ssh verwenden ( vagrant ssh). Dort sehen Sie, dass es keine benannte Schnittstelle gibt eth1(Sie können ifconfig -aoder verwenden ip link). In meinem Fall sehe ich die Schnittstellen enp0s3und enp0s8.

Wie in Ausgabe 6871 erwähnt

... wir brauchen eine Möglichkeit, die Schnittstellen zu erkennen, anstatt eine statische Zuordnung zu haben ...

... oder Ubuntu davon überzeugen, ihr Cloud-Image zu ändern.

Im Moment gibt es keine saubere Lösung.


1

Zusätzlich zu Maximes answer können Sie die GRUB-Befehlszeile in Ihrer Box ändern, bis die neue Version weitergegeben wird.

Gehen Sie einfach zu /etc/default/grubund setzen Sie die entsprechende Zeile auf GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0" Sie müssen die ändern /etc/network/interfaces, um die korrekten Namen wiederzugeben (eth0 ...).

Weitere Informationen finden Sie in der Dokumentation von in certdepot .


1

Ich hatte ein ähnliches Problem wie in der ursprünglichen Frage.

Ich benutze Vagrant 1.8.1. und die Verwendung der Ubuntu / Trusty64-Box funktionierte einwandfrei, aber als ich versuchte, die Ubuntu / Xenial64-Box zu verwenden, stand ich vor dem gleichen Problem. Ein Kommentar in diesem Thema brachte mich zu einer Lösung, die zu funktionieren scheint.

Ich habe die Leitung gewechselt

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

im Vagrantfile zu

config.vm.network "private_network", ip: "192.168.33.10", auto_config: false
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.