华为 AR160 IPSEC over DSL 丢包

网络工程 ipsec pppoe 华为
2022-03-01 15:18:54

我们正在努力通过华为 AR169 路由器上的 DSL 线路进行一些 IPSEC 配置。

当隧道在 PPPoE 拨号器上运行时,我们注意到隧道中大约 70% 的数据包丢失。当隧道通过以太网或蜂窝链路运行时,一切都很好。

我们在 AR160 和对面的几家供应商之间测试了这种行为(思科路由器、Fortigate 防火墙,还有华为 AR aso)

目前我们在 VRP 版本 5.160 上运行(在故障排除过程中更新到此版本)

当前 PPPoE 配置:

接口拨号器1
 链接协议 ppp
 ppp chap 用户 XXXXXXXXXXXXX
 ppp chap 密码 XXXXXXXXXXX
 ppp ipcp dns 承认-任何
 ppp ipcp dns 请求
 mtu 1456
 ip 地址 ppp-协商
 拨号器用户 arweb
 拨号程序包 1
 拨号器组 1
 nat outbound 2000 接口 LoopBack 0

IPSEC隧道相关配置

#
ipsec 提议 IPSEC-PROP
 esp 身份验证算法 sha2-256
 esp 加密算法 aes-256
#
ike 提案 1
 加密算法 aes-cbc-256
 dh组2
 身份验证算法 sha2-256
 prf hmac-sha2-256
#
ike 对等 IKE-PEER v1
 预共享密钥简单 XXXXXXXXXX
 ike-提案 1
 本地地址 XXXXXX
 远程地址 XXXXXXX
#
ipsec 配置文件 IPSEC-PROFIL
 ike 对等 IKE 对等
 提案 IPSEC-PROP
 sa 持续时间基于时间的 43200   
#
接口 Tunnel0/0/0
 tcp 调整-mss 1300
 ip地址未编号接口Vlanif1
 隧道协议 ipsec
 源 LoopBack0
 目的地 XXXXXXXXXX
 ipsec 配置文件 IPSEC-PROFIL
#

这是我的设置:

SiteA --- AR169 --- Internet --- Cisco C886VA --- SiteB
  1. AR169 和 C886 之间的 Ping(LAN 到 LAN)=> OK
  2. 从 AR169 ping 到 SiteA 中的系统 => OK
  3. 从 AR169 ping 到 SiteB 中的系统 => NOK
  4. 从 C886 ping 到 SiteB 中的系统 => OK
  5. 从 C886 ping 到 SiteA 中的系统 => NOK
  6. 用其他一些 WAN 技术(以太网、蜂窝)替换 AR169 的 DSL 线路 => OK

首先我想到了 MTU 问题,因为 DSL 是唯一不支持 1500 字节 MTU 的媒体。但这并不能解释标准数据包大小的 PING 期间的大量丢失。

“display ipsec statistics esp”不显示任何丢弃。

谁能给我一个提示如何找出这种下降的根本原因?

在此先感谢安德烈亚斯

- 更新 -

在故障排除期间,我们发现了一个有趣的行为。发送太大而无法通过隧道 MTU 传输的数据包,因此必须由路由器分段,以 100% 成功传输。所以: - “ping -l 1363” => 丢包 - “ping -l 1364” => 100% 成功

--更新2--

在 AR160 上进行数据包捕获具有流量运行正常的效果。一旦捕获停止,我们就会再次看到 PL。所以我认为根本原因是在 VPN 硬件加速中找到某个地方(我认为碎片和流量捕获是由 CPU 进行进程切换的,而不是卸载到 ASIC 或某些不同的芯片)。同时我们也在联系华为的一些工程师。我会随时通知你。

1个回答

华为确认其软件中存在错误。该修复程序将在 9 月补丁中注册。我们有一个热修复程序可以解决我们测试环境中的问题。