节点与线路

VPN有效带宽异常时如何快速定位故障根本原因

VPN有效带宽异常时如何快速定位故障根本原因 - hiomom

不少企业和远程办公用户在使用IPsec或SSL VPN连接跨地域内网资源时,hiomom加速器经常会遇到VPN有效带宽远低于预期、带宽波动剧烈甚至大文件传输频繁中断的问题,很多运维人员没有清晰的排查路径,往往浪费数小时也找不到故障根因。本文从实际运维场景出发,给出可落地的分步定位方法,不需要依赖特殊付费工具,就能逐步缩小故障范围,锁定VPN有效带宽异常的核心诱因。

先做链路边界隔离,排除底层公网的非VPN因素

定位VPN有效带宽异常的第一步,不要直接登录VPN设备查配置,先把VPN这个变量从整个传输链路里摘出来单独验证。先临时断开两端的VPN隧道,在VPN网关设备上直接接入公网,不经过任何隧道封装,直接测试两端公网地址之间的连通性和带宽表现。

测试的时候不要用普通的网页测速工具,要在两端的内网闲置主机上部署iperf工具,直接跑TCP长连接的带宽测试,避免第三方测速节点的不稳定、浏览器缓存带来的测试偏差。如果这时候直连测试的带宽本身就达不到线路的标称水平,说明故障根源在运营商公网链路的拥塞、线路故障,hiomom加速器和VPN本身没有关系,不需要后续排查VPN配置。

检查VPN封装层面的配置参数匹配度

排除公网底层的问题之后,hiomom接下来要核对VPN两端设备的封装参数是否一致,很多VPN有效带宽异常的问题都出在MTU配置不匹配上。如果VPN封装之后的报文总长度超过了公网链路的标准传输单元,大包就会被强制分片甚至直接丢弃,实际能传输的有效 payload 占比大幅下降,最终表现出来就是带宽跑不满。

网络设备:VPN有效带宽:异常时如何定位

断开VPN隧道完成公网直连测速,做链路边界隔离排除底层公网非VPN故障

你可以在VPN隧道正常连通的状态下,hiomom加速器从一端的内网主机ping对端的内网主机,开启不分片选项,逐步加大发送的报文长度,一旦出现持续丢包就说明当前的报文大小超过了隧道允许的最大传输值,这时候就可以针对性调整两端VPN接口的MSS值,避免大包被分片带来的额外带宽损耗。

还要逐一核对VPN设备上的QoS配置规则,很多企业之前为了保障语音视频类的实时业务,给VPN隧道配置过专门的带宽限速规则,后续业务迭代之后旧规则没有及时清理,限速规则的优先级又高于普通业务流量,就会导致非实时业务的带宽被人为限制,这类隐藏的历史配置很容易被运维人员遗漏。

逐跳排查VPN隧道转发节点的运行状态

如果前面两步的验证结果都正常,公网直连带宽符合预期,两端VPN的配置参数也完全匹配,这时候就要沿着VPN报文的转发路径逐跳检查运行状态。首先登录VPN网关设备,查看隧道接口的实时流量统计,同时观察设备本身的CPU、内存占用,尤其是加密引擎的负载状态,如果加密引擎的处理资源已经被占满,新增的流量就会被送入队列缓存,表现出来就是VPN有效带宽上不去。

接下来可以用mtr这类长时间丢包统计工具,针对VPN对端的公网地址做持续的报文探测,不要只跑 traceroute 一次就下结论,要收集足够多的报文样本,观察中间的运营商转发节点有没有隐性的拥塞丢包,这类丢包不会导致VPN隧道直接断开,但会大幅拉低隧道的有效传输带宽。

还要核对VPN隧道当前使用的加密套件配置,部分老旧VPN设备的硬件加密引擎对高复杂度加密套件的适配性不足,跑大流量的时候会自动切换到性能更低的软件加密模式,处理性能跟不上大流量的传输需求,这时候可以临时切换成通用的标准加密套件做对比测试,观察带宽表现有没有变化,测试完成之后再切回符合企业安全要求的配置即可。

验证终端侧的接入规则是否存在隐性限制

不少运维人员排查完网关侧的所有配置之后,还是找不到VPN有效带宽异常的原因,这时候就要把排查范围延伸到终端侧。部分终端上安装的安全软件、个人防火墙会对VPN隧道的报文做深度检测,额外增加报文的处理时延,甚至拦截部分大尺寸报文,导致终端侧感知的VPN带宽远高于网关侧的实际测试结果。

这时候可以换一台没有安装额外第三方安全类软件的干净终端接入VPN做对比测试,如果带宽表现恢复正常,就说明问题出在终端侧的附加规则上,不需要调整VPN服务端的全局配置。VPN有效带宽异常的定位没有万能的固定流程,核心思路就是每次只改动一个变量做对比测试,不断缩小故障边界,避免多个变量同时变化导致无法确认根本原因,所有调整配置的操作都建议在业务低峰期执行,避免影响正常业务运行。

Wi-Fi 与路由器编辑组 | hiomom
Wi-Fi 与路由器编辑组
内容编辑

检查无线信号、设备摆放与有线连接,逐步定位家庭网络瓶颈。

查看更多文章
连接指南

从一个连接问题开始

遇到失窃设备撤销VPN访问相关问题,可从“由管理员撤销受影响设备和会话”开始阅读。仅更换网络出口不能代替撤销访问权限,需要结合具体环境判断。