嗨,各位好。


相信各位过来点开的时候会鄙视一句“这厮,又来搞山石了”,哈哈没错,这次确实又来了,不过这次带了点排错的心得过来,希望给未来在常见的配置过程当中,不知道怎么排错时候有些帮助。


说句真心话,山石(hillstone)确实挺好用的,不行你可以试试!!


好了,废话少说。直接上菜


ipsec的拓扑图,我临时画了一个,目的希望各位能有图看到,不然各位心里冒出千万个草泥马“NO picture NO bb”。


wKiom1dS4m3zIFI1AABOAL0MOXA397.jpg-wh_50

(这万恶的水印)无关紧要,今天的主题在俩台firewall上面。此图ipsec配置模式为tunnel路由模式***。不过本文会把策略***和路由***的常见错误一起带过,请各位细心品味


在我们平常企业组网应用中,经常会遇到组建***网络的需求,最基础的就是site to site,稍微复杂一点的全网site to site ipsec *** 互联,工作量顶大,不过安全。避免了那种hub-spoken的中心与分支的关系(虽然工作量小,但隐患很大)


大家基本都知道ipsec-***协商有俩个阶段,第一阶段和第二阶段,那么第一阶段和第二阶段分别协商什么呢?自己去看书。(:!!!!


直接上ipsec的配置中可能会到的几个问题?

  1. 公网出接口选错!如下图,这个选错就该抽鞭子!!
    wKioL1dS5WOhTIOiAABh3szpIc0610.jpg-wh_50

  2. 共享密钥填写一些有争议的字母比如(1和I、l(L)和1、O(大写o)和0)等,导致项目沟通邮件过程中,对端密钥填写错误!这种错误该扣工资!!!
    wKiom1dS5QLTfOBFAABg0gusnFk783.jpg-wh_50

  3. 第一阶段connection type 手抖选错type!这个一般不存在,不过我经常会把这里改掉让新进入团队的兄弟们去排错检查,很锻炼人!!说真的
    wKioL1dS5omzveYmAABTVczIrcs194.jpg-wh_50

  4. 算法写错!这个我就不列举了,直接扣工资。
    PS:不瞒大家,我曾见过一家公司因为***配置俩天没配好,结果我过去检查了一下发现俩边算法填错了,当场对方的主管就把那运维工程师开除了。看得我好紧张!!!后面都不敢手滑!!
    图:(省略)

  5. 第二阶段自动连接没勾选!有部分其他产商设备,此项没有勾选会存在一些问题。
    wKioL1dS523ywvBJAAB-NTKwZdY123.jpg-wh_50

  6. 第二阶段代理ID未填写或填写不对?若对端是山石同款,则勾选auto即可,若是其他设备就要填写代理id了。

    记住,代理ID不是后期兴趣流量的匹配定义,而是第二阶段协商的参数之一,这个观念很多入门级的“选手”都没有弄清楚!!请格外注意。所以你在策略中去放行对应流量的同时需要控制进出兴趣流量,切记严谨开放策略,否则就是any到any!!
    wKioL1dS6AuCWb5AAAA3BN2b-14665.jpg-wh_50

  7. 第一阶段和第二阶段全部都up了,俩边内网流量还是无法正常通信!

    wKiom1dS5_qhoW-SAABgbHizgeE591.jpg-wh_50

    wKioL1dS6P2DiV5vAABxBFVOq0Y607.jpg-wh_50
    此时就应该检查下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--------