USG2130 (V100R005)因网段重叠造成IPSec业务时断时续

发布时间:  2014-09-11 浏览次数:  361 下载次数:  0
问题描述
86.41.0.40/29|-LAN--USG2130-[36.132.72.88]-------[86.0.48.4]-USG5300------LAN--|86.0.50.0/24 等
                                                                                                               |
                                                                                                               |----------[36.128.95.20]-USG2130-LAN--|86.41.0.96/29

        
       中心端为两台USG5310 V100R003C01SPC300双机热备,分支均为USG2130 V100R005C00SPC500。由于分支存在固定地址和动态地址情况,USG5300侧IPSec配置采用策略模板方式。各分支与中心的隧道都能够正常建立,但时通时不通。查看IKE SA和IPSec SA,两个阶段的SA都已经建立成功。如果该分支重置SA,IPSec通信恢复正常,其他大部分分支仍然不正常。

USG5300关键配置
hrp enable
hrp mirror session enable
hrp interface GigabitEthernet0/0/2 transfer-only
#
ike local-name shengzhongxin
ike sa keepalive-timer interval 20
ike sa keepalive-timer timeout 60
#
acl number 3000
description FOR_IPSEC_POLICY
rule 5 permit ip source 86.0.49.0 0.0.0.255
rule 6 permit ip source 86.0.50.0 0.0.0.255
rule 10 permit ip source 10.0.0.0 0.255.255.255
#
ike proposal 1
#
ike peer fenzhi
pre-shared-key huawei
ike-proposal 1
remote-name fenzhi
#
ipsec proposal 1
#
ipsec policy-template temp 5
security acl 3000
ike-peer fenzhi
proposal 1
local-address 86.0.48.4
#
ipsec policy pol 5 isakmp template temp

interface GigabitEthernet1/0/1
ip address 86.0.48.2 255.255.255.248
vrrp vrid 3 virtual-ip 86.0.48.4 255.255.255.248 master
ipsec policy pol

USG2130关键配置

ike sa keepalive-timer interval 20
ike sa keepalive-timer timeout 60
ike dpd interval 30
#
#
acl number 3000
rule 5 permit ip source 86.41.0.0 0.0.0.255 destination 86.0.49.0 0.0.0.255
#
acl number 3001
rule 5 permit ip source 86.41.0.0 0.0.0.255 destination 86.0.50.0 0.0.0.255
#
acl number 3002
rule 5 permit ip source 86.41.0.0 0.0.0.255 destination 10.0.0.0 0.255.255.255

#
ike proposal 10
#
ike peer shengzhongxin
pre-shared-key huawei
ike-proposal 10
remote-address 86.0.48.4
#
ipsec proposal tran1
#
ipsec policy pol 5 isakmp
security acl 3000
ike-peer shengzhongxin
proposal tran1
#
ipsec policy pol 10 isakmp
security acl 3001
ike-peer shengzhongxin
proposal tran1
#
ipsec policy pol 15 isakmp
security acl 3002
ike-peer shengzhongxin
proposal tran1
#
interface Vlanif1
ip address 86.41.0.46 255.255.255.248
#
interface Ethernet0/0/0
ip address 36.132.72.88 255.255.255.0
ipsec policy pol
告警信息
处理过程
1、测试从分支USG2130 ping USG5300虚拟地址,延迟在2ms左右。ping允许分片大包5000不丢包,延迟在8ms至10ms,可见链路质量较好。
2、查看中心、分支的DPD配置。
       分支、中心同时配置了sa keepalive。分支存在DPD配置,虽然中心没有配置,但不影响DPD功能,DPD配置不一定要成对出现。临时对间隔时间进行了缩小配置,但测试没能解决根本问题。
