嗨,各位好。
相信各位过来点开的时候会鄙视一句“这厮,又来搞山石了”,哈哈没错,这次确实又来了,不过这次带了点排错的心得过来,希望给未来在常见的配置过程当中,不知道怎么排错时候有些帮助。
说句真心话,山石(hillstone)确实挺好用的,不行你可以试试!!
好了,废话少说。直接上菜
ipsec的拓扑图,我临时画了一个,目的希望各位能有图看到,不然各位心里冒出千万个草泥马“NO picture NO bb”。
(这万恶的水印)无关紧要,今天的主题在俩台firewall上面。此图ipsec配置模式为tunnel路由模式***。不过本文会把策略***和路由***的常见错误一起带过,请各位细心品味
在我们平常企业组网应用中,经常会遇到组建***网络的需求,最基础的就是site to site,稍微复杂一点的全网site to site ipsec *** 互联,工作量顶大,不过安全。避免了那种hub-spoken的中心与分支的关系(虽然工作量小,但隐患很大)
大家基本都知道ipsec-***协商有俩个阶段,第一阶段和第二阶段,那么第一阶段和第二阶段分别协商什么呢?自己去看书。(:!!!!
直接上ipsec的配置中可能会到的几个问题?
共享密钥填写一些有争议的字母比如(1和I、l(L)和1、O(大写o)和0)等,导致项目沟通邮件过程中,对端密钥填写错误!这种错误该扣工资!!!
第一阶段connection type 手抖选错type!这个一般不存在,不过我经常会把这里改掉让新进入团队的兄弟们去排错检查,很锻炼人!!说真的
算法写错!这个我就不列举了,直接扣工资。
PS:不瞒大家,我曾见过一家公司因为***配置俩天没配好,结果我过去检查了一下发现俩边算法填错了,当场对方的主管就把那运维工程师开除了。看得我好紧张!!!后面都不敢手滑!!
图:(省略)第二阶段代理ID未填写或填写不对?若对端是山石同款,则勾选auto即可,若是其他设备就要填写代理id了。
记住,代理ID不是后期兴趣流量的匹配定义,而是第二阶段协商的参数之一,这个观念很多入门级的“选手”都没有弄清楚!!请格外注意。所以你在策略中去放行对应流量的同时需要控制进出兴趣流量,切记严谨开放策略,否则就是any到any!!
第一阶段和第二阶段全部都up了,俩边内网流量还是无法正常通信!
此时就应该检查下tunnel的路由写过没有?、snat的指定不转换做了没有?路由模式***的策略方向是否放行正确?策略模式***的security connection方向选错没有?
大家随着我往下看,常见的配置错误以及思路简单在上面介绍了一下。现在着重聊排错环节?(访客:“铺垫这么久才进入状态,差评”!!!)
各位久等了,以下为各位演示在以上出错的情况下,hillstone cli(命令行)debug *** 调试日志的解读技巧和个人排错经典心得。
配菜,大家继续开开胃。
客户名称:(···做网工还是要有极强的保密意识,这关系到职业道德)省略
情景:拨通了L2TP-***,但是ping不同内网服务器
SSH进入hillstone底层使用debug命令:(语法如下)
debug dp filter src-ip 10.91.0.15 proto icmp 【该地址为L2TP-虚拟获取的地址】
debug dp filter dst-ip 10.10.0.1 proto icmp
debug dp basic
debug dp drop
debug self
A05-qujun-Fw[DBG](config)# clear logg debug
A05-qujun-Fw[DBG](config)# show logg debug
2015-12-17 11:23:53, DEBUG@FLOW: core 1 (sys up 0x1aa53c70a ms): Finish decap
Packet: 10.91.0.15 -> 10.9.1.1, id: 96, ip size 60, prot: 1(ICMP)
dp_prepare_pak_lookup srcip: 10.91.0.15, dstip: 10.9.1.1,prot 1
No session found, try to create session
-----------------First path creating new session-----------------
--------VR:trust-vr start--------
10.91.0.15:1->10.9.1.1:20876
NAT: ICMP protocol type/code 0800
No DNAT matches, skip DNAT
Get nexthop if_id: 9, flags: 22, nexthop: 103.20.248.1
Interface route
NAT: ICMP protocol type/code 0800
Matched source NAT: snat rule id:2
Matched source NAT: source port1->port22589
--------VR:trust-vr end--------
begin lookup predefine prot:1 port:20876
Identified as app PING (prot=1). timeout 6.
Pak src zone L2TP, dst zone untrust, prot 1, dst-port 20876.
No policy matches, default ===DENY=== 【数据没有匹配,被防火墙drop了,思考~~~~~】
Dropped: Can't find policy/policy denied. Abort!!
deny session:flow0 src 10.91.0.15 --> dst 10.9.1.1 Deny session installed successfully
-----------------------First path over (session not created)
Droppped: failed to create session, drop the packet
仔细检查下来,发现ping错了,再次debug,数据正常转发。呃,抽自己鞭子
A05-qujun-Fw[DBG](config)# show log debug
2015-12-17 11:32:39, DEBUG@FLOW: core 1 (sys up 0x1aa5bce54 ms): Finish decap
Packet: 10.91.0.15 -> 10.10.1.1, id: 100, ip size 60, prot: 1(ICMP)
dp_prepare_pak_lookup srcip: 10.91.0.15, dstip: 10.10.1.1,prot 1
No session found, try to create session
-----------------First path creating new session-----------------
--------VR:trust-vr start--------
10.91.0.15:1->10.10.1.1:20879
NAT: ICMP protocol type/code 0800
No DNAT matches, skip DNAT