两个PC如图,隧道的封装地址如图,各接口的安全域如图
假设只从10.10.10.1 ping 10.10.20.1
此时的安全策略配置:
背景测试一:
此时10.10.10.1 ping 10.10.20.1 的会话
内层的会话:源域是trust,目的接口是tunnel口的Tun域
外层GRE的会话:
发包的源接口是tunnel 口,但是安全域用的是Local(原本应该是Tun域的);目的接口是出公网的接口Untrust
总结ping过程的会话过程理解如下图,分为两段;段一内层,段二外层
背景测试二:
假设把设备上刚刚创建的会话清理掉,也就是说没有可匹配的8.8.8.0网段的会话;
此时在FW2上增加一个KeepLive的检测机制:
此时FW1上debug看:
<H3C> *Apr 29 20:11:41:865 2022 H3C FILTER/7/PACKET: -COntext=1; The packet is denied. Src-ZOne=Untrust, Dst-ZOne=Local;If-In=GigabitEthernet1/0/1(2), If-Out=InLoopBack0(1284); Packet Info:Src-IP=8.8.8.2, Dst-IP=8.8.8.1, VPN-Instance=, Src-MacAddr=9a8f-d5e7-0505,Src-Port=0, Dst-Port=0, Protocol=GRE(47), Application=other(1), SecurityPolicy=11, Rule-ID=1.
说明外网主动过来的报文没有放通安全域
此时在防火墙FW1上放通:
但是此时还是会有策略拒绝的日志:
*Apr 29 20:11:41:865 2022 H3C FILTER/7/PACKET: -COntext=1; The packet is denied. Src-ZOne=tun, Dst-ZOne=Untrust;If-In=Tunnel0(1286), If-Out=GigabitEthernet1/0/1(2); Packet Info:Src-IP=8.8.8.1, Dst-IP=8.8.8.2, VPN-Instance=,Src-Port=0, Dst-Port=0, Protocol=GRE(47), Application=other(1), ACL=none, Rule-ID=none.
结论:KeepLive报文正向实从Untrust---->loopBack口;反向Tunnel----->Untrust;
情况一:keepLive的会话应该是这个样子的:
第一个回包被丢了:
接下来的报文我们防火墙回应,把回包的接口安全域刷新了:
后续的报文回包直接命中会话跳过安全策略检查,然后直接回包,所以统计上只显示有一个丢包;
总结看keeplive的发包中的会话如下:
收包:红线;发包:蓝线。
测试一:
如果是先10.10.10.1 ping 10.10.20.1(也就是说没有配置keeplive),然后ping开始以后,在再FW2配置keeplive 5 5
此时的外层会话是这样子的:
解释:ping包正常匹配这个会话,和没有keeplive是一致的;然后增加了keeplive以后;
keeplive的发包8.8.8.2---->8.8.8.1命中会话的回包方向,(The packet is permitted. Src-ZOne=Untrust, Dst-ZOne=Local;If-In=GigabitEthernet1/0/1(2), If-Out=InLoopBack0(1284);)
Keeplive的回包8.8.8.1---->8.8.8.2命中回包的发包方向,( Src-ZOne=tun, Dst-ZOne=Untrust;If-In=Tunnel0(1286), If-Out=GigabitEthernet1/0/1(2);)
此时Keeplive报文一个也不丢;
测试二:如果是先开始的Keeplive报文,然后再10.1 ping 20.1
没ping之前的会话:
首先FW1收到keepLive的第一个报文,然后回包被丢:
*Apr 29 23:49:30:004 2022 H3C FILTER/7/PACKET: -COntext=1; The packet is permitted. Src-ZOne=Untrust, Dst-ZOne=Local;If-In=GigabitEthernet1/0/1(2), If-Out=InLoopBack0(1284); Packet Info:Src-IP=8.8.8.2, Dst-IP=8.8.8.1, VPN-Instance=, Src-MacAddr=9a8f-d5e7-0505,Src-Port=0, Dst-Port=0, Protocol=GRE(47), Application=other(1), SecurityPolicy=11, Rule-ID=1.
*Apr 29 23:49:30:004 2022 H3C FILTER/7/PACKET: -COntext=1; The packet is denied. Src-ZOne=tun, Dst-Zone=Untrust;If-In=Tunnel0(1286), If-Out=GigabitEthernet1/0/1(2); Packet Info:Src-IP=8.8.8.1, Dst-IP=8.8.8.2, VPN-Instance=,Src-Port=0, Dst-Port=0, Protocol=GRE(47), Application=other(1), ACL=none, Rule-ID=none.
然后会话:(此时已经刷新了接口,参考下图和背景测试一、只丢了一个包)
此时再开始ping,ping的外层会话也走了keeplive的会话,不刷新;(按道理说ping单独发包时候,8.8.8.1到8.2,接口是Tunnel,安全域是Local,但是此时也匹配上了)
不涉及
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作