我的开发机器是一台笔记本电脑,可运行多个Vagrant虚拟机。我在Vagrantfile中配置了这样的配置
s.vm.network "private_network", ip: "10.0.0.4"
然后在我的主机&etc / hosts中,我有
10.0.0.4 mymachine
这通常很有效,因为我的主机位于使用192.168.0.0-192.168.255.255的本地网络上。
我的主机是笔记本电脑,我带到不同网络配置的各种不同位置。我的主机目前在办公室的网络上使用10.0.0.0-10.255.255.255,并且vagrant给了我这样的信息:
指定的主机网络与非主机网络发生冲突!这个 将导致您指定的IP无法访问。请更改IP 或仅限主机网络的名称,以便它不再匹配 桥接或非主机网络。
我可以将我的所有机器切换为使用192.168.0.x,但这并不理想,因为:
这有什么办法吗?我可以告诉Vagrant允许可能的冲突,或以某种方式建立一个不受冲突影响的子网络吗?
答案 0 :(得分:1)
鉴于您问题中的当前元素:
10.0.0.0 – 10.255.255.255
,192.168.0.0/16
然后您可以使用的唯一专用网络范围是172.16.0.0 – 172.31.255.255
(请参阅https://en.wikipedia.org/wiki/Private_network#Private_IPv4_address_spaces)
如果您尝试遵守所有可能的网络,则无法获得单个IP。
我必须更新/ etc / hosts
您可以使用hostmanager插件为您更新文件(它可以更新主机和来宾计算机),因此如果您需要更改网络,请在vagrant up
上将文件更改为相应更新
答案 1 :(得分:0)
您应该检查IANA IPv4 Special-Purpose Address Registry和IANA IPv6 Special-Purpose Address Registry以查找可以路由但不是全局路由的合适地址范围。
例如:IPv4的Documentation (TEST-NET-1)
范围为192.0.2.0/24
,IPv6的Unique-Local
范围为fc00::/7
。
IPv6 Unique-Local
范围有一些警告。范围的下半部分fc00::/8
保留给全局授权,但如果使用兼容的随机数生成器来选择,则可以使用范围的上半部分fd00::/8
。下一个40位(全局ID)尝试全局唯一。