# 1. 看安全策略(确认有无untrust→trust允许)
display security-policy rule | include untrust trust
# 2. 看会话表(确认A→B会话是否存在)
display session table source 主机AIP destination 主机BIP destination-port 10022 verbose
# 3. 看NAT配置(确认trust→untrust是否做了SNAT)
display nat address-group
display nat policy
# 新建untrust→trust允许策略(只放通B→A的10022相关回程)
security-policy
rule name Allow_Back_10022
source-zone untrust
destination-zone trust
source-address 主机BIP subnet 255.255.255.255
destination-address 主机AIP subnet 255.255.255.255
service tcp source-port 10022
action permit
# 配置源NAT(内网访问外网时,源IP转为外网接口IP)
nat policy
rule name SNAT_Trust_to_Untrust
source-zone trust
destination-zone untrust
source-address 192.168.0.0 16 # 内网段
action source-nat interface
# 延长TCP会话老化时间(如2小时,按需调整)
session table aging-time tcp 7200
你遇到的这个问题,核心原因在于防火墙记录了它实际处理的“响应报文”。
你已经配置了允许主机A(Trust)访问主机B(Untrust)的策略,这很正确。但关键在于,你看到的这条“反向”日志,是防火墙在记录从主机B返回的“响应报文”。
H3C防火墙在转发A(Trust -> Untrust)的首个请求包时,会:
建立会话表:允许通过并创建一条会话(Session),记录下连接的所有信息(源/目IP、端口等)。
放行响应报文:当主机B的响应报文(Untrust -> Trust)从接口A到达防火墙时,防火墙发现它能匹配已存在的会话表,就会直接放行,而不会再回头去检查你的安全策略。
虽然你的策略是为“请求”方向配置的,并未明确放行“响应”方向,但防火墙的状态检测机制保证了通信是双向的。因此,连接本身是成功的。
那么,为什么日志会记录成“B访问A”呢?主要有以下三种情况:
记录的是响应报文被拦截(最可能)
你的“反向”日志如果记录了“拒绝”动作,说明响应报文在匹配时出了问题,例如:
策略配置不完整:安全策略的destination-ip不正确,或service(服务)配置不准确。
路由或VLAN配置不对称:去程和回程的流量走了防火墙的不同接口,导致响应报文被丢弃。
NAT转换后的地址不匹配:如果存在NAT,响应报文可能因找不到对应的转换条目而被拒绝。
记录的确实是反向的首个报文
当主机B主动向主机A发起连接时(Untrust -> Trust),防火墙会检查这个方向的策略。
但在这里不成立:你提到通信是主机A发起的,因此这个场景在此不适用。
NAT转换导致的“地址颠倒”幻觉
如果防火墙配置了NAT,日志记录的源/目地址可能都是转换后的公网地址,这会让你在查看时产生“方向颠倒”的错觉。
验证方法:在防火墙上执行display session table,查看对应会话的原始地址信息,即可确认。
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论