Con la imagen oficial de Ubuntu 16.04 LTS (Xenial Xerus) Vagrant box (en VirtualBox) tengo problemas con la configuración básica de red:
Mi 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
resultado:
==> 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
Dejar la configuración a DHCP tampoco funciona:
server.vm.network "private_network", type: "dhcp"
Al mismo tiempo, las configuraciones anteriores trabajan para ubuntu/trusty64
y ubuntu/wily64
como no oficiales gbarbieru/xenial
.
Probar el comando /sbin/ifdown eth1 2> /dev/null
no da resultados ya que la interfaz tiene un esquema de nomenclatura diferente (el principal es enp0s3
).
¿Me estoy perdiendo algo obvio aquí o la caja está rota?
fuente
A pesar de que
ubuntu/xenial64
es el cuadro oficial de Ubuntu, tiene algunos problemas con respecto a la configuración de la red y no es un problema vagabundo como se explica en la respuesta de @Maxime.Entonces, como se menciona en el tema, se prefiere usar una caja bento (mantenida por la comunidad y con Opscode Chef como líder del proyecto), lo que para este caso sería
bento/ubuntu-16.04
.fuente
El problema se debe a la convención de nomenclatura de la interfaz de red en las nuevas versiones de Ubuntu. Su VM Vagrant no se pudo aprovisionar, pero aún puede usar ssh (
vagrant ssh
). Allí verá que no hay una interfaz con nombreeth1
(puede usarifconfig -a
oip link
). En mi caso, veo las interfacesenp0s3
yenp0s8
.Como se menciona en el número 6871
Por el momento, no hay una solución limpia.
fuente
En realidad, además de la respuesta de Maximes, puede cambiar la línea de comandos de GRUB en su casilla hasta que se propague la nueva versión.
Simplemente vaya
/etc/default/grub
y establezca la línea apropiada enGRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
Debe cambiar/etc/network/interfaces
para reflejar los nombres correctos (eth0 ...).Vea la documentación de en certdepot para más información .
fuente
Me enfrenté a un problema similar como se discutió en la pregunta original.
Estoy usando Vagrant 1.8.1. y usar el cuadro ubuntu / trusty64 funcionó bien, sin embargo, cuando intenté usar el cuadro ubuntu / xenial64, me enfrenté al mismo problema. Un comentario en este tema me trajo una solución, que parece funcionar.
Cambié la linea
en el Vagrantfile para
fuente