分享是一种生活态度,求知,求真,分享工作,分享生活!

IPsec VPN排错诊断案例

网络技术 iqianyue 4561次浏览 已收录 0个评论 扫描二维码

QQ截图20160222112213

案例分析网络拓扑结构

networkTopologyCaseAnalysis

目的

学习完本案例后,对于IPsec vpn服务中断的故障排错有一个基本的思路。

地址介绍

上海ASA的public IP 地址为10.10.10.10, 菲律宾 ASA的public IP 地址为 11.11.11.11.

案例描述

用户自述并未对网络做任何变动,但突然就发现从上海到菲律宾的ipsec vpn不通了。现要找出故障原因,使得从上海的192.168.0.0子网到菲律宾的 106.0.0.0子网可以通过 VPN 通讯。

排错工具

Show crypto isakmp sa
Show crypto ipsec sa
Capture命令
Show logging

故障排错过程

  1. 通过远程访问进入上海ASA, 请求用户发起从 A子网到B子网的兴趣流,通过下面的命令察看show的结果:
    Show crypto isakmp sa
    Show crypto ipsec sa   peer  11.11.11.11

    输出结果为:”There are no ipsec sas for peer 11.11.11.11”

    注意ASA的Isakmp sa和Ipsec SA 是紧密绑定在一起的,两者必须同时存在,这点是和路由器不一样的。从上可以发现,兴趣流并没有触发第一阶段isakmp Sa的成功建立。

  1. 检查两端ASA的IKE proposal和pre-shared 密钥,双方匹配,没有发现任何错误。
  1. 通过capture命令察看是否兴趣流到达上海 ASA的内口。
    SH-5520(config)# access-list cs permit ip  192.168.0.0 255.255.128.0  106.0.0.0 255.255.255.0
    SH-5520(config)# access-list cs perm ip  106.0.0.0 255.255.255.0  192.168.0.0 255.255.128.0
    
    SH-5520(config)# capture  cs  access-list cs in  LAN
    SH-5520(config)# show capture cs
    
    19 packets captured
    
       1: 13:34:37.443611 192.168.0.9 > 106.0.0.251: icmp: echo request
       2: 13:34:37.443892 192.168.0.9 > 106.0.0.251: icmp: echo request
               :

    从上我们可以看出,上海ASA已经成功收到了来自192.168.0.0子网的数据包。但是并没有收到来自106.0.0.0子网的数据包。

    同样在菲律宾ASA作capture发现,show的结果为:

    Philippine(config)# show capture cs
       0 packets captured

    从以上抓包可以发现,上海的包应该没有送达菲律宾的ASA.

  1. 检查双方路由:
     SH-5520# show route
      C    192.168.0.0 255.255.255.0 is directly connected, LAN
      S*   0.0.0.0 0.0.0.0 [1/0] via 20x.xx.xx.xx, Outside1

    没有问题。

    Philippine# show route
      C    106.0.0.0 255.255.255.0 is directly connected, inside
      S*   0.0.0.0 0.0.0.0 [1/0] via 20x.xx.xx.xx, Outside

    也没有问题。

  1. 上海的公口和菲律宾的公口互 Ping
    SH-5520# ping  11.11.11.11
    Type escape sequence to abort.
    Sending 5, 100-byte ICMP Echos to 122.55.79.161, timeout is 2 seconds:
    。。。。
    
    Philippine# ping  10.10.10.10
    Type escape sequence to abort.
    Sending 5, 100-byte ICMP Echos to 122.55.79.161, timeout is 2 seconds:
    !!!!

    可以看到单向通讯,上海不能够ping通菲律宾,但菲律宾能ping通上海。

  1. capture双方公口的包
    access-list  cs1   permit ip host  10.10.10.10  host  11.11.11.11 
    access-list  cs1   permit ip host  11.11.11.11 host   10.10.10.10
    
    capture  cs1  access-list  cs1   in LAN
    

    同样在菲律宾方也做同样的capture。

    观测结果:
    如从上海发往菲律宾的公口的Ping包,可以看到在上海端有echo request的包可以捕捉到,但是没有echo reply的包被捕捉到,在菲律宾端,没有任何包可以在公口捕捉到。

    如从菲律宾发往上海的公口的Ping包,可以看到在菲律宾端有echo request的包可以捕捉到,但是没有echo reply的包被捕捉到,在上海端,既有echo request的包可以捕捉到,也有echo reply的包被捕捉到。 从双向的观测结果可以看到,问题出在了上海这一端的下一跳,或者整个公网的路由或者其他方面。
    在上海端show arp:

            Outside1 20x.1x4.x1.x49     000f.23d5.2c20   32
            Outside1 20x.x36.x16.2x9   000f.23d5.2c20  1270
            Outside1 2x2.1x6.2x8.x4     000f.23d5.2c20   11262
            Outside1 2xx.x.1x8.x7           000f.23d5.2c20  11268

    发现有四个不同的IP 地址(下一跳)都映射到了同一个MAC 地址。

  1. 电话和客户沟通,请他和SP沟通,同时检查下一跳的连接方式和路由等。
  1. 客户电话回馈,是上海下一跳的问题,已经解决了。
  1. 上海和菲律宾再次互Ping,互通成功,抓包也是正常的。
  1. 但是兴趣流依旧没有触发成功的isakmp SA的建立。
    在上海ASA上启动系统日志:

    Logging on
    Logging buffered informational
    Logging timestamp
    

    然后show logging 发现上海ASA 报错:”………..no acceptable ipsec SA”.

    检查双方的ipsec proposal,完全匹配。再检查双方的crypto map的配置:

    上海ASA的配置:

    crypto map Outside1_map 1 match address Outside1_1_cryptomap
    crypto map Outside1_map 1 set pfs group1
    crypto map Outside1_map 1 set peer  11.11.11.11 
    crypto map Outside1_map 1 set transform-set ESP-3DES-SHA
    

    菲律宾ASA的配置:

    crypto map outside-1_map 25 match address outside-1_60_cryptomap
    crypto map outside-1_map 25 set peer 10.10.10.10 
    crypto map outside-1_map 25 set transform-set ESP-3DES-SHA
    

    问题找到,上海ASA启动了pfs group1, 而菲律宾ASA 没有启动。

  1. 解决方案
    在上海ASA上: “no crypto map Outside1_map 1 set pfs group1”.

案例结果

上海 ASA和菲律宾ASA最终可以成功建立SA,两个子网之间的流量通过VPN通讯。

SH-5520# show crypto ipsec sa peer  11.11.11.11
peer address: 11.11.11.11
    Crypto map tag: Outside1_map, seq num: 1, local addr: 10.10.10.10

      access-list Outside1_1_cryptomap permit ip 192.168.0.0 255.255.128.0 106.0.0.0 255.255.255.0 
      local ident (addr/mask/prot/port): (192.168.0.0/255.255.128.0/0/0)
      remote ident (addr/mask/prot/port): (106.0.0.0/255.255.255.0/0/0)
      current_peer: 11.11.11.11
      #pkts encaps: 1888599, #pkts encrypt: 1888599, #pkts digest: 1888599
      #pkts decaps: 1681578, #pkts decrypt: 1681578, #pkts verify: 1681578
      #pkts compressed: 0, #pkts decompressed: 0


iqianyue , 版权所有丨如未注明 , 均为原创,转载请注明iqianyue
喜欢 (4)
发表我的评论
取消评论

表情 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址