组网及说明
拓扑如下:
问题描述
现场将出口设备替换华三LB设备后,由于LB设备不支持IPSEC VPN,所以将IPSEC VPN部署到MSR路由器上,做NAT穿越环境下的野蛮模式IPSEC VPN,对端设备始终未变更过配置,建立隧道完成后发现私网流量始终无法PING通。
过程分析
1、由于对端第三方路由器是流量主动触发方,但LB涉及出方向链路负载均衡配置,所以要将对应的IPSEC VPN流量单独放通走路由转发,否则来回流量有一侧匹配到LB策略转发则会导致业务不通现象出现。
检查LB配置
# virtual-server server1 type link-ip
virtual ip address 2xx.xx.xx.x
default link-group lan
service enable
# virtual-server server10 type link-ip
virtual ip address 1xx.xx.xx.x
default link-group wan
service enable
现场配置了两条需服务专门匹配来回IPSEC VPN 始发流量,地址为路由器内网的地址,这样LB在收到IPSEC VPN的业务流量时可以直接转换NAT 后按路由表将流量转发。
2、此时检查LB配置没有问题后,我们则在LB出入端口上进行抓包,检查是否被异常处理丢弃。
此时我们看到IPSEC VPN的第二阶段抓包发现两边交互的ISAKMP消息携带Non-ESP Marker参数,此参数表明两边协商发现了某一侧存在网关,那么为什么会有这个参数呢?
我们往上抓了第一阶段的IKE协商报文,发现存在两个载荷报文NAT-DF,NAT-D载荷用于探测建立IPSEC 隧道的网关之间是否存在NAT网关以及NAT网关的位置,通过比对前后HASH值来进行判断是否中间存在NAT。
此时我们逐渐怀疑是由于NAT穿越导致报文无法被正常转发,我们在LB出方向端口上同时抓包也得到了验证。
同时我们发现第一阶段协商时并没有携带NAT-T参数,即支持NAT穿越的参数,下图是正常携带NAT-T参数的报文。
我们设备V7默认都是开启NAT穿越功能,则需对面第三方设备确认是否开启此功能。
解决方法
对端第三方路由器没有开启NAT穿越功能导致。
由于我们设备默认V7都是开启NAT穿越功能,所以对于此参数我们在排查问题中往往会被忽略。
对于NAT穿越的方案要第一时间确认两边设备是否支持NAT穿越,同时用最简单的办法使用display ipsec sa 命令查看NAT穿越功能是否正常开启。
[Inbound ESP SAs]
SPI: 3564837569 (0xd47b1ac1)
Connection ID:90194313219
Transform set: ESP-ENCRYPT-AES-CBC-128 ESP-AUTH-SHA1
SA duration (kilobytes/sec): 4294967295/604800
SA remaining duration (kilobytes/sec): 1843200/2686
Max received sequence-number: 5
Anti-replay check enable: Y
Anti-replay window size: 32
UDP encapsulation used for NAT traversal: N
Status: Active
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/5786.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~