97国际

不必推倒重修,老终端也能焕新 丨 97国际教育云电脑老客户升级分享会
预约直播
融合光加速,慧联全场景 丨 97国际极简以太彩光5.0 界说万兆园区全场景新范式
预约直播
97国际·(中国区)集团官方网站
产品
< 返回主菜单
产品中心
产品
解决计划
< 返回主菜单
解决计划中心
行业
合作伙伴
返回主菜单
选择区域/语言
97国际·(中国区)集团官方网站

您订阅的产品有更新,请实时查阅

审查详情

这些防火墙下令都爱说大真话,让排障少走弯路 |运维实战家

97国际·(中国区)集团官方网站 宣布时间:2020-11-02
97国际·(中国区)集团官方网站

 

 

本文作者:阿昌

 

小锐经常接到客户的反响是,防火墙安排好了可是营业照旧欠亨,往往一筹莫展。今天小锐,不藏着掖着了,把收藏多年的佳酿,故障小窍门拿出来让喜欢小锐的各人细品细品。

 

防火墙的清静检查特征

 

网络源于生涯却又高于生涯,作为网络天下大门的鼎鼎台甫的“清静检查官“下一代防火墙,有他自己特有的“清静属性”,遵守网络天下的“清静规则”,我们就能更好的在防火墙的故障排查历程中游刃有余。这些“清静属性”倒成了我们在实验防火墙历程中的“绊脚石”,虽然排查故障历程是痛苦的,解决问题后的快乐是永远铭刻值得回味的。

 

防火墙为了相信数据包是可信的,在收到数据包的时间设置了两个“清静检查点”:

 

1 反向路径检查Reverse Path Forwarding (RPF)

 

2 异步检查(asymroute,也就是各人常说的毗连完整性检查)

 

两项检查只有都切合,才会继续其他�?榧觳�,不然直接扬弃数据包,那针对这两个检查特征我们睁开聊聊:

 

反向路径检查

 

所谓反向路径检查,简朴举例,就是若是从内网口port31收到一个数据包,反向的回包必需从内网口port31回去,也就是要确保源进源出,反之以为此数据包为诱骗包执行扬弃行动。假设,防火墙收到数据包是src_addr_ip->dst_addr_ip为172.16.1.16->219.222.191.72,防火墙不会执行其他�?榧觳椋ㄕ庑┠?榛嵘婕暗皆茨康牡刂纷弧TM等),而是先执行反向路径检查,凭证反向流量219.222.191.72->172.16.1.16,在查找路由表后若是也是从port31出去的,说明流量是正常的,继续处置惩罚其他�?榧觳� ;若是保存另一个路由通路好比从port32出去或者甚至没有查找到响应路由,这个将导致反向路径检查失败防火墙执行扬弃行动。

 

使用debug flow抓包下令,会发明有个提醒为:reverse path check fail, drop,特殊显眼,这个提醒就是因反向路径检查失败直接执行了扬弃行动了,这种情形建议是查一下防火墙上的路由设置问题。

 

 

异步路由检查

 

所谓异步路由检查,就是要确保往返路径要一致,包管数据毗连的完整性。如:tcp的三次握手的数据包都要过防火墙,正常的tcp三次握手交互历程如下:

 

 

若是泛起往返路径纷歧致的情形,防火墙以为报文有问题直接扬弃。

 

 

小锐现在就说说这流量转发那里泛起问题了,从流量转发来看PC1会见服务器的流量tcp syn报文转发路径是

 

PC1->RouterA->NGFW->RouterB->internet->Server,回包syn+ack的转发路径是Internet>RouterB>RouterA->PC1,未经由防火墙,ack报文PC1->RouterA->NGFW(扬弃报文不转发),防火墙发明会话状态不完整(我没有看到syn+ack,我不信任你),执行扬弃行动。

 

使用debug flow下令对数据流剖析一样平常会提醒为:“org dir, ack in state syn_sent, drop”

 

97国际·(中国区)集团官方网站

 

虽然这里尚有更为奇葩的数据转发路径,若是是syn包转发路径不过防火墙,syn+ack的回复报文经由防火墙,这种情形下防火墙是无法找到对应的会话(我没有看到syn,我压根就没有你的会话),直接扬弃,这种也属于异步路由的一种特殊场景。使用debug flow抓包下令,会发明有个提醒为:“no session matched”。

 

 

