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/trusty64
und ubuntu/wily64
und inoffiziell gbarbieru/xenial
.
Der Versuch, den Befehl /sbin/ifdown eth1 2> /dev/null
auszufü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?
quelle
Obwohl
ubuntu/xenial64
es 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
.quelle
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 gibteth1
(Sie könnenifconfig -a
oder verwendenip link
). In meinem Fall sehe ich die Schnittstellenenp0s3
undenp0s8
.Wie in Ausgabe 6871 erwähnt
Im Moment gibt es keine saubere Lösung.
quelle
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/grub
und setzen Sie die entsprechende Zeile aufGRUB_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 .
quelle
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
im Vagrantfile zu
quelle