我的 Windows 主机上有下一个 vagrant 文件
Vagrant.configure(2) do |config|
config.vm.provider :virtualbox do |v|
v.customize [
"modifyvm", :id,
"--memory", 1024,
"--cpus", 1,
]
end
config.vm.box = "ubuntu/trusty64"
config.vm.network "private_network", ip: "192.168.0.101"
end
虚拟机正常启动,但无法通过“192.168.0.101”ip 从主机访问。 guest 上的/etc/network/interface 是
auto lo
iface lo inet loopback
source /etc/network/interfaces.d/*.cfg
#VAGRANT-BEGIN
# The contents below are automatically generated by Vagrant. Do not modify.
auto eth1
iface eth1 inet static
address 192.168.0.101
netmask 255.255.255.0
#VAGRANT-END
和/etc/network/interfaces.d/eth0.cfg 是
auto eth0
iface eth0 inet dhcp
此外,在每次运行该 vagrant 之后,都会创建新的虚拟网络适配器,并在 Virtualbox UI 工具中看到有关该新网络的信息 - 真实 IP 是不同的和随机的,即 169.254.173.8。我有> 20个虚拟网络:)通过该IP guest 机器也被ping通了。但是在重新启动 vagrant 后,将使用新 IP 创建新网络
如何使用静态不可更改的 IP 运行 vagrant 机器?我需要用几个节点构建集群,每个节点都必须知道每个节点的 IP
更新:
在 Linux 主机上一切正常。我可以从我的主机 ping 所有客人,客人可以看到对方
在 Windows 上,客人无法 ping 其他客人,即 192.168.0.101 看不到 192.168.0.102
最佳答案
专用网络就是 guest 专用的,它是在默认的 NAT-ed 适配器之外创建的。如果您有多个客人,他们可以在专用网络上相互交互。
关于节点交互,有许多插件可以帮助您管理它,无论是使用实际 DNS 还是更简单地使用 /etc/hosts
.我尝试了一些并确定了vagrant-hosts .
关于networking - 在 Vagrant 下使用私有(private)网络无法访问访客 ip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30385200/