Com a imagem oficial da caixa Ubuntu 16.04 LTS (Xenial Xerus) Vagrant (no VirtualBox), tenho problemas com as configurações básicas de rede:
Meu 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
Deixar a configuração para o DHCP também não funciona:
server.vm.network "private_network", type: "dhcp"
Ao mesmo tempo, as configurações acima trabalhar para ubuntu/trusty64
e ubuntu/wily64
como não oficiais gbarbieru/xenial
.
Tentar o comando /sbin/ifdown eth1 2> /dev/null
não dá resultados, pois a interface possui um esquema de nomenclatura diferente (o principal é enp0s3
).
Estou perdendo algo óbvio aqui ou a caixa está quebrada?
fonte
Apesar de
ubuntu/xenial64
ser a caixa oficial do Ubuntu, há alguns problemas relacionados à configuração da rede e não é um problema do Vagrant, como é explicado na resposta do @Maxime.Portanto, como mencionado na edição, é preferível usar uma caixa bento (mantida pela comunidade e com o Opscode Chef como líder do projeto), o que, para este caso, seria
bento/ubuntu-16.04
.fonte
O problema é devido à convenção de nomenclatura da interface de rede nas novas versões do Ubuntu. Não foi possível provisionar sua VM do Vagrant, mas você ainda pode fazer o ssh (
vagrant ssh
). Lá você verá que não há uma interface nomeadaeth1
(você pode usarifconfig -a
ouip link
). No meu caso, eu vejo as interfacesenp0s3
eenp0s8
.Conforme mencionado na edição 6871
No momento, não há solução limpa.
fonte
Na verdade, além da resposta do Maximes, você pode alterar a linha de comando do GRUB na sua caixa até que a nova versão seja propagada.
Basta ir
/etc/default/grub
e definir a linha apropriada comoGRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
Você precisa alterar o/etc/network/interfaces
para refletir os nomes corretos (eth0 ...).Veja a documentação do certdepot para mais informações .
fonte
Eu enfrentei um problema semelhante ao discutido na pergunta original.
Estou usando o Vagrant 1.8.1. e o uso da caixa ubuntu / trusty64 funcionou bem, no entanto, quando tentei usar a caixa ubuntu / xenial64, enfrentei o mesmo problema. Um comentário neste tópico trouxe-me a uma solução, que parece dar certo.
Eu mudei a linha
no arquivo Vagrant para
fonte