ubuntu / xenial64 Vagrant框的网络设置失败


15

使用官方的Ubuntu 16.04 LTS(Xenial Xerus) Vagrant框图像(在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/trusty64ubuntu/wily64和非官方的gbarbieru/xenial

尝试使用该命令/sbin/ifdown eth1 2> /dev/null不会产生任何结果,因为接口具有不同的命名方案(主要是enp0s3)。

我在这里缺少明显的东西吗?还是盒子刚坏了?

Answers:


15

这个问题似乎在vagrant的下一个版本中得到了解决:https : //github.com/mitchellh/vagrant/issues/7155

我尝试了Jeff Geerling的另一个盒子https://twitter.com/geerlingguy/status/723571293174427648?lang=fr,它对我来说非常合适。Jeff在Vagrant / Ansible上做了很多出色的工作,所以我认为这是发布下一版Vagrant之前的最佳解决方案


我在官方的Ubuntu 16.04包装盒上遇到了同样的问题。经过几个小时的反复试验,我尝试了geerlingguy的盒子,它的工作原理就像是一种魅力。官方的Ubuntu 14.04 LTS盒子也不错。
贾巴


1

该问题是由于新Ubuntu版本中的网络接口命名约定引起的。您的Vagrant VM配置失败,但是您仍然可以使用它(vagrant ssh)。在那里,您将看到没有命名的接口eth1(可以使用ifconfig -aip link)。就我而言,我看到了界面enp0s3enp0s8

第6871期所述

...我们需要一种检测接口的方法,而不是进行静态分配...

...或说服ubuntu更改其云映像。

目前,还没有干净的解决方案。


1

实际上,除了Maximes答案外,您还可以在框中更改GRUB命令行,直到传播新版本为止。

只需转到/etc/default/grub并将相应的行设置为即可,GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0" 您必须更改/etc/network/interfaces以反映正确的名称(eth0 ...)。

有关更多信息,请参见certdepot中文档


1

我遇到了与原始问题中讨论的问题类似的问题。

我正在使用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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.