地址池与模式选择
公网地址多于一个时用地址池做 NAT 转换。华为的做法是在 nat address-group 里用 section 定义地址范围,并显式选择模式:mode pat 表示端口复用、多个内网地址共用一个公网地址,no-pat 表示一对一。配好后由出接口的 nat outbound 语句引用 ACL 与地址组。
基本信息
| 适用平台 | 华为 VRP 路由器与防火墙,命令以产品版本为准 |
|---|---|
| 地址组 | nat address-group 1,下用 section 0 起址 止址 |
| 转换模式 | mode pat 端口复用,no-pat 一对一 |
| 流量筛选 | ACL 定义哪些内网源需要转换 |
| 接口引用 | nat outbound ACL号 address-group 1 |
| 查看命令 | display nat address-group / display nat session |
典型使用场景
- 企业出口有多个公网地址,缓解单地址端口耗尽
- 服务器需要固定公网映射,配合一对一方式使用
- 双出口按 ACL 分流后,各自做独立的地址池转换
- 迁移排障:核对地址池范围与运营商实际分配是否一致
- 容量评估:查看 NAT 会话数量与端口复用情况
华为 VRP
华为 VRP
nat address-group 1
mode pat # 端口复用模式
section 0 202.1.1.1 202.1.1.10 # 地址段:起始地址 结束地址
acl number 2000
rule 5 permit source 192.168.1.0 0.0.0.255 # 需要转换的内网源
interface GigabitEthernet0/0/1
nat outbound 2000 address-group 1 # 出接口引用 ACL 与地址组
display nat address-group 1 # 核对池内地址
display nat session all | include 202.1.1 # 确认池内地址真的被用上思科 IOS 与 H3C
思科 IOS 与 H3C
ip nat pool POOL 202.1.1.1 202.1.1.10 netmask 255.255.255.248 # 掩码与地址段匹配
ip nat inside source list 1 pool POOL overload # overload 等价于端口复用
interface GigabitEthernet0/1
ip nat outside
# H3C Comware
nat address-group 1 name NATPOOL
address 202.1.1.1 202.1.1.10
interface GigabitEthernet1/0/1
nat outbound 2000 address-group 1三厂环节对照
| 环节 | 华为 VRP | 思科 IOS | H3C Comware |
|---|---|---|---|
| 建立地址池 | nat address-group 1 | ip nat pool 名称 | nat address-group 1 name 名称 |
| 地址范围 | section 0 起址 止址 | 起址 止址 netmask 掩码 | address 起址 止址 |
| 复用控制 | mode pat / no-pat | 是否带 overload 关键字 | 由 outbound 语句决定 |
| 引用方式 | nat outbound ACL address-group | ip nat inside source list | nat outbound ACL address-group |
复用控制三家的表达方式不同:华为要显式选模式,思科靠 overload 关键字,H3C 在地址池里不写模式、由 outbound 语句决定。迁移时最容易丢掉这层含义,导致端口复用没开,地址池很快被占满。
地址池范围必须与运营商实际分配严格一致,多写一个未分配地址会让部分用户随机失败。对外提供服务的服务器不建议走动态池,应对应一对一映射,否则外部访问无法稳定命中。
会话耗尽往往比地址耗尽更早出现:PAT 模式下单个公网地址可用端口有限,内网终端多时要观察 NAT 会话数与空闲会话老化时间,必要时扩充地址池或调整老化参数。排障时先看会话表,再谈扩容。