在企业网络规划中,选择合适的方案,决定了网络好不好管、能不能扩展,以及出问题时能不能快速定位。
方案一:一刀切 256 个 /24 子网 + 静态路由
这种方案的核心思路,是把一个 /16 大网段固定切成 256 个小网段,然后在核心路由器上为每个小网段手动写一条静态路由。
它的问题很明显:
路由表巨大:256 条静态路由,全堆在核心设备上,管理起来非常吃力。
扩展困难:每新增一个子网,就要在所有相关路由器上手动加一条路由。如果你有 99 台路由器,这个工作量是无法接受的。
排障麻烦:出问题时,需要逐条检查路由配置,定位效率极低。
结论:这种方式只适合极小型网络(比如不到 10 个子网)且未来几乎不再变化的环境,一般不推荐使用。
技术要点(/24 子网划分):
基于 32 位 IPv4 地址(a.b.c.d),前 16 位(a、b)为固定保留位。
采用 /24 掩码,即预留 8 位作为主机地址(共 256 个地址)。
剩余的 8 位(c 段)则用于网段划分,最多可支持 256 个子网。
2^8 = 256
方案二:多层 NAT
这种方案的核心思路,是在网络的不同层级部署 NAT 设备,让内部私有 IP 在每一层都被转换一次。
它的问题更加突出:
设备访问困难:跨子网的设备无法直接通过 IP 互相访问,必须依赖复杂的端口映射,非常繁琐。
排障极其复杂:一个数据包经过多次地址转换后,要追踪它的完整路径极其困难。定位问题时,需要逐层检查会话表。
性能瓶颈明显:每层 NAT 设备都要维护大量会话,并做地址和端口转换,延迟高,容易成为瓶颈。
结论:多层 NAT 是网络设计中的反面教材。正确的做法是:只在互联网出口做单层 NAT 用于上网,内部网络之间的互访,绝对不要用 NAT。
技术解析:
向外访问:路由器开启 NAT(MASQUERADE)
向内访问:① 配置静态路由 ②配置回程路由(或依赖 NAT 会话表)
技术要点(NAT 与会话表):
现代 NAT(NAPT)的实现强依赖于会话表(如 Linux 的 Netfilter + Conntrack)。若无状态跟踪(纯 NAT),回包只能抵达上一跳设备,却因无法还原原始源 IP 而无法继续向上溯源,最终导致路由环路或丢包。因此,工程上 NAT 与状态会话表不可分割。
方案三:动态路由 (OSPF/BGP)+ 路由聚合(强烈推荐)
这套方案是目前中大型企业网络和数据中心的标准做法。
它的核心思路是:在三层交换机或路由器上部署 OSPF(内部网络)或 BGP(网络边界/跨域互联),实现路由信息的动态交换与自动学习。同时在汇聚层将连续子网聚合为更大网段(如将 4 个 /24 聚合为 /22),仅向核心层通告聚合路由。
这样做的好处很明显:
路由表精简:通过聚合,核心路由表条目数大幅减少,设备性能更高。
扩展性好:新增一个子网时,只需要在新子网的网关设备上启用动态路由协议,其他所有路由器会自动学习到这条路由,无需逐一修改配置。
排障效率高:协议具备快速收敛能力,链路故障时路由能自动切换。配合丰富的调试命令,问题定位路径清晰。
结论:这是强烈推荐的方案,能够有效支撑未来网络的发展和变更。
简单示意图:
[ 你的电脑 ]
↓
[ 家用路由器 ] ← 跑静态路由 / NAT
↓
[ 公司核心交换机/路由器 ] ← 跑 OSPF(内部组网)
↓
[ 公司出口路由器 ] ← 跑 BGP(连接运营商)
↓
═══════════════════════════════ ← 互联网边界
↓
[ 运营商 A 骨干网 ] ← 跑 BGP(运营商之间互联)
↓
[ 运营商 B 骨干网 ]💎 选型建议
一句话核心原则:内部网络互联优先用路由,NAT 只做一次,且只在网络边界(方案一)。动态路由是解决扩展性和可维护性的最佳工具。
附录:NAT 配置要点
(1)向外访问(内网设备访问外部资源)
在出口路由器上开启源地址转换(SNAT / MASQUERADE),将内网私有 IP 转换为公网 IP,实现上网功能。
(2)对内访问(外部设备主动访问内部服务器)
方式一(静态路由 + 回程路由):在入口路由器配置端口映射(DNAT),并在内部路由器上添加回程路由,确保回包能正确返回。
方式二(静态路由 + 依赖 NAT 会话表):利用 NAT 网关的状态会话表自动完成回包还原。此方式无需手动配置回程路由,但前提是中间节点保持 NAT 开启状态。
(3)NAT 会话表回程原理(状态化 NAT):
不管 SNAT 还是 DNAT,网关设备在修改地址的那一刻,都会在会话表里留下一条 “五元组映射记录”(协议、源IP、源端口、目标IP、目标端口)。
去程(建立连接):按配置的 NAT 规则或路由表,修改地址并转发,同时创建会话表项。
回程(响应数据):完全依赖会话表,不再去查复杂的路由表或 NAT 规则,直接根据五元组匹配进行逆向还原(SNAT 还原目标 IP,DNAT 还原源 IP)。
结论:只要会话表项有效(未超时或清空),回包就能突破路由表的限制,准确无误地回到发起方。
附录:医院园区三层架构拓扑图
(1)串联
┌─────────────────────┐
│ Internet (公网) │
└──────────┬──────────┘
│
┌──────────▼──────────┐
│ 出口防火墙/路由器 │ ← 做唯一的 SNAT(MASQUERADE)
│ 公网 IP: 1.2.3.4 │ ← 跑 BGP(连接运营商)
└──────────┬──────────┘
│
┌──────────▼──────────┐
│ 核心交换机(双机) │ ← 跑 OSPF(骨干区域)
│ 10.1.0.0/16 骨干网 │ ← 只做高速转发,不做NAT
└──────────┬──────────┘
│
┌──────────────────────────┼──────────────────────────┐
│ │ │
┌────────▼────────┐ ┌─────────▼────────┐ ┌─────────▼────────┐
│ 汇聚交换机 A │ │ 汇聚交换机 B │ │ 汇聚交换机 C │
│ (门诊楼) │ │ (住院楼) │ │ (行政楼) │
│ 10.1.1.0/24 │ │ 10.1.2.0/24 │ │ 10.1.3.0/24 │
│ 做路由聚合 │ │ 做路由聚合 │ │ 做路由聚合 │
└────────┬────────┘ └─────────┬────────┘ └─────────┬────────┘
│ │ │
┌────────┼────────┐ ┌─────────┼────────┐ ┌─────────┼────────┐
│ │ │ │ │ │ │ │ │
┌─▼─┐ ┌─▼─┐ ┌─▼─┐ ┌─▼─┐ ┌─▼─┐ ┌─▼─┐ ┌─▼─┐ ┌─▼─┐ ┌─▼─┐
│接 │ │接 │ │接 │ │接 │ │接 │ │接 │ │接 │ │接 │ │接 │
│入 │ │入 │ │入 │ │入 │ │入 │ │入 │ │入 │ │入 │ │入 │
│交 │ │交 │ │交 │ │交 │ │交 │ │交 │ │交 │ │交 │ │交 │
│换 │ │换 │ │换 │ │换 │ │换 │ │换 │ │换 │ │换 │ │换 │
│机 │ │机 │ │机 │ │机 │ │机 │ │机 │ │机 │ │机 │ │机 │
└─┬─┘ └─┬─┘ └─┬─┘ └─┬─┘ └─┬─┘ └─┬─┘ └─┬─┘ └─┬─┘ └─┬─┘
│ │ │ │ │ │ │ │ │
┌─▼─┐ ┌─▼─┐ ┌─▼─┐ ┌─▼─┐ ┌─▼─┐ ┌─▼─┐ ┌─▼─┐ ┌─▼─┐ ┌─▼─┐
│电 │ │电 │ │打 │ │病 │ │病 │ │护 │ │办 │ │办 │ │会 │
│脑 │ │脑 │ │印 │ │房 │ │房 │ │士 │ │公 │ │公 │ │议 │
│ │ │ │ │机 │ │终 │ │终 │ │站 │ │电 │ │电 │ │室 │
│ │ │ │ │ │ │端 │ │端 │ │ │ │脑 │ │脑 │ │ │
└───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘
门诊1 门诊2 护士站 ICU 1 ICU 2 护士站 财务处 人事科 会议室(2)旁挂
┌─────────────────────┐
│ Internet / 专线 │
└──────────┬──────────┘
│
│ 物理连接(实线)
┌──────────▼──────────┐
│ 运营商接入设备 │
└──────────┬──────────┘
│
│ 物理连接(实线)
┌──────────▼──────────┐
│ 核心交换机 │ ← 物理最外层,拥有专线互联IP
│ (三层路由转发) │ ← 配置PBR:抓取特定流量
└──────────┬──────────┘
│
┌────────────────────────────┼────────────────────────────┐
│ 物理连接(实线) │ 物理连接(实线) │ 物理连接(实线)
│ │ │
┌──────▼──────┐ ┌─────────▼────────┐ ┌─────────▼────────┐
│ 旁挂防火墙 │ │ 汇聚交换机A │ │ 汇聚交换机B │
│ (只接核心) │ │ (门诊楼) │ │ (住院楼) │
│ 做NAT/GRE │ │ │ │ │
└─────────────┘ └──────────────────┘ └──────────────────┘
▲ │ │
│ │ 物理连接(实线) │ 物理连接(实线)
│ 逻辑流量路径(虚线箭头) │ │
└─────────────────────────────┼─────────────────────────┼───────────────┐
│ │ │
┌──▼──┐ ┌──▼──┐ ┌──▼──┐
│终端 │ │终端 │ │终端 │
└─────┘ └─────┘ └─────┘