web-dev-qa-db-fra.com

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

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?

15
techraf

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.

15
Maxime Thoonsen

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.

2
Alter Lagos

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
1
Dohn Joe

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.

1
jzer7

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 .

1
Snafu