
Mit demOffizielles Ubuntu 16.04 LTS (Xenial Xerus)Vagrant-Box-Image (auf VirtualBox) Ich habe Probleme mit grundlegenden Netzwerkeinstellungen:
Mein 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
Auch das Überlassen der Konfiguration auf DHCP funktioniert nicht:
server.vm.network "private_network", type: "dhcp"
Gleichzeitig funktionieren die oben genannten Konfigurationen für ubuntu/trusty64
und ubuntu/wily64
inoffiziellegbarbieru/xenial
.
Das Ausprobieren des Befehls /sbin/ifdown eth1 2> /dev/null
liefert keine Ergebnisse, da die Schnittstelle ein anderes Benennungsschema hat (das wichtigste ist enp0s3
).
Übersehe ich hier etwas Offensichtliches oder ist die Box einfach kaputt?
Antwort1
Das Problem scheint in der nächsten Version von Vagrant gelöst zu sein:https://github.com/mitchellh/vagrant/issues/7155
Ich habe eine andere Box von Jeff Geerling probierthttps://twitter.com/geerlingguy/status/723571293174427648?lang=frund es hat bei mir perfekt funktioniert. Jeff hat viel großartige Arbeit an Vagrant/Ansible geleistet, daher denke ich, dass es die beste Lösung vor der Veröffentlichung der nächsten Version von Vagrant ist
Antwort2
Obwohl ubuntu/xenial64
es sich um die offizielle Ubuntu-Box handelt,hat einige Problemebezüglich der Netzwerkkonfiguration und ist kein Vagrant-Problem, wie in der Antwort von @Maxime erklärt wird.
Wie in dem Problem erwähnt, ist es daher vorzuziehen, einbentoBox (gepflegt von der Community und mit Opscode Chef als Projektleiter), was in diesem Fall wäre bento/ubuntu-16.04
.
Antwort3
Das Problem liegt an der Namenskonvention für Netzwerkschnittstellen in neuen Ubuntu-Versionen. Ihre Vagrant-VM konnte nicht bereitgestellt werden, aber Sie können trotzdem per SSH darauf zugreifen ( vagrant ssh
). Dort sehen Sie, dass keine Schnittstelle mit dem Namen vorhanden ist (Sie können oder eth1
verwenden ). In meinem Fall sehe ich die Schnittstellen und .ifconfig -a
ip link
enp0s3
enp0s8
Wie erwähnt inAusgabe 6871
... wir brauchen eine Möglichkeit, die Schnittstellen zu erkennen, anstatt eine statische Zuweisung vorzunehmen ...
... oder Ubuntu davon überzeugen, sein Cloud-Image zu ändern.
Eine saubere Lösung gibt es derzeit nicht.
Antwort4
Ich hatte ein ähnliches Problem wie in der ursprünglichen Frage.
Ich verwende Vagrant 1.8.1. und die Verwendung der Ubuntu/Trusty64-Box funktionierte einwandfrei. Als ich jedoch versuchte, die Ubuntu/Xenial64-Box zu verwenden, hatte ich das gleiche Problem. Ein Kommentarin diesem Thementhreadbrachte mich zu einer Lösung, die zu funktionieren scheint.
Ich habe die Zeile geändert
config.vm.network "private_network", ip: "192.168.33.10"
in der Vagrantfile zu
config.vm.network "private_network", ip: "192.168.33.10", auto_config: false