公司网络规划指南 #
本文介绍如何为公司规划网络地址,涵盖 RFC 1918 私有地址(A/B/C 类网段)的划分原则,以及在阿里云 VPC 上的网段分配实践。
RFC 1918 私有地址空间 #
RFC 1918 定义了三段可在内部网络自由使用、不会在公网上路由的 IPv4 地址,对应传统的 A/B/C 类私有网段:
| 类别 | CIDR 表示 | 地址范围 | 可用主机数 | 典型用途 |
|---|---|---|---|---|
| A 类 | 10.0.0.0/8 | 10.0.0.0 ~ 10.255.255.255 | ~1677 万 | 大型企业内网、数据中心、云 VPC |
| B 类 | 172.16.0.0/12 | 172.16.0.0 ~ 172.31.255.255 | ~104 万 | 中型企业、分支机构 |
| C 类 | 192.168.0.0/16 | 192.168.0.0 ~ 192.168.255.255 | ~6.5 万 | 小型办公、家庭网络、测试环境 |
注意:
100.64.0.0/10为运营商级 NAT(CGNAT)地址段,阿里云等云平台保留使用,不可用于 VPC 网段。
公司网络规划原则 #
1. 分层分区域 #
按功能 / 安全等级划分独立子网,便于 ACL 管控和故障隔离:
公司整体网络
├── 办公网(员工终端、Wi-Fi、打印机)
├── 生产网(服务器、数据库、中间件)
├── DMZ(对外服务:Web、API、邮件)
├── 管理网(堡垒机、监控、日志)
├── NAT 中转网(跨网互通、SNAT/DNAT 网关)
└── 云上网(阿里云 VPC 资源)
2. 预留扩展空间 #
- 每个区域只分配当前需求的 2~4 倍 地址空间
- 不同区域之间保留未分配的空白网段,方便未来插入新区域
- 子网掩码统一使用
/24(254 台主机)作为最小分配单元,便于管理
3. 避免地址冲突 #
- 与上下游合作伙伴、收购公司的网段提前对齐
- VPN / 专线互联前务必确认双方 CIDR 无重叠
- 建立公司级 IP 地址管理表(IPAM)
示例:中型公司网络地址规划 #
以下以一家拥有 总部 + 2 个分支机构 + 阿里云 的公司为例:
总体分配(使用 A 类 10.0.0.0/8) #
| 区域 | CIDR | 说明 |
|---|---|---|
| 总部办公网 | 10.1.0.0/16 | 员工终端、Wi-Fi、IP 电话 |
| 分支机构 A | 10.2.0.0/16 | 分支 A 办公 + 本地服务 |
| 分支机构 B | 10.3.0.0/16 | 分支 B 办公 + 本地服务 |
| 生产数据中心 | 10.10.0.0/16 | 自建 IDC 服务器 |
| DMZ | 10.20.0.0/16 | 对外暴露的服务 |
| 管理网 | 10.30.0.0/16 | 堡垒机、监控、日志平台 |
| NAT 中转网 | 10.50.0.0/16 | 跨网互通网关、SNAT/DNAT(见下方详述) |
| 阿里云 VPC | 10.96.0.0/12 | 云上所有资源(含多 VPC,见下方细化) |
| 预留扩展 | 10.4.0.0/16 ~ 10.9.0.0/16 | 未来新分支或业务线 |
| 预留扩展 | 10.11.0.0/16 ~ 10.19.0.0/16 | 未来自建 IDC 扩容 |
| 预留扩展 | 10.31.0.0/16 ~ 10.49.0.0/16 | 管理网 / NAT 网段扩容 |
| 预留扩展 | 10.112.0.0/16 ~ 10.127.0.0/16 | 云上 VPC 后续扩容(紧邻 10.96.0.0/12) |
阿里云 VPC 内部细化(10.96.0.0/12) #
阿里云建议使用 RFC 1918 私有地址作为 VPC 主 IPv4 网段,掩码推荐 /16 ~ /28。
10.96.0.0/12 覆盖 10.96.0.0 ~ 10.111.255.255,共 16 个 /16 块,可在其下规划多个独立 VPC:
多 VPC 分配 #
| VPC 名称 | CIDR | 地域 | 用途 |
|---|---|---|---|
| prod-vpc | 10.100.0.0/16 | 华东 1(杭州) | 生产环境 |
| staging-vpc | 10.101.0.0/16 | 华东 1(杭州) | 预发布环境 |
| dev-vpc | 10.102.0.0/16 | 华东 2(上海) | 开发环境 |
| test-vpc | 10.103.0.0/16 | 华东 2(上海) | 测试环境 |
| dr-vpc | 10.111.0.0/16 | 华北 2(北京) | 灾备环境 |
| 预留扩展 | 10.96.0.0/16 ~ 10.99.0.0/16 | — | 未来新增 VPC(4 块) |
| 预留扩展 | 10.104.0.0/16 ~ 10.110.0.0/16 | — | 未来新增 VPC(7 块) |
prod-vpc 内部 VSwitch 细化(10.100.0.0/16) #
| 可用区 / 用途 | VSwitch CIDR | IP 数量 | 说明 |
|---|---|---|---|
| K8s Pod 网络 | 10.100.0.0/17 | 32,768 | ACK 集群 Pod CIDR(4,096 × 8) |
| K8s Service 网络 | 10.100.128.0/20 | 4,096 | ACK 集群 Service CIDR |
| 可用区 A - 应用层 | 10.100.144.0/20 | 4,096 | ECS / 容器 Pod |
| 可用区 A - 数据库层 | 10.100.160.0/20 | 4,096 | RDS / Redis / MongoDB |
| 可用区 B - 应用层 | 10.100.176.0/20 | 4,096 | 多可用区容灾 |
| 可用区 B - 数据库层 | 10.100.192.0/20 | 4,096 | 多可用区容灾 |
| NAT 网关专用 | 10.100.208.0/20 | 4,096 | 增强型 NAT 网关 VSwitch |
| 预留扩展 | 10.100.224.0/20 ~ 10.100.240.0/20 | 4,096 × 2 | 未来新增 VSwitch |
提示:阿里云 ACK(容器服务 Kubernetes 版)的 Pod CIDR 和 Service CIDR 需要与 VPC 网段不冲突,规划时务必预留足够空间。
NAT 中转网段规划(跨网互通) #
当公司存在多个独立网络(总部、分支、IDC、云上 VPC)时,各网段之间往往不能直接路由(地址可能重叠、安全策略要求隔离)。此时需要规划一个专用的 NAT 中转网段,部署 SNAT/DNAT 网关来实现可控的跨网通信。
为什么需要 NAT 中转网段 #
| 问题 | NAT 中转如何解决 |
|---|---|
两个网络 CIDR 重叠(如分支与收购公司都用 192.168.1.0/24) | 通过 DNAT 做地址映射,双方无需改网 |
| 安全策略要求网络隔离(办公网不能直连生产网) | NAT 网关做流量代理 + ACL 精细控制可访问的端口 |
| 分支/IDC 需要访问阿里云 VPC 但不想暴露真实网段 | SNAT 将源地址统一转换为 NAT 网段地址 |
| 多个 VPC 之间部分网段冲突无法走 CEN 直连 | NAT 网关做双向地址转换,绕过路由冲突 |
网段分配 #
在总体分配中已预留 10.50.0.0/16 作为 NAT 中转网段,内部按用途细分为多个 /24:
| 子网 | CIDR | 用途 |
|---|---|---|
| nat-office | 10.50.1.0/24 | 办公网 → 云 / IDC 的 SNAT 出口 |
| nat-branch-a | 10.50.2.0/24 | 分支 A 跨网访问的 SNAT 出口 |
| nat-branch-b | 10.50.3.0/24 | 分支 B 跨网访问的 SNAT 出口 |
| nat-idc | 10.50.4.0/24 | 生产 IDC → 云 VPC 的 SNAT 出口 |
| nat-cloud | 10.50.5.0/24 | 云 VPC → IDC / 分支的 SNAT 出口 |
| nat-dnat | 10.50.10.0/24 | DNAT 映射地址池(对外暴露内部服务) |
| 预留扩展 | 10.50.6.0/24 ~ 10.50.9.0/24 | 未来新增来源网络的 NAT 出口 |
| 预留扩展 | 10.50.11.0/24 ~ 10.50.255.0/24 | 大规模扩容 |
网络拓扑示意 #
┌──────────────────────────┐
│ NAT 中转网段 │
│ 10.50.0.0/16 │
│ │
│ ┌──────────────────┐ │
办公网 │ │ NAT 网关集群 │ │ 阿里云 VPC
10.1.0.0/16 ───SNAT──▶ (HA 主备) ◀──SNAT─── 10.96.0.0/12
│ │ │ │
分支 A │ │ SNAT: 源地址转换 │ │ 生产 IDC
10.2.0.0/16 ───SNAT──▶ DNAT: 目的转换 ◀──SNAT─── 10.10.0.0/16
│ │ │ │
分支 B │ │ ACL: 端口级管控 │ │ DMZ
10.3.0.0/16 ───SNAT──▶ 日志: 全量审计 ◀──SNAT─── 10.20.0.0/16
│ └──────────────────┘ │
└──────────────────────────┘
NAT 类型与用途 #
| NAT 类型 | 方向 | 场景 | 示例 |
|---|---|---|---|
| SNAT(源地址转换) | 内 → 外 | 内部网络主动访问云上资源或 IDC | 办公网 10.1.x.x 访问 VPC 10.96.x.x 时,源 IP 转换为 10.50.1.x |
| DNAT(目的地址转换) | 外 → 内 | 云上或分支访问内部特定服务 | 分支访问 10.50.10.100:3306 → 映射到 IDC 内 10.10.5.20:3306 |
阿里云上的 NAT 网关配置 #
在阿里云 VPC 中使用 NAT 网关实现与 NAT 中转网段的对接:
| 配置项 | 说明 |
|---|---|
| NAT 网关类型 | 推荐增强型 NAT 网关(支持更大并发和弹性) |
| 所属 VSwitch | 在 VPC 内创建专用 VSwitch 10.100.208.0/20 用于 NAT 网关 |
| EIP 绑定 | 如需出公网,绑定 EIP;仅跨网互通无需 EIP |
| SNAT 规则 | 源网段填写对端 CIDR(如 10.1.0.0/16),目标为 VPC 内资源 |
| DNAT 规则 | 外部访问入口,映射到 VPC 内 ECS/RDS 的私网 IP |
| 路由 | 添加回程路由,目标为 NAT 中转网段 10.50.0.0/16,下一跳为专线/VPN 网关 |
iptables NAT 示例(自建网关) #
如果在 Linux 服务器上自建 NAT 网关,核心规则如下:
# 开启内核转发
echo 1 > /proc/sys/net/ipv4/ip_forward
# SNAT:办公网 (10.1.0.0/16) 访问阿里云 VPC (10.96.0.0/12)
# 出站时将源地址转换为 NAT 网段地址
iptables -t nat -A POSTROUTING -s 10.1.0.0/16 -d 10.96.0.0/12 \
-j SNAT --to-source 10.50.1.1
# DNAT:将 NAT 地址的 3306 端口映射到 IDC 内部数据库
iptables -t nat -A PREROUTING -d 10.50.10.100 -p tcp --dport 3306 \
-j DNAT --to-destination 10.10.5.20:3306
# 允许转发流量
iptables -A FORWARD -s 10.1.0.0/16 -d 10.96.0.0/12 -j ACCEPT
iptables -A FORWARD -d 10.10.5.20 -p tcp --dport 3306 -j ACCEPT
NAT 中转网段规划要点 #
- 独立网段:NAT 中转网段必须与所有业务网段不重叠,避免路由歧义
- 高可用:NAT 网关至少部署主备两台,或使用阿里云 NAT 网关(自带 HA)
- ACL 精细管控:只开放必要的端口和协议,禁止全放通
- 全量日志:所有 NAT 会话记录应接入日志平台,便于审计和排障
- 固定映射:DNAT 映射关系应固定并文档化,避免动态分配导致混乱
- 回程路由:确保目标网络有回到 NAT 网段的回程路由,否则回包无法到达
B 类 / C 类网段的适用场景 #
并非所有场景都适合 A 类大段,以下为 B/C 类的典型使用场景:
B 类(172.16.0.0/12) #
| 场景 | 示例 CIDR | 说明 |
|---|---|---|
| 中型公司主网 | 172.16.0.0/16 | 总部 + 少量分支,地址需求适中 |
| 阿里云 VPC | 172.16.0.0/16 | 与本地 10.x 不冲突,适合专线互联 |
| Docker bridge | 172.17.0.0/16 | Docker 默认 bridge 网络 |
C 类(192.168.0.0/16) #
| 场景 | 示例 CIDR | 说明 |
|---|---|---|
| 小型办公室 | 192.168.1.0/24 | 最常见的小型局域网 |
| 家庭 / SOHO | 192.168.0.0/24 | 路由器默认网段 |
| 开发测试环境 | 192.168.100.0/24 | 本地开发、CI/CD Runner |
建议:公司网络优先使用
10.0.0.0/8,地址空间充裕且易于划分子网;192.168.x.x留给小型办公或测试环境。
阿里云 VPC 网段注意事项 #
- 三个可选标准网段:
10.0.0.0/8、172.16.0.0/12、192.168.0.0/16及其子网 - 禁用的网段:
100.64.0.0/10(阿里云内部保留)、224.0.0.0/4(组播) - VPC 互联:多个 VPC 通过 CEN(云企业网)或对等连接互通时,各 VPC 的 CIDR 不能重叠
- 混合云专线:本地 IDC 与阿里云 VPC 通过专线连接时,两端 CIDR 必须不同
- VPC 网段一旦创建不可修改,请在规划阶段慎重选择
- VSwitch 掩码:推荐
/24(254 IP),最小/28(14 IP),最大不超过 VPC 掩码
多 VPC 规划示例 #
已在上方「阿里云 VPC 内部细化」中统一规划,各 VPC 均位于 10.96.0.0/12 内:
| VPC 名称 | CIDR | 地域 | 用途 |
|---|---|---|---|
| prod-vpc | 10.96.0.0/16 | 华东 1(杭州) | 生产环境 |
| staging-vpc | 10.97.0.0/16 | 华东 1(杭州) | 预发布环境 |
| dev-vpc | 10.98.0.0/16 | 华东 2(上海) | 开发环境 |
| test-vpc | 10.99.0.0/16 | 华东 2(上海) | 测试环境 |
| dr-vpc | 10.111.0.0/16 | 华北 2(北京) | 灾备环境 |
网络规划 Checklist #
- 确定公司整体地址空间(A/B/C 类选择)
- 按功能区域划分子网,列出 CIDR 分配表
- 为每个区域预留 2~4 倍扩展空间
- 确认与本地 IDC、合作伙伴、云 VPC 之间无地址冲突
- 建立 IPAM(IP 地址管理)文档或系统
- 阿里云 VPC 创建前确认网段(创建后不可修改)
- 规划 NAT 中转网段,部署跨网互通网关
- 确认所有跨网路径的回程路由正确
- ACK 集群额外预留 Pod CIDR 和 Service CIDR
- 记录所有分配并定期审计
Reference #
RFC 1918 - Address Allocation for Private Internets