尚有一种就是往返的二层mac纷歧致问题也是异步路由检查的一种特例了,一样平常这种场景常见于防火墙透明模式安排的时间。也就是若是过防火墙的数据包是mac1->mac2[pc1->pc2],回包的时间是mac3->mac1[pc1->pc2],这种数据包也是有问题的防火墙不会允许过的。

 

那可能各人会问小锐,异步路由检查可以关闭吗,现实营业场景不建议关闭的,做法是找到导致往返路径纷歧致的缘故原由,将异步问题终结掉,由于防火墙关闭异步检查后,多链路出口的场景源进源出功效将不生效,代理防护类utm功效将无法正常事情。

 

要领是:

 

#config system settings

#set asymroute enable

#end

 

此下令就是允许防火墙保存异步,这样防火墙可以不检查数据包的毗连完整性了。

 

#config system settings

#set tcp-session-without-syn enable (默认disable)

#end

 

此下令是告诉防火墙若是不是syn的报文一样也可以建设会话。

 

 

数据包穿越防火墙处置惩罚历程详解

 

 

正常的数据包穿越防火墙,需要经由哪些历程呢?可以通过debug flow下令审查整个完整历程。

 

#diagnose debug enable   //开启debug

 

#diagnose debug flow show console enable   //启用debug flow显示打印,有些版本不需要敲

 

#diagnose debug flow show function-name enable   //显示debug flow 功效名称,便于打印信息输出,有些版本可以不必敲

 

#diagnose debug flow filter addr 192.168.1.110  //过滤条件,阻止抓包无用信息过多,这里过滤地址,filter ?可以审查过滤哪些条件

 

 

#diagnose debug flow trace start 100  //最先抓100条数据流

 

下面是数据包穿越防火墙的所有历程,我们一起来看看

 

id=36871 trace_id=1 msg="vd-root received a packet(proto=6, 192.168.

1.110:51661->119.253.62.131:80) from internal. "id=36871 trace_id=1 msg="allocate a new session-00016920" //internal口收到数据,建设新会话

 

id=36871 trace_id=1 msg="find a route: gw-192.168.118.1 via wan1"  //查找到路由表

 

id=36871  trace_id=1 msg="find SNAT: IP-192.168.118.28, port-43333" //检测保存NAT设置

 

id=36871  trace_id=1 msg="Allowed by Policy-1: SNAT" //匹配战略,ID1

 

id=36871  trace_id=1 msg="SNAT 192.168.1.110->192.168.118.28:43333"//做NAT    

 

id=36871 trace_id=3 msg="vd-root received a packet(proto=6,

 

119.253.62.131:80->192.168.118.28:43333) from wan1."  // Wan1口收到返回数据包

 

id=36871 trace_id=3 msg="Find an existing session, id-00016920, reply     direction" //数据包匹配会话id-0001692

 

id=36871 trace_id=3 msg="DNAT 192.168.118.28:43333->192.168.1.110:51661"  //做反向的DNAT

 

id=36871 trace_id=3 msg="find a route: gw-192.168.1.110 via internal"  //查找路由,发送到internal口              

 

id=36871 trace_id=5 msg="vd-root received a packet(proto=6,192.168.1.110:51661->119.253.62.131:80) frominternal." //internal口收到后续数据包

 

id=36871 trace_id=5 msg="Find an existing session, id-00016920, original     direction" //匹配会话id-0001692  

 

id=36871 trace_id=5 msg="enter fast path" //直接转发    

 

id=36871 trace_id=5 msg="SNAT 192.168.1.110->192.168.118.28:43333"  //NAT

 

抓完数据流后可以通过以下下令关闭。

 

#diagnose debug flow trace stop      //阻止

#diagnose debug disable             //关闭

#diagnose debug reset               //重置

#diagnose debug flow filter clear     //可以清空debug的过滤条件设置

 

通过debug flow下令我们可以看到一个数据包流入防火墙后,各个�?榈南晗复χ贸头G樾�,整理成数据包处置惩罚流程图如下:

 

 

下面也一并先容一些小锐经常遇到的debug flow要害信息提醒,现总结如下:

 

若是是战略拒绝了数据包会见,会看到“Denied by forward policy check”,需要重点确认是否是清静战略阻挡所致。    

 

97国际·(中国区)集团官方网站

 

若是无法正常管理防火墙的时间,debug flow往往会泛起提醒,msg="iprope_in_check() check failed, drop",一样平常会有下列三种可能缘故原由所致:

 

