16
2024
04
11:27:32

NAT穿越环境下的野蛮模式IPSEC VPN私网流量无法互通问题处理经验案例

组网及说明

拓扑如下:

问题描述

现场将出口设备替换华三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




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/5786.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: