如何使用vagrant定义网络设置

Gur*_*van 3 vagrant

我在流浪汉里面运行Ubuntu,这里是Vagrantfile:

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "ubuntu/trusty64"
  config.vm.network :private_network, ip: "192.168.99.4", :netmask => "255.255.255.0", auto_config: false
end
Run Code Online (Sandbox Code Playgroud)

所以我希望有192.168.99.4作为IP,但我总是:

eth0      Link encap:Ethernet  HWaddr 08:00:27:88:ba:8f  
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe88:ba8f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

eth1      Link encap:Ethernet  HWaddr 08:00:27:9c:a9:9f 
          inet6 addr: fe80::a00:27ff:fe9c:a99f/64 Scope:Link 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
Run Code Online (Sandbox Code Playgroud)

我有什么不对的线索吗?

在这个问题上取得了一些进展,它几乎就像这样: 如何在VirtualBox下的Vagrant中切换网络适配器的顺序?

它是关于不使用"10.0.2.15",据我所知它是在virutalbox的"NAT"设置中更改,不能由Vagrant管理

Fré*_*nri 10

来自流浪书

NAT要求作为VirtualBox的第一个网络接口,

Vagrant要求连接到虚拟机的第一个网络设备是NAT设备.NAT设备用于端口转发,这是Vagrant如何获得对虚拟机的SSH访问.

因此,任何仅主机或桥接网络都将作为附加网络设备添加,并作为"eth1","eth2"等公开给虚拟机."eth0"或"en0"通常始终是NAT设备.

目前无法覆盖此要求,但重要的是要了解它已经到位.

所以你报道的是这个NAT.

另外eth1没有定义为你auto_config: false在Vagrantfile中设置的,所以你基本上告诉流浪汉你将自己做所有的设置.所以你应该把这个参数变为真(或删除)或设置etc/network/interfaces你自己

您可以查看vagrant公共网络,看看是否可以使用代码段示例从配置中删除eth0网关

  config.vm.network "public_network", ip: "192.168.0.17"

  # default router
  config.vm.provision "shell",
    run: "always",
    inline: "route add default gw 192.168.0.1"

  # default router ipv6
  config.vm.provision "shell",
    run: "always",
    inline: "route -A inet6 add default gw fc00::1 eth1"

  # delete default gw on eth0
  config.vm.provision "shell",
    run: "always",
    inline: "eval `route -n | awk '{ if ($8 ==\"eth0\" && $2 != \"0.0.0.0\") print \"route del default gw \" $2; }'`"
Run Code Online (Sandbox Code Playgroud)


Mar*_*rco 5

要更改默认NAT,您应该在Vagrantfile中设置它。

例如:

 config.vm.define "bs" do |bvtserver|
  bvtserver.vm.hostname = "bvt-server"
  bvtserver.vm.network "private_network", ip: "192.168.50.3",
      virtualbox__intnet: "gcptest-network"
  bvtserver.vm.provider :virtualbox do |vbox|
    vbox.customize ["modifyvm", :id, "--natnet1", "10.3/16"]
  end
end
Run Code Online (Sandbox Code Playgroud)

有关积分和更多信息,请访问:李超博客


Don*_*sto 0

我敢打赌你正在看eth0(那是另一个界面)。看看eth1,你就会得到你正在寻找的东西。此外,从外部流浪者,尝试用 ping 它

ping 192.168.99.4
Run Code Online (Sandbox Code Playgroud)