华为云VPC建议使用网段解析

举报
黄生 发表于 2025/09/10 11:29:13 2025/09/10
【摘要】 建议使用网段: 10.0.0.0/8-24 172.16.0.0/12-24 192.168.0.0/16-24我们来解析这条建议背后考量。 1. 规避与本地网络和公网的路由冲突云上网络(VPC)必须被视为您企业整体网络的一个延伸部分,而不是一个孤岛。因此,在规划其网段时,必须确保它不会与您已有的本地数据中心网络或办公室网络的IP地址范围发生重叠。想象一下,您的办公室网络使用的是 192.1...

建议使用网段: 
10.0.0.0/8-24 
172.16.0.0/12-24 
192.168.0.0/16-24

我们来解析这条建议背后考量。

1. 规避与本地网络和公网的路由冲突

云上网络(VPC)必须被视为您企业整体网络的一个延伸部分,而不是一个孤岛。因此,在规划其网段时,必须确保它不会与您已有的本地数据中心网络或办公室网络的IP地址范围发生重叠。想象一下,您的办公室网络使用的是 192.168.1.0/24 网段,而您恰巧在VPC中也使用了相同的网段。当您通过专线或VPN建立“云-地”混合云连接时,网络路由器会收到去往 192.168.1.0/24 的路由信息,但有两个来源:一个指向本地网络,一个指向云上VPC。这将导致路由混乱,数据包不知道应该发往何处,造成网络中断,这是灾难性的。

同时,IP冲突的考量并不仅限于硬件网络层面,还要深入到软件和基础设施的默认行为。Docker就是一个经典的例子:其默认创建的网桥(bridge)网络使用的正是 172.17.0.0/16 网段。想象一下这个场景:您因为在VPC中使用了 172.16.0.0/12 网段而感到安心,并在某台云服务器上部署了Docker。当Docker引擎启动时,它会自动创建一个虚拟网卡,并分配一个 172.17.0.1 的IP地址。瞬间,您的云服务器内部就出现了一个与您VPC大网重叠的IP路由。这会导致容器无法访问VPC内其他 172.17.x.x 地址的资源,或者引发各种难以捉摸的网络路由异常。

这种冲突异常隐蔽,因为它并非由网络工程师的错误配置直接导致,而是由应用层软件的默认约定引发的。因此,在选择VPC网段时,主动规避这些众所周知的“软件默认领地”(如Docker的 172.17.0.0/16、Kubernetes的常用网段等),是一种防患于未然的资深做法。

  • 为什么是这三个网段? 10.0.0.0/8, 172.16.0.0/12, 和 192.168.0.0/16 是IANA专门保留的私有IP地址段(RFC 1918)。这些地址在任何公网上都不会被路由,只允许在私有网络内部使用。

2. CIDR掩码:/8, /12, /16 与 /24 的含义

/8-/24 定义了您选择网段的“大小”或“容量”,这体现了可扩展性灵活性的考量。

  • 起始范围要足够大(/8, /12, /16)

    • /8 (如 10.0.0.0/8) 提供了超过1600万个IP地址,是最大的私有网段。
    • /12 (如 172.16.0.0/12) 提供了约100万个IP地址。
    • /16 (如 192.168.0.0/16) 提供了6.5万多个IP地址。
    • 建议从这么大的范围开始规划,是为了给未来留下充足的扩展空间。 一个VPC创建后,其主网段是无法修改的。如果您一开始只规划了一个小小的 /24(256个IP),未来业务增长需要在这个VPC内创建更多子网或容纳更多云服务器时,您将无地址可用,只能重建整个VPC环境,成本极高。选择一个大的父网段,就像圈了一块大地皮,未来可以在上面灵活地划分多个“小区”(子网)。
  • 子网划分要合理(建议掩码不超过/24)

    • 虽然VPC的主网段要大,但实际使用时,我们会将其划分为更小的子网(Subnet),并部署在不同的可用区(AZ)以实现高可用。
    • /24 掩码(255.255.255.0)是一个业界公认的最佳实践尺寸。它提供256个IP地址,这个规模:
      1. 与管理效率相匹配:对于大多数应用和服务而言,这个大小的网络既不会太小导致很快用尽,也不会太大导致广播域过于庞大(虽然云网络已经通过技术手段很大程度上抑制了广播问题)。
      2. 与 quotas 限制相契合:云服务商对子网、路由表、网络ACL等资源都有数量限制。使用 /24 掩码可以在VPC内创建数量合适的子网,更好地匹配这些限制。

你或许会觉得 /12 “别扭”,这种“别扭”感源于 /12 在“易于理解”和“计算便利性”上的双重劣势。

  • /8 (255.0.0.0): 极其简单。它的含义是:第一个字节是网络位,后三个字节都是主机位10.x.x.x 整个都是你的,超过1600万个IP,一眼到底,非常易于理解和记忆。
  • /16 (255.255.0.0): 也非常简单。它的含义是:前两个字节是网络位,后两个字节是主机位192.168.x.x 整个都是你的,6.5万个IP,毫无理解障碍。
  • /12 (255.240.0.0): 这里就开始“别扭”了。它的含义是:前12位是网络位。这跨越了第一个字节和第二个字节的一部分。第二个字节的掩码是 240(二进制 11110000),这意味着第二个字节只有前4位属于网络部分,后4位属于主机部分。

这种“劈开”一个字节的方式,大大增加了心算和规划的难度。 比如,我问你:172.16.0.0/12 这个网段里,包含哪些具体的 /16 网段?它并不是从 172.16.0.0172.31.0.0 这么简单(那是 /12 的边界),而是要计算第二个字节的变化,其范围实际是 172.16.0.0172.31.255.255。对于不常接触的人来说,立刻在脑子里画出这个边界远不如 /8/16 来得直接。
再从使用频率和场景上来说,

  • /24 (255.255.255.0): 这是终端网络的绝对王者。无论是你家中的路由器、小型办公室网络,还是云中的一个子网,绝大多数局域网都使用这个掩码。我们每天都会接触它,已经形成了强大的“肌肉记忆”,觉得它无比自然。
  • /8/16: 虽然不会用于终端,但作为汇总路由超级网段的概念,在网络规划和核心路由中非常常见。网络工程师也经常与之打交道。
  • /12: 它的应用场景相对狭窄。它主要的价值就在于 “为 172.16.0.0/12 这个特定的私有地址段提供一个恰到好处的概括” 。RFC 1918定义了 172.16.0.0172.31.255.255 是私有地址,而精确概括这一整个范围的掩码就是 /12。它更像是一个遵循标准的、不得已而为之的“规定动作”,而非一个因其本身优雅而产生的“常用动作”。

3. 实践中的选择

  • 如果您需要巨大的空间(成千上万的子网和实例):直接选择 10.0.0.0/8。这是最安全、最省心的选择。它的巨大容量意味着您几乎永远不用担心IP耗尽的问题,并且极其易于理解和沟通。
  • 如果您需要一个中等偏大的环境:选择 192.168.0.0/16 或从 10.0.0.0/8 里切出一块,例如 10.1.0.0/16。这样您得到的是一个干净的、易于计算的 /16 块,管理起来心智负担更小。或者使用 172.16.0.0/12,同时做好子网切分计算并避免冲突。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。