
隨著官方 Ubuntu 16.04 LTS (Xenial Xerus)Vagrant box 圖片(在 VirtualBox 上) 我在基本網路設定上遇到問題:
我的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
結果:
==> 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
將設定留給 DHCP 也不起作用:
server.vm.network "private_network", type: "dhcp"
同時以上配置適用於ubuntu/trusty64
和ubuntu/wily64
以及非官方gbarbieru/xenial
。
嘗試該命令/sbin/ifdown eth1 2> /dev/null
不會給出任何結果,因為介面具有不同的命名方案(主要的是enp0s3
)。
我在這裡遺漏了一些明顯的東西還是盒子壞了?
答案1
這個問題似乎在 vagrant 的下一個版本中得到了解決:https://github.com/mitchellh/vagrant/issues/7155
我嘗試了傑夫吉爾林的另一個盒子https://twitter.com/geerlingguy/status/723571293174427648?lang=fr它對我來說非常有效。 Jeff 在 Vagrant/Ansible 上做了很多出色的工作,所以我想這是在 Vagrant 的下一個版本發布之前最好的解決方案
答案2
答案3
該問題是由於新 Ubuntu 版本中的網路介面命名約定造成的。您的 Vagrant VM 未能配置,但您仍然可以透過 ssh 存取它 ( vagrant ssh
)。在那裡您將看到沒有命名的介面eth1
(您可以使用ifconfig -a
或ip link
)。就我而言,我看到了接口enp0s3
和enp0s8
。
如中所提到的問題 6871
……我們需要一種方法來偵測介面而不是靜態分配...
...或說服 ubuntu 更改其雲映像。
目前,還沒有乾淨的解決方案。
答案4
我遇到了與原始問題中討論的類似問題。
我正在使用 Vagrant 1.8.1。使用 ubuntu/trusty64 盒子工作得很好,但是,當我嘗試使用 ubuntu/xenial64 盒子時,我遇到了同樣的問題。一則評論在本期主題中讓我找到了一個解決方案,似乎可行。
我改變了線路
config.vm.network "private_network", ip: "192.168.33.10"
在 Vagrantfile 中
config.vm.network "private_network", ip: "192.168.33.10", auto_config: false