Impostazioni di rete non riuscite per Ubuntu / xenial64 Vagrant box


15

Con l'immagine di Ubuntu 16.04 LTS ufficiale (Xenial Xerus) Vagrant (su VirtualBox) ho problemi con le impostazioni di rete di base:

Il mio 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 risultato:

==> 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

Anche lasciare la configurazione su DHCP non funziona:

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

Allo stesso tempo, le configurazioni di cui sopra funzionano per ubuntu/trusty64e ubuntu/wily64che non ufficiali gbarbieru/xenial.

Provare il comando /sbin/ifdown eth1 2> /dev/nullnon dà risultati poiché l'interfaccia ha uno schema di denominazione diverso (quello principale è enp0s3).

Mi sto perdendo qualcosa di ovvio qui o la scatola è rotta?

Risposte:


15

Il problema sembra essere risolto nella prossima versione di Vagrant: https://github.com/mitchellh/vagrant/issues/7155

Ho provato un'altra scatola di Jeff Geerling https://twitter.com/geerlingguy/status/723571293174427648?lang=fr e ha funzionato perfettamente per me. Jeff ha fatto un ottimo lavoro su Vagrant / Ansible, quindi immagino sia la soluzione migliore prima dell'uscita della prossima versione di Vagrant


Ho avuto lo stesso problema con la scatola ufficiale Ubuntu 16.04. Dopo alcune ore di tentativi ed errori ho provato la scatola di Geerlingguy e ha funzionato come un incantesimo. Anche la scatola ufficiale Ubuntu 14.04 LTS andava bene.
Jabba,

2

Nonostante ubuntu/xenial64sia la confezione ufficiale di Ubuntu, presenta alcuni problemi relativi alla configurazione della rete e non è un problema di Vagrant, come spiegato nella risposta di @Maxime.
Quindi, come menzionato nel numero, è preferibile utilizzare un bento box (gestito dalla comunità e con Opscode Chef come capo del progetto), che per questo caso sarebbe bento/ubuntu-16.04.


Le scatole "bento" sono state consigliate anche dal manutentore di Vagrant: github.com/mitchellh/vagrant/issues/7155#issuecomment-228568200
joonas.fi

1

Il problema è dovuto alla convenzione di denominazione dell'interfaccia di rete nelle nuove versioni di Ubuntu. Non è stato possibile eseguire il provisioning del computer virtuale Vagrant in uso, ma è comunque possibile eseguirne lo ssh ( vagrant ssh). Lì vedrai che non esiste un'interfaccia denominata eth1(puoi usare ifconfig -ao ip link). Nel mio caso, vedo le interfacce enp0s3e enp0s8.

Come menzionato nel numero 6871

... abbiamo bisogno di un modo per rilevare le interfacce invece di avere un compito statico ...

... o convincere Ubuntu a cambiare la loro immagine cloud.

Al momento, non esiste una soluzione pulita.


1

In realtà, oltre alla risposta di Maximes, è possibile modificare la riga di comando di GRUB nella casella fino a quando non viene propagata la nuova versione.

Basta andare /etc/default/grube impostare la riga appropriata su GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0" Devi cambiare /etc/network/interfacesper riflettere i nomi corretti (eth0 ...).

Vedi il documentaion di in certdepot per maggiori informazioni .


1

Ho affrontato un problema simile a quello discusso nella domanda originale.

Sto usando Vagrant 1.8.1. e l'uso della casella ubuntu / trusty64 ha funzionato bene, tuttavia, quando ho provato a utilizzare la casella ubuntu / xenial64, ho riscontrato lo stesso problema. Un commento in questo thread di discussione mi ha portato a una soluzione, che sembra funzionare.

Ho cambiato la linea

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

nel Vagrantfile a

config.vm.network "private_network", ip: "192.168.33.10", auto_config: false
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.