1、当会见NGFW举行远程管理(ping, telnet, ssh ...)时,正在会见的服务未在接口上启用。

2、当会见NGFW举行远程管理时(ping, telnet, ssh ...),正在会见的服务在接口上启用,可是设置了受信任的主机,这些主机与入站数据包的源IP不匹配 ;

3、当通过统一NGFW的另一个接口会见用于远程管理的NGFW接口(ping,telnet,ssh ...)时,不保存防火墙战略。

 

战略行动拒绝,或掷中隐含战略, 数据包被拒绝,一样平常会提醒:msg="Denied by forward policy check"

 

若是涉及ALG相关会话(这类流量一样平常是动态多通道协议如ftp、sip等,此类协议较重大,小锐下次再跟各人分享,嘻嘻)将送至 session-helper �?榇χ贸头�,一样平常会提醒:msg="run helper-ftp(dir=original)"    

 

看到这里,小锐相信您也和小锐一样get 了不少防火墙的抓包下令了吧?那么接下来我们继续深入看下进阶版案例剖析吧。

 

 

进阶案例展示一下下令有何等神奇^-^

 

现场反响的拓扑简朴形貌如下:

 

 

全新下一代防火墙做端口映射,部分ISP专网IP会见端口映射的营业欠亨� ;〉纳柚眉觳橐裁挥锌闯鑫侍馑�,那接下来使用强盛的debug flow对其数据流举行捕获,在信息输出中发明防火墙外地回复了RST报文(也就是图中的...from local. flag [R]),这点甚是可疑,说明问题照旧出在防火墙的哪个�?榇χ贸头;方谏�。

 

 

那我们一起开动头脑思索一下什么情形下防火墙会自动发送RST包?

 

从数据包转发上我们注重到tcp syn将通过防火墙,可是当吸收到tcp syn / ack时,NGFW会将tcp rst发送回tcp syn / ack的始发者。

 

纵然保存允许流量通过NGFW的战略,设置过失的IPpool或VIP[l7] 也会为TCP毗连造成毗连问题。(名词诠释:这里的ippool一样平常是用在上网做源地址转换的时间,一个地址不敷用,可以把内网的源地址转换成一个地址段规模内的地址,VIP是防火墙的端口映射,也就是各人常说的目的地址转换关系)

 

一样平常这种问题的可能性是:外地有响应的IP地址(好比是源地址)了,由于没有对应的服务在监听,会去响应RST报文,凭证这种排查思绪去检查设置。

 

那我们把问题点锁定在IPPool或VIP上重点排查,通过设置审查找到了这个始作俑者。将对应过失的战略设置删除问题解决。

 

 

经确认现场源地址10.85.40.3也加到了虚拟ip映射里了。关于防火墙设置不太熟悉的往往可能会泛起这种希奇的设置,有时间战略一多真的用肉眼很欠悦目出问题出在哪儿。

 

一样平常泛起防火墙回复...from local. flag [R]的情形有如下三种:

 

1、将服务器地址设置到了IPpool里 ;

2、将客户端IP地址设置到了IPpool里 ;

3、将客户端IP地址设置到了VIP里。

 

总结

 

Debug flow下令是防火墙实验安排历程中使用频率极高,并且故障诊断问题定位率可达80%左右,真的是算上是爱说大真话的下令了,提醒什么缘故原由一样平常故障就定位出来 了,是小锐力荐需掌握的下令,学会了就是掌握了上乘武功了哦,一起修炼起来吧。

 

关注97国际
关注97国际官网微信
随时相识公司最新动态
97国际·(中国区)集团官方网站

返回顶部

收起
97国际·(中国区)集团官方网站 文档AI助手
97国际·(中国区)集团官方网站 文档评价
资料内容是否对您有资助?
您对目今页面的知足度怎样?
不咋滴
很是好
您知足的缘故原由是(多�。�?
您对文档是否尚有其它的问题或建议?
为尽快解决问题,请您留下联系方法以便回复
邮箱
手机号
谢谢您的反�。�
97国际·(中国区)集团官方网站
97国际·(中国区)集团官方网站
97国际·(中国区)集团官方网站
请选择服务项目
关闭咨询页
售前咨询 售前咨询
售前咨询
售后服务 售后服务
售后服务
意见反响 意见反响
意见反响
更多联系方法
网站地图