会话表是什么
有状态设备把一条流的首包做策略、NAT 与路由处理后建立会话表项,后续属于该连接的报文按表项直接转发,返回流量按表项逆向处理。所以会话表是判断流量是否真正被设备转发、地址是否被转换的第一手依据:有会话说明流量到达并被接受,没会话说明流量未到设备或已被丢弃。会话空闲超过老化时间被删除,长连接业务闪断往往与老化时间直接相关。
基本信息
| 华为命令 | display firewall session table [verbose],可按 source / destination 过滤 |
|---|---|
| H3C 命令 | display session table ipv4 [verbose],同样支持过滤条件 |
| 关键字段 | 源与目的地址端口、协议、所属区域、应用识别、剩余老化时间 |
| 诊断顺序 | 先确认会话是否存在,再看转换结果,最后看策略命中与回程 |
| 风险点 | 全量输出在海量会话设备上会明显增加 CPU,务必带过滤条件 |
典型使用场景
- 业务不通时判断流量是否到达设备并被接受,缩小范围到上联或服务器侧
- 核对 NAT 是否按预期命中了正确的地址池或映射规则
- 排查长连接闪断,观察会话老化时间与重建频率
- 确认策略改动是否生效:新旧会话并存时可对比表项
- 容量观察:会话总数与增长趋势用于评估表项资源与地址池端口占用
按条件查询会话
按条件查询会话
# 华为:先按内网源地址过滤,避免全量刷屏
display firewall session table source 192.168.10.10
display firewall session table verbose source 192.168.10.10 # 看转换后地址与老化
display firewall session table destination 202.1.1.20
# H3C
display session table ipv4 source 192.168.10.10
# 有会话但业务不通时,继续核对策略命中与回程路径输出逐列读法
| 字段 | 含义 | 正常与异常 |
|---|---|---|
| 源地址:端口 | 转换前(内网侧)的原始地址端口 | 与终端实际地址一致;若为公网地址说明未做源转换 |
| 目的地址:端口 | 转换后(实际转发)的目的地址端口 | 映射场景下应指向内网真实主机端口 |
| 协议 | TCP / UDP / ICMP 等 | 与业务一致;ICMP 会话短暂属正常 |
| 区域信息 | 流量所处的源区与目的区 | 应与你写的策略区域对一致 |
| 剩余老化 | 该表项还能空闲多久被删除 | 接近 0 说明业务存在空转或老化偏短 |
| 应用识别 | 识别出的应用名称或未知 | 长期未知说明特征库或解密能力受限 |
查不到会话不等于设备故障:先确认流量是否到达设备(入接口计数或镜像抓包),再确认是否被默认动作丢弃;反之查得到会话也不等于业务正常,应用层、路由或服务器侧问题都会让会话空转。
命令输出用于取证时建议先保存文本再比对,不要边查边改配置;已建立的会话不会随策略或 NAT 变更立即改变,重启会话需等待老化或人工清理后复测。
巡检建议固定采集会话总数、地址池端口使用率与新建连接成功率三项指标:只看会话总数发现不了端口耗尽,新增连接失败率上升才是端口不足的早期信号。
会话容量与老化时间共同决定并发上限:会话数长期接近设备规格时先评估老化时间与地址池端口占用,再考虑扩容,单纯调大老化只会让表项更快耗尽。