As configurações de rede falham para o ubuntu / xenial64 Caixa Vagrant

14

Com o Official Ubuntu 16.04 LTS (Xenial Xerus) Imagem da caixa Vagrant (no VirtualBox) Eu tenho problemas com 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 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

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 funcionam para ubuntu/trusty64 e ubuntu/wily64 e gbarbieru/xenial .

Tentar o comando /sbin/ifdown eth1 2> /dev/null não fornece resultados, pois a interface possui um esquema de nomenclatura diferente (o principal é enp0s3 ).

Estou sentindo falta de algo óbvio aqui ou a caixa acabou de quebrar?

    
por techraf 22.04.2016 / 23:43

4 respostas

15

O problema parece estar resolvido na próxima versão do vagrant: link

Eu tentei outra caixa de Jeff Geerling link e funcionou perfeitamente para mim. Jeff fez um ótimo trabalho no Vagrant / Ansible então eu acho que é a melhor solução antes do lançamento da próxima versão do Vagrant

    
por Maxime Thoonsen 23.04.2016 / 14:24
2

Apesar de ubuntu/xenial64 ser a caixa oficial do Ubuntu, tem alguns problemas relacionados à configuração de rede e não é uma questão de Vagrant como é explicado na resposta do @Maxime.
Assim, como na questão é mencionada, é preferível usar uma caixa bento (mantida pela comunidade e com Opscode Chef como líder de o projeto), que para este caso seria bento/ubuntu-16.04 .

    
por Alter Lagos 13.09.2016 / 23:42
1

O problema é devido à convenção de nomenclatura da interface de rede nas novas versões do Ubuntu. Sua VM do Vagrant não pôde ser provisionada, mas você ainda pode ssh para ela ( vagrant ssh ). Lá você verá que não há nenhuma interface chamada eth1 (você pode usar ifconfig -a ou ip link ). No meu caso, vejo as interfaces enp0s3 e enp0s8 .

Conforme mencionado na edição 6871

  

... precisamos de uma maneira de detectar as interfaces em vez de ter uma atribuição estática ...

     

... ou convença o Ubuntu a mudar sua imagem na nuvem.

No momento, não há solução limpa.

    
por jzer7 25.05.2016 / 00:29
1

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 para /etc/default/grub e definir a linha apropriada para GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0" Você precisa alterar o /etc/network/interfaces para refletir os nomes corretos (eth0 ...).

Veja o documentaion de in certdepot para mais informações .

    
por Snafu 03.06.2016 / 21:09