NAT 排障先看会话表
NAT 不通时,第一件事是看会话表:有没有建立表项、原始地址与转换后地址分别是什么、条目是否在老化。有会话表说明转换在工作,问题多半在回程路由或上层服务;完全没有会话表说明流量根本没进入转换流程,问题在接口角色、ACL 命中或命令挂载位置。这条命令把排查范围一分为二,比反复修改配置高效得多。
基本信息
| 适用平台 | 华为 VRP、思科 IOS、H3C Comware |
|---|---|
| 常用命令 | display nat session all、show ip nat translations |
| 关键内容 | 五元组、转换前后地址与端口、老化时间 |
| 进阶视图 | detail 或 verbose 参数可看更多状态与计数 |
| 统计命令 | 思科看统计输出中的命中与未命中次数 |
典型使用场景
- 内网无法上网时先确认是否存在转换会话
- 外网访问内网服务不通时,确认端口映射是否产生会话
- 地址冲突或 NAT 重叠排查,确认转换后的地址是否与他人冲突
- 观察会话老化行为,判断长连接业务是否被过早老化
- 验证新规则是否生效,最直接的证据就是会话表变化
华为 VRP
华为 VRP
display nat session all # 列出全部会话
display nat session all verbose # 带更多状态与计数
display nat outbound # 确认转换条目挂在哪个接口
display nat server # 确认端口映射条目思科 IOS
思科 IOS
show ip nat translations # 会话表
show ip nat translations verbose # 带时间戳与更多细节
show ip nat statistics # 命中与未命中计数
clear ip nat translation all # 清空全部会话,谨慎使用H3C Comware
H3C Comware
display nat session all
display nat session verbose # 部分版本用 verbose 参数
display nat outbound
display nat server排障判断表
| 观察结果 | 可能原因 | 下一步 |
|---|---|---|
| 会话表为空且无命中计数 | 流量未进入转换流程,接口角色、命令位置或 ACL 未命中 | 核对角色与命令挂载的接口,再查源选择规则 |
| 会话表有条目但业务不通 | 回程路由或上层服务问题,转换本身正常 | 核对回程路由、服务器放行与链路状态 |
| 会话频繁建立又消失 | 链路抖动或老化时间过短,长连接业务异常 | 检查链路稳定性与相关老化参数 |
| 转换后地址与规划不符 | 地址池或复用配置与实际设计不一致 | 核对地址池范围与接口地址 |
| 只有部分来源有会话 | 源选择 ACL 覆盖范围有偏差 | 逐段核对源地址与终端分布 |
使用要点
- 先看有无会话再改配置:有无会话决定排查方向,不要跳过这一步直接调参数
- 带详细参数查看:普通输出看不到时间戳与确认状态,长连接问题需要看细节
- 清空会话表会中断所有在线业务:只有在确认影响可接受时才做
- 观察会话老化:异常短的老化时间会让长连接业务周期性中断
- 把会话表输出与源选择规则一起看:两者对照能快速定位覆盖范围的偏差
常见疑问
- 会话表一直为空怎么办:按接口角色、命令位置、ACL 命中三步依次核对
- 有会话但业务不通怎么办:转向回程路由与服务器侧排查,转换已正常工作
- 能清空单条会话吗:多数平台支持按条件清除,但会中断对应业务,需评估后操作
- 会不会话就看不出问题:会话表是快照,间歇性问题需要多次采样或配合日志
清空 NAT 会话表会中断所有正在进行的会话,业务高峰期操作等同于一次短时故障。清理前确认影响面,并做好回退与通知。
华为与 H3C 的会话输出直接给出五元组与转换前后地址,阅读最直观;思科的统计输出侧重命中与未命中计数,用来判断规则是否被匹配更合适。两者配合使用效率最高。