Les paramètres réseau échouent pour la boîte ubuntu / xenial64 Vagrant

15

Avec l' image de boîte Vagrant officielle Ubuntu 16.04 LTS (Xenial Xerus) (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 résultat:

==> 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 à DHCP ne fonctionne pas non plus:

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

Dans le même temps, les configurations ci-dessus fonctionnent pour ubuntu/trusty64et ubuntu/wily64et non officielles gbarbieru/xenial.

Essayer la commande /sbin/ifdown eth1 2> /dev/nullne donne aucun résultat car l'interface a un schéma de nommage différent (le principal est enp0s3).

Suis-je en train de manquer quelque chose d'évident ici ou la boîte est-elle juste cassée?

techraf
la source

Réponses:

15

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

Maxime Thoonsen
la source
J'ai eu le même problème avec la boîte officielle Ubuntu 16.04. Après quelques heures d'essais et d'erreurs, j'ai essayé la boîte de geerlingguy et cela a fonctionné comme un charme. La boîte officielle Ubuntu 14.04 LTS était également très bien.
Jabba
2

Malgré ubuntu/xenial64la boîte officielle d'Ubuntu, elle a quelques problèmes concernant la configuration du réseau et n'est pas un problème Vagrant comme expliqué dans la réponse de @Maxime.
Ainsi, comme dans le problème mentionné, il est préférable d'utiliser une boîte à bento (maintenue par la communauté et avec Opscode Chef en tant que chef de file du projet), ce qui serait le cas dans ce cas bento/ubuntu-16.04.

Alter Lagos
la source
Les boîtes "bento" ont également été recommandées par le responsable de Vagrant: github.com/mitchellh/vagrant/issues/7155#issuecomment-228568200
joonas.fi
1

Le problème est dû à la convention de dénomination de l'interface réseau dans les nouvelles versions d'Ubuntu. Votre machine virtuelle Vagrant n'a pas pu être provisionnée, mais vous pouvez toujours y accéder ( vagrant ssh). Là, vous verrez qu'il n'y a pas d'interface nommée eth1(vous pouvez utiliser ifconfig -aou ip link). Dans mon cas, je vois les interfaces enp0s3et enp0s8.

Comme mentionné dans le 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 son image cloud.

Pour le moment, il n'y a pas de solution propre.

jzer7
la source
1

En fait, en plus de la réponse de Maximes, vous pouvez modifier la ligne de commande GRUB dans votre boîte jusqu'à ce que la nouvelle version soit propagée.

Allez simplement sur /etc/default/grubet définissez la ligne appropriée sur GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0" Vous devez changer le /etc/network/interfacespour refléter les noms corrects (eth0 ...).

Voir la documentation de in certdepot pour plus d'informations .

Snafu
la source
1

J'ai rencontré un problème similaire à celui abordé dans la question d'origine.

J'utilise Vagrant 1.8.1. et l'utilisation de la boîte ubuntu / trusty64 a très bien fonctionné, cependant, lorsque j'ai essayé d'utiliser la boîte ubuntu / xenial64, j'ai rencontré le même problème. Un commentaire dans ce fil de discussion m'a amené à une solution, qui semble fonctionner.

J'ai changé de ligne

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

dans le Vagrantfile pour

config.vm.network "private_network", ip: "192.168.33.10", auto_config: false
Dohn Joe
la source