地址端口复用的关键字
思科的 PAT 靠 overload 关键字实现:多个内网地址复用同一个或一批公网地址的不同端口,是 IOS 上最常规的出口配置。省略 overload 时,转换语句会按地址池逐个分配地址,地址用尽就会报错,表现为上网时断时续。源转换语句通常指向出网接口并引用一个只匹配源地址的 ACL,接口上还要分别标记 inside 与 outside。
基本信息
| 适用平台 | Cisco IOS 与 IOS-XE 路由器、防火墙模块 |
|---|---|
| 关键参数 | overload 表示地址与端口复用,不写则按地址一对一分配 |
| 源选择 | 引用标准 ACL,圈定需要转换的来源 |
| 配套配置 | 接口标 ip nat inside 与 ip nat outside |
| 统计命令 | show ip nat statistics 查看转换数量与命中情况 |
典型使用场景
- 多用户共享少量公网地址上网
- 单出口宽带场景,配合拨号接口使用
- 作为地址池用尽时的应急手段快速恢复访问
- 多出口时按接口分别做地址复用
- 设备替换时把旧的地址池方案简化为复用写法
思科 IOS
思科 IOS
access-list 1 permit 192.168.1.0 0.0.0.255
ip nat inside source list 1 interface GigabitEthernet0/0 overload
interface GigabitEthernet0/1
ip nat inside # 面向内网
interface GigabitEthernet0/0
ip nat outside # 面向外网
show ip nat translations # 查看会话表
show ip nat statistics # 查看转换数量与命中计数华为 VRP
华为 VRP
acl number 2000
rule 5 permit source 192.168.1.0 0.0.0.255
interface GigabitEthernet0/0/1
nat outbound 2000 # 不跟地址池即为复用接口地址
display nat session allH3C Comware
H3C Comware
acl basic 2000
rule 0 permit source 192.168.1.0 0.0.0.255
interface GigabitEthernet1/0/1
nat outbound 2000
display nat session all统计输出读法
| 字段 | 含义 | 判断方式 |
|---|---|---|
| total translations | 当前存在的转换条目数量 | 长时间为零说明流量没进入转换流程 |
| hits 与 misses | 命中转换规则的次数与未命中次数 | hits 增长说明规则生效,misses 增长说明 ACL 覆盖范围有偏差 |
| interfaces 列表 | 已标记 inside 与 outside 的接口 | 缺少任一侧说明接口角色漏配,转换不会发生 |
| 动态与静态条目 | 区分源转换与端口映射产生的条目 | 静态条目常驻,动态条目随时间老化 |
| overload 相关计数 | 地址复用的使用情况 | 接近上限时说明公网地址端口资源紧张 |
配置与运维要点
- 省略 overload 会导致地址按一对一分配:地址用尽后新建连接失败,现象是上网时断时续
- 源选择 ACL 只写需要上网的网段,不需要转换的私网互访不要放进来
- 接口角色是第一步检查项:漏标任一侧时转换语句完全不起作用
- 统计输出的 hits 与 misses 是最快的判断依据,比逐条核对 ACL 更快定位
- 会话数规模较大时关注地址端口复用能力,终端数量增长前提前评估
- 变更后立即用测试主机验证,确认转换生效再收工
常见疑问
- 为什么上网时断时续:优先检查是否漏写 overload,地址分配用尽会产生这种表现
- 会话表为空怎么办:确认接口角色、ACL 命中与出网接口是否正确
- 不同网段上网表现不一致:检查 ACL 覆盖范围与实际终端所在网段是否匹配
- 需要保留部分主机不转换吗:在 ACL 中排除这些来源即可
- 能否同时使用地址池:可以,但同一批流量不要同时命中两套规则
统计输出会直接列出已标记的 inside 与 outside 接口,这是判断接口角色是否漏配最快的方式;华为与 H3C 的对应做法是查看已配置的转换条目挂在哪个接口上。
复用意味着大量会话共享同一个公网地址,某些对源地址敏感的外部服务可能因此出现异常;遇到这类业务时,考虑为该业务单独分配公网地址或用固定映射。