Ustawienia sieciowe nie powiodły się dla Vagrant box ubuntu / xenial64

15

Z oficjalnym obrazem Vagrant Ubuntu 16.04 LTS (Xenial Xerus) (na VirtualBox) mam problemy z podstawowymi ustawieniami sieci:

Mój 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 wynik:

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

Pozostawienie konfiguracji do DHCP również nie działa:

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

Jednocześnie, powyższe konfiguracje pracować ubuntu/trusty64i ubuntu/wily64i nieoficjalny gbarbieru/xenial.

Próba wykonania polecenia /sbin/ifdown eth1 2> /dev/nullnie daje żadnych rezultatów, ponieważ interfejs ma inny schemat nazewnictwa (główny to enp0s3).

Czy brakuje mi czegoś oczywistego, czy pudełko jest po prostu zepsute?

techraf
źródło

Odpowiedzi:

15

Problem wydaje się być rozwiązany w następnej wersji włóczęgi: https://github.com/mitchellh/vagrant/issues/7155

Wypróbowałem inne pudełko od Jeffa Geerlinga https://twitter.com/geerlingguy/status/723571293174427648?lang=fr i działało idealnie dla mnie. Jeff wykonał wiele świetnej pracy na Vagrant / Ansible, więc myślę, że to najlepsze rozwiązanie przed wydaniem kolejnej wersji Vagrant

Maxime Thoonsen
źródło
Miałem ten sam problem z oficjalnym pudełkiem Ubuntu 16.04. Po kilku godzinach prób i błędów wypróbowałem pudełko geerlingguy i zadziałało jak urok. Oficjalne pudełko Ubuntu 14.04 LTS również było w porządku.
Jabba
2

Mimo, że ubuntu/xenial64jest to oficjalne okno Ubuntu, ma pewne problemy z konfiguracją sieci i nie jest błędem Vagrant, jak wyjaśniono w odpowiedzi @Maxime.
Tak więc, jak wspomniano w tym numerze, preferowane jest użycie skrzynki bento (utrzymywanej przez społeczność i Opscode Chef jako lidera projektu), co w tym przypadku byłoby bento/ubuntu-16.04.

Alter Lagos
źródło
Urządzenia „bento” były również zalecane przez opiekuna Vagrant: github.com/mitchellh/vagrant/issues/7155#issuecomment-228568200
joonas.fi
1

Problem wynika z konwencji nazewnictwa interfejsu sieciowego w nowych wersjach Ubuntu. Twoja wirtualna maszyna wirtualna nie została zainicjowana, ale nadal możesz ssh do niej ( vagrant ssh). Tam zobaczysz, że nie ma interfejsu o nazwie eth1(możesz użyć ifconfig -alub ip link). W moim przypadku widzę interfejsy enp0s3ienp0s8 .

Jak wspomniano w numerze 6871

... potrzebujemy sposobu na wykrycie interfejsów zamiast statycznego przypisania ...

... lub przekonaj ubuntu do zmiany wizerunku w chmurze.

W tej chwili nie ma czystego rozwiązania.

jzer7
źródło
1

W rzeczywistości, oprócz odpowiedzi Maximes, możesz zmienić linię poleceń GRUB w swoim pudełku, aż nowa wersja zostanie rozpowszechniona.

Po prostu przejdź do /etc/default/grubi ustaw odpowiednią linię na GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0" Musisz zmienić na, /etc/network/interfacesaby odzwierciedlić prawidłowe nazwy (eth0 ...).

Więcej informacji znajduje się w dokumentacji w certdepot .

Snafu
źródło
1

Napotkałem podobny problem, jak omówiony w pierwotnym pytaniu.

Używam Vagrant 1.8.1. i korzystanie z ubuntu / trusty64 box działało dobrze, jednak kiedy próbowałem użyć ubuntu / xenial64, napotkałem ten sam problem. Komentarz w tym wątku doprowadził mnie do rozwiązania, które wydaje się działać.

Zmieniłem linię

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

w pliku Vagrantfile do

config.vm.network "private_network", ip: "192.168.33.10", auto_config: false
Dohn Joe
źródło