我可以使用哪些IP不会与本地主机网络冲突?

时间:2016-09-05 20:18:59

标签: networking vagrant

我的开发机器是一台笔记本电脑,可运行多个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,但这并不理想,因为:

  • 我必须更新/ etc / hosts
  • 我在其他网络上遇到同样的问题
  • 我必须教育其他开发者如何处理这类事情

这有什么办法吗?我可以告诉Vagrant允许可能的冲突,或以某种方式建立一个不受冲突影响的子网络吗?

2 个答案:

答案 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 RegistryIANA 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)尝试全局唯一。