组网
客户网络由A,B,C共3个局点组成,出口设备为H3C防火墙F100-C-G(为了书写方便,后文用防火墙代称),3台防火墙分别通过internet建立连接,其中A点出口地址1.1.1.1,内网地址分别为192.168.1.0/24,192.168.10.0/24;B点出口地址2.2.2.2,内网地址192.168.2.0/24;C点出口地址3.3.3.3,内网地址192.168.3.0/24。A点需要分别和B点,C点建立ipsec vpn,具体组网见上图所示。
目前问题现象是A点到C点的ipsec vpn可以成功建立,A点到B点的ipsec vpn无法成功建立。
为了更好地解决客户问题,需要确认信息的准确性,通过客户反馈的信息(配置信息,ping测试等),确认了A到C的ipsec vpn已经成功建立,A到B的ipsec vpn建立不成功,因此接下来需要重点排查A和B两点。
众所周知,ipsec vpn建立过程需要经过两个阶段,即IKE SA和IPSEC SA协商阶段,通过查看ipsec vpn相关的display信息,发现第一阶段,即IKE SA都没有建立起来。接下来,将A和B通过公网地址互ping,发现可以ping通,排除了公网地址不可达的原因。然后通过查看A和B的防火墙配置信息,并没有发现明显的错误,基本上可以排除诸如ipsec vpn,路由,防火墙安全策略等配置问题。
在防火墙配置方面没有任何进展,接下来,又让客户配合收集了防火墙ipsec vpn相关debugging信息,具体操作方法为,A点和B点内网地址互相长ping,去触发ipsec vpn建立,然后收集相应的debugging信息,通过查看这些信息,发现A和B之间居然没有任何与ipsec vpn有关的报文,这个结果让我感到比较诧异。
A和B设备上没有任何IKE和IPSEC的debug报文,只能说明内网感兴趣流没有被正确引入到IPSEC VPN隧道,进而触发IPSEC VPN的协商建立,而这个感兴趣流量,是通过定义在ipsec policy中的ACL来实现的,想到这里,我又重新认真检查了ACL配置,发现ACL中确实定义了A到B的ip感兴趣流,并且被A到B的ipsec安全策略引用,如下红色部分:
acl number 3100
rule 0 permit ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255
rule 1 permit ip source 192.168.1.0 0.0.0.255 destination 192.168.3.0 0.0.0.255
rule 2 permit ip source 192.168.10.0 0.0.0.255 destination 192.168.2.0 0.0.0.255
rule 3 permit ip source 192.168.10.0 0.0.0.255 destination 192.168.3.0 0.0.0.255
感兴趣流配置正确,出口的nat outbound中的ACL也将A到B的感兴趣流deny掉了,那么问题的原因究竟出在哪儿?
进展到了这一步,我又回头确认了下客户的问题描述:A到C的ipsec vpn是可以建立成功的,同样的配置,为什么A和C就可以成功建立呢?接下来,我又重点看了下A到C的ipsec vpn配置,通过配置,我发现A到C的ipsec policy(ipsec安全策略)中也是引用的ACL 3100来定义感兴趣流的,A到B,A到C的感兴趣流都是定义在ACl 3100中的,那么会不会是每次A和B的数据流实际匹配的是A到C的感兴趣流,触发的是A到C的ipsec vpn建立呢?
想到这里,我让客户重新配置一个ACL 3200,并只定义了允许A到B的数据流,将其应用在A到B的ipsec policy中,然后将ACL 3100中的A到B的数据流删除掉,只保留A到C的数据流。更改过后,A到B的ipsec vpn可以成功建立了,A到C照旧可以建立成功。
当涉及到多个VPN隧道时,如果一个ACL列表包含的ip数据流范围过大,并且多个ipsec policy都引用了该ACL,那么往往感兴趣流只会匹配中第一个已经建立的ipsec vpn,不会触发其他vpn隧道建立,这会导致其他vpn建立不成功。
1.定义ACL 3100,ACL 3200,并将其分别引用在A到C,A到B的ipsec policy中:
acl number 3100 //定义A到C的感兴趣流
rule 0 permit ip source 192.168.1.0 0.0.0.255 destination 192.168.3.0 0.0.0.255
rule 1 permit ip source 192.168.10.0 0.0.0.255 destination 192.168.3.0 0.0.0.255
acl number 3200 //定义A到B的感兴趣流
rule 0 permit ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255
rule 1 permit ip source 192.168.10.0 0.0.0.255 destination 192.168.2.0 0.0.0.255
2.建议在配置ipsec vpn的感兴趣流时,尽量做到定义的ACL精细化,不要存在一个ACL定义多个VPN隧道感兴趣流的情况,也不要存在一个ACL规则包含另一个ACL规则的情况。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作