Avec le buntu officiel 16.04 LTS (Xenial Xerus) Image de la boîte vagabonde (sur VirtualBox) J'ai des problèmes avec les paramètres réseau de base:
Mon 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
result:
==> 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
Laisser la configuration sur DHCP ne fonctionne pas non plus:
server.vm.network "private_network", type: "dhcp"
En même temps, les configurations ci-dessus fonctionnent pour ubuntu/trusty64
et ubuntu/wily64
et officieux gbarbieru/xenial
.
Essayer la commande /sbin/ifdown eth1 2> /dev/null
ne donne aucun résultat, l'interface ayant un schéma de nommage différent (le principal est enp0s3
).
Me manque-t-il quelque chose d'évident ou la boîte est-elle cassée?
Le problème semble être résolu dans la prochaine version de vagrant: https://github.com/mitchellh/vagrant/issues/7155
J'ai essayé une autre boîte de Jeff Geerling https://Twitter.com/geerlingguy/status/723571293174427648?lang=fr et cela a parfaitement fonctionné pour moi. Jeff a fait beaucoup de bon travail sur Vagrant/Ansible, donc je suppose que c'est la meilleure solution avant la sortie de la prochaine version de Vagrant.
Bien que ubuntu/xenial64
soit la boîte officielle Ubuntu, elle a quelques problèmes en ce qui concerne la configuration du réseau et n’est pas un problème vagabond, comme l’explique la réponse de @Maxime.
Ainsi, comme dans le numéro mentionné, il est préférable d’utiliser une boîte bento (maintenue par la communauté et avec Opscode Chef en tant que chef du projet), qui dans ce cas serait: bento/ubuntu-16.04
.
J'ai été confronté à un problème similaire à celui abordé dans la question initiale.
J'utilise vagabond 1.8.1. et utiliser la boîte ubuntu/trusty64 a très bien fonctionné. Cependant, lorsque j’ai essayé d’utiliser la boîte ubuntu/xenial64, j’ai fait face au même problème. Un commentaire dans ce fil de discussion m'a amené à une solution, qui semble fonctionner.
J'ai changé la ligne
config.vm.network "private_network", ip: "192.168.33.10"
dans le Vagrantfile à
config.vm.network "private_network", ip: "192.168.33.10", auto_config: false
Le problème est dû à la convention de dénomination d'interface réseau dans les nouvelles versions d'Ubuntu. Votre ordinateur Vagrant VM n'a pas pu être approvisionné, mais vous pouvez toujours lui envoyer un message SSH (vagrant ssh
). Vous verrez qu'il n'y a pas d'interface nommée eth1
(vous pouvez utiliser ifconfig -a
ou ip link
). Dans mon cas, je vois les interfaces enp0s3
et enp0s8
.
Comme mentionné dans numéro 6871
... nous avons besoin d'un moyen de détecter les interfaces au lieu d'avoir une affectation statique ...
... ou convaincre Ubuntu de changer leur image en nuage.
Pour le moment, il n'y a pas de solution propre.
En fait, en plus de la réponse de Maximes, vous pouvez changer la ligne de commande GRUB dans votre boîte de dialogue jusqu'à ce que la nouvelle version soit propagée.
Allez simplement à /etc/default/grub
et définissez la ligne appropriée à GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
. Vous devez changer le /etc/network/interfaces
pour refléter les noms corrects (eth0 ...).
Voir le documentaion de in certdepot pour plus d’informations .