3、查看license中购买的隧道数和已经使用的隧道数。发现剩余的VPN隧道数在20%以上,排除隧道数不足的问题。
4、为了更好的调试和分析,将一个分支升级到最新版本V300R001C00SPC800。问题仍然存在。
5、分支网络全部采用的子网划分的方式,不排除网络冲突。
        把同时出现问题的5个分支的配置进行检查,发现分支配置中没有出现子网冲突现在。如果出现内网冲突,有一个明显现象:在中心通过display ike sa ,中心与同一分支会出现不停建立和删除SA的现象。
  6、检查配置中的疑点
  1)通过debug信息看不出有帮助的提示信息(故在此省略)。
  2)分析配置。
    通过检查配置,总部的配置是正确的。仅分支的配置有一处疑惑:
#
interface Vlanif1
ip address 86.41.0.46 255.255.255.248
#
  acl number 3000
rule 5 permit ip source 86.41.0.0 0.0.0.255 destination 86.0.49.0 0.0.0.255
#
acl number 3001
rule 5 permit ip source 86.41.0.0 0.0.0.255 destination 86.0.50.0 0.0.0.255
#
acl number 3002
rule 5 permit ip source 86.41.0.0 0.0.0.255 destination 10.0.0.0 0.255.255.255

内网接口vlanif1是子网86.41.0.40/29,但ACL里面却是86.41.0.0/24。感兴趣流量明显过大,包含了其他分支的子网。

   2)进一步验证网段过大造成其他分支故障。
       在中心USG5300上,display ipsec sa,查找包括该分支的所有SA。
connection id: 27007
rule number: 20
encapsulation mode: tunnel
tunnel local : 86.0.48.4 tunnel remote: 36.132.72.88
flow source: 86.0.50.0-86.0.50.255 0-65535 0
flow destination: 86.41.0.0-86.41.0.255 0-65535 0

connection id: 26995
rule number: 20
encapsulation mode: tunnel
tunnel local : 86.0.48.4 tunnel remote: 36.128.95.20
flow source: 86.0.50.0-86.0.50.255 0-65535 0
flow destination: 86.41.0.0-86.41.0.255 0-65535 0

connection id: 26956
rule number: 20
encapsulation mode: tunnel
tunnel local : 86.0.48.4 tunnel remote: 86.0.70.100
flow source: 86.0.50.0-86.0.50.255 0-65535 0
flow destination: 86.41.0.0-86.41.0.255 0-65535 0

        发现中心与分支36.132.72.88(本次登录分支)、36.128.95.20、86.0.70.100建立的隧道,都包含了该分支的网段86.41.0.40/29。此时如果防火墙会话没有刷新,将把所有到86.41.0.40/29的IPSec加密的ESP报文的外层目的地址填充为connection id 最小的分支的IP (86.0.70.100),如果会话有刷新,就有可能选择到另两个。只有选择到connection id: 27007才能与该分支正常通信,但由于此类相互包含的情况普遍,造成同一时间仅有少数分支IPSec通信正常。
7、修改各分支的security ACL,将source部分的反掩码改写准确。比如该分支全部修改为:
acl number 3000
rule 5 permit ip source 86.41.0.40 0.0.0.7 destination 86.0.49.0 0.0.0.255
#
acl number 3001
rule 5 permit ip source 86.41.0.40 0.0.0.7 destination 86.0.50.0 0.0.0.255
#
acl number 3002
rule 5 permit ip source 86.41.0.40 0.0.0.7 destination 10.0.0.0 0.255.255.255

针对的ACL配置,经过1天的调整,整个项目中的问题得到根本解决。
根因
1、带宽不足,或者链路质量问题。
2、没有配置DPD。
3、license隧道数不足。
4、版本太旧。
5、网络规划或部署问题。
建议与总结
1、在遇到相关的问题时,连debug信息也不能提供帮助的情况下,一定要有一个清晰的排错思路,从而缩小问题范围。
2、对产品特性方面要有一定了解,尽量尊重原规划和配置,以防止大面积修改现网配置,造成维护工作量加大。

END