假设有一个网络范围 150.100.123.0/24,需要将其分成两个子网,一个子网包含 2 台主机,另一个子网包含剩余的 252-2 台主机,该怎么做呢?小子网可以是 150.100.123.0/30,对吗?另一个子网是什么?一个子网可以是 150.100.123.128/25,但这只提供 128-2 台主机,对吗?它还会留下很多地址,例如 150.100.123.64/26,不是吗?
答案1
子网通常只能分成两半(一次又一次,所以分成四份,...)。因此,一个 /24 子网(有 253 个可用地址)可以分成一对 /25 子网,每个子网有 125 个可用地址。
也就是说,根据您的使用模式和所使用的操作系统,您可能会以非常不对称的方式(以可重复、确定性、可维护的方式!)摆脱困境。这是因为某些操作系统(例如 Linux)总是会首先从较小的路由表中进行选择。
因此,如果您确定的话,您可以同时使用 150.100.123.252/30 和 150.100.123.0/24
- 较大的子网中不使用重叠地址
- 所有涉及的操作系统在重叠子网上的路由选择方面都具有相同的属性。
只是为了明确一点:这是不是IP 规范内部的一个构造,但它是在给定限制下可靠工作的结构。
我确实怀疑,您在这里问的可能是个错误的问题:这两个主机有什么特别之处?另一层的解决方案(例如 NAT)不是更适合实现您的目标吗?
答案2
这感觉像是一个 X/Y 问题,因为你没有说明为什么要分割出一个小范围。还有其他解决方案:
不要使用子网划分。相反,将一些 IP 地址分配给防火墙/路由设备(例如 pfsense),然后将流量通过 NAT 传输到远端的主机。
获取更多真实 IP - 如果你有能力并且需要 /24 的真实 IPv4 地址,那么你很可能可以再负担得起 /30
答案并不完整 - 也请探索 IPv6。大多数提供商拥有的 IPv6 多得他们不知道该怎么处理,因此您可以请求两个 /64 并为每个环境分配一个。并非所有东西都适用于 V6,因此需要 V4 作为后备方案,因此这个选项并不完整。
最后,您真的需要更大的 ~250 个 IP 吗?