如何使用vagrant定义网络设置
我在vagrant中运行Ubuntu,这里是vagrant文件:如何使用vagrant定义网络设置,vagrant,Vagrant,我在vagrant中运行Ubuntu,这里是vagrant文件: # 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.ne
# 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
因此,我希望将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
知道我做错了什么吗
在这个问题上取得了一些进展,几乎是这样的:
它是关于不使用“10.0.2.15”的,据我所知,它将在virutalbox的“NAT”设置中更改,不能由Vagrant管理我敢打赌您正在查看
eth0
(这是另一个界面)。查看eth1
,您将得到您正在搜索的内容。此外,从外面流浪的人,尽量用平它
ping 192.168.99.4
从
NAT要求作为与VirtualBox的第一个网络接口
Vagrant需要连接到虚拟机的第一个网络设备
机器应为NAT设备。NAT设备用于端口
转发,这是Vagrant通过SSH访问虚拟机的方式
机器
因此,任何仅主机或桥接网络都将添加为
其他网络设备,并作为虚拟机公开
“eth1”、“eth2”等等。“eth0”或“en0”通常总是NAT
装置
目前无法覆盖此要求,但是
重要的是要理解它已经到位
所以你要报道的是NAT
此外,eth1没有定义为您在vagrant文件中设置auto_config:false
,因此您基本上是告诉vagrant您将自己完成所有设置。因此,您应该将此参数设置为true(或remove),或者自己设置etc/network/interfaces
您可以查看并查看是否可以使用代码段示例从配置中删除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; }'`"
要更改默认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
关于信用卡和更多信息:您想要什么界面?显示:主机名127.0.0.1ok我错过了关于
自动配置的部分,您告诉vagrant不要创建界面,您将创建自己-我还删除了ssh配置,因为它仍然是127.0.0.1(我使用的是vmware,它在专用网络中显示IP)谢谢,我删除了auto_disable,得到eth0为10.0.2.15,eth1为192.168.99.4。但我最初的动机是摆脱10.0.2.15,它与外部的本地网络相冲突。你知道怎么做吗?@Gurvan-根据上面的描述,在使用Vagrant时这样做听起来不可行。@slm,这正是w这是我想做的!VPN隧道另一端的地址范围也是10.0.x.x,我的计划有点牵强。上面更新了,eth1没有出现,所以我把它放上去了,也没有占用我的ip