Cài đặt mạng không thành công cho hộp ubfox / xenial64 Vagrant


15

Với hình ảnh hộp Vagrant chính thức của Ubuntu 16.04 LTS (Xenial Xerus) (trên VirtualBox), tôi gặp vấn đề với các cài đặt mạng cơ bản:

My 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 kết quả:

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

Để cấu hình cho DHCP cũng không hoạt động:

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

Cùng lúc đó, các cấu hình trên làm việc cho ubuntu/trusty64ubuntu/wily64và không chính thức gbarbieru/xenial.

Thử lệnh /sbin/ifdown eth1 2> /dev/nullkhông cho kết quả vì giao diện có sơ đồ đặt tên khác (cái chính là enp0s3).

Tôi đang thiếu một cái gì đó rõ ràng ở đây hoặc là hộp bị hỏng?

Câu trả lời:


15

Vấn đề dường như được giải quyết trong bản phát hành tiếp theo của vagrant: https://github.com/mitchellh/vagrant/issues/7155

Tôi đã thử một hộp khác từ Jeff Geumming https://twitter.com/ge Muffguy / status / 723571293174427648?lang=fr và nó hoạt động hoàn hảo với tôi. Jeff đã thực hiện rất nhiều công việc tuyệt vời trên Vagrant / Ansible vì vậy tôi đoán đó là giải pháp tốt nhất trước khi phát hành phiên bản tiếp theo của Vagrant


Tôi gặp vấn đề tương tự với hộp Ubuntu 16.04 chính thức. Sau một vài giờ dùng thử và lỗi, tôi đã thử hộp của ge Muffguy và nó hoạt động như một lá bùa. Hộp Ubuntu 14.04 LTS chính thức cũng ổn.
Jabba

2

Mặc dù ubuntu/xenial64là hộp Ubuntu chính thức, nó có một số vấn đề liên quan đến cấu hình mạng và không phải là vấn đề của Vagrant như được giải thích trong câu trả lời của @Maxime.
Vì vậy, như trong vấn đề được đề cập, nên sử dụng hộp bento (được kết hợp bởi danh hài và với Opscode Chef là người lãnh đạo dự án), trong trường hợp này sẽ là như vậy bento/ubuntu-16.04.


Các hộp "bento" cũng được nhà bảo trì của Vagrant khuyên dùng: github.com/mitchellh/vagrant/issues/7155#issuecomment-228568200
joonas.fi

1

Vấn đề là do quy ước đặt tên giao diện mạng trong các phiên bản Ubuntu mới. VM Vagrant của bạn không được cung cấp, nhưng bạn vẫn có thể ssh với nó ( vagrant ssh). Ở đó bạn sẽ thấy rằng không có giao diện được đặt tên eth1(bạn có thể sử dụng ifconfig -ahoặc ip link). Trong trường hợp của tôi, tôi thấy các giao diện enp0s3enp0s8.

Như đã đề cập trong vấn đề 6871

... Chúng ta cần một cách để phát hiện các giao diện thay vì có một nhiệm vụ tĩnh ...

... hoặc thuyết phục ubfox thay đổi hình ảnh đám mây của họ.

Hiện tại, không có giải pháp sạch.


1

Trên thực tế, ngoài câu trả lời của Maximes, bạn có thể thay đổi dòng lệnh GRUB trong hộp của mình cho đến khi phiên bản mới được phổ biến.

Chỉ cần vào /etc/default/grubvà thiết lập các dòng phù hợp với GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0" Bạn phải thay đổi /etc/network/interfacesđể phản ánh những cái tên đúng (eth0 ...).

Xem tài liệu của certdepot để biết thêm thông tin .


1

Tôi đã đối mặt với một vấn đề tương tự như được thảo luận trong câu hỏi ban đầu.

Tôi đang sử dụng Vagrant 1.8.1. và sử dụng hộp ubfox / trusty64 chỉ hoạt động tốt, tuy nhiên, khi tôi cố gắng sử dụng hộp ubfox / xenial64, tôi đã gặp phải vấn đề tương tự. Một nhận xét trong chủ đề vấn đề này đã đưa tôi đến một giải pháp, mà dường như giải quyết được.

Tôi đã thay đổi dòng

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

trong Vagrantfile để

config.vm.network "private_network", ip: "192.168.33.10", auto_config: false
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.