PAT 与 No-PAT 的本质差别
华为 NAT 的地址池模式决定了内网地址如何映射到公网地址。PAT 做的是「多对一」:多个内网主机共用少量公网地址,靠转换后的端口号区分不同会话,这是家用与办公出口最常见的做法。No-PAT 做的是「一对一」:一个内网地址固定占用一个公网地址,不转换端口,因而对外呈现的源地址与端口保持稳定,适合需要固定映射或对端做源地址校验的场景,代价是公网地址消耗量与内网主机数成正比。
基本信息
| 适用平台 | 华为 VRP 防火墙与路由器(nat address-group 下的 mode) |
|---|---|
| 选择依据 | 公网地址数量、是否需要端口保持、对端是否校验源端口 |
| 配置位置 | 地址池视图与出接口视图的 nat outbound 语句 |
| 权限要求 | system-view / 全局配置模式 |
| 版本差异 | 部分版本支持 nat-policy 形式,命令形态以版本帮助为准 |
典型使用场景
- 办公出口上网:公网地址少、终端多,用 PAT 复用地址
- 需要对端看到固定源端口:No-PAT 保持端口不变,便于对端白名单
- 少量服务器出网:地址数量充足时用 No-PAT 简化排障与日志归因
- 对外访问审计:PAT 日志需要额外记录端口映射关系,No-PAT 更容易对应到主机
- 地址池规划:上线前先算清内网并发主机数与可用公网地址数
华为 VRP(No-PAT 一对一)
华为 VRP(No-PAT 一对一)
[Huawei] nat address-group 1
[Huawei-address-group-1] mode no-pat local # 一对一,不做端口转换
[Huawei-address-group-1] section 0 202.1.1.1 202.1.1.10
[Huawei] interface GigabitEthernet0/0/1
[Huawei-GigabitEthernet0/0/1] nat outbound 2000 address-group 1 no-pat
<Huawei> display nat address-group 1 # 查看地址池与已用情况华为 VRP(PAT 端口复用)
华为 VRP(PAT 端口复用)
[Huawei] nat address-group 2
[Huawei-address-group-2] mode pat # 多对一,端口层面区分
[Huawei-address-group-2] section 0 202.1.1.20 202.1.1.30
[Huawei] interface GigabitEthernet0/0/1
[Huawei-GigabitEthernet0/0/1] nat outbound 2000 address-group 2
! 不引用地址池时默认使用接口地址做 PAT 转换
<Huawei> display nat session all | include 202.1.1 # 查看会话映射思科 IOS 与 H3C 对照
思科 IOS 与 H3C 对照
! 思科:加 overload 就是 PAT,不加则是一对一地址分配
SW-CORE-01(config)# ip nat inside source list 1 pool POOL overload
SW-CORE-01(config)# ip nat inside source list 1 pool POOL
! H3C:地址池视图下配置地址范围,接口引用后按需选择模式
[H3C] nat address-group 1
[H3C-address-group-1] address 202.1.1.1 202.1.1.10
[H3C] interface GigabitEthernet1/0/1
[H3C-GigabitEthernet1/0/1] nat outbound 2000 address-group 1两种模式对照
| 对比项 | PAT(端口复用) | No-PAT(一对一) |
|---|---|---|
| 映射关系 | 多内网地址对少量公网地址 | 一对一固定绑定 |
| 端口是否转换 | 转换,用于区分会话 | 不转换,源端口保持不变 |
| 公网地址消耗 | 少,一个地址可支撑大量终端 | 多,与需要上网的主机数相当 |
| 地址耗尽表现 | 会话数受限但基本可用 | 超出地址池的主机完全无法上网 |
| 典型场景 | 办公与家用出口上网 | 对端校验源地址或端口、需要固定映射 |
No-PAT 会很快耗光公网地址:池里地址数少于同时上网的主机数时,超出部分的主机完全无法上网,而且现场往往没有明显告警。规划时按并发主机数预留地址,并定期用地址池查看命令核对使用情况。