不少企业和个人用户部署VPN之后,明明两端接入的链路标称带宽足够支撑大流量传输,实际跑业务、传大文件的时候VPN有效带宽远低于预期,反复调整配置也找不到核心原因。本文结合一线运维的常见故障场景,全面盘点VPN有效带宽上不去的各类常见影响因素,帮大家按照从底层到上层的逻辑逐步定位问题,避免无意义的试错操作。

运维人员逐层排查全链路节点定位VPN有效带宽不足问题
底层物理链路与中间网络节点的叠加损耗
很多人排查VPN带宽问题第一反应先修改VPN隧道配置,反而忽略了VPN承载的底层公网或者专线链路本身的可用带宽。比如用家用宽带做VPN的两端接入场景,运营商通常会限制上行带宽,而VPN跨站点同步数据的时候大部分流量走的是上行方向,直接就会卡在运营商的接入瓶颈上。如果是跨地域的站点互联,坚果中间还要经过多个运营商的路由节点,部分节点的临时拥塞也会直接拉低整条链路的实际传输能力。
验证这个维度的方法也很简单,先临时在VPN两端的网关设备上直接开启大包ICMP测试,或者用iperf工具直接测试公网两端的裸TCP带宽,流量不经过VPN隧道,如果裸带宽本身就达不到预期值,那VPN有效带宽不足的根源根本不在VPN配置层面。很多用户的常见误区是直接拿运营商标称的签约带宽当实际可用带宽,忽略了跨运营商链路、国际出口的路由调度波动问题,这些损耗都会直接叠加到VPN隧道的传输过程中。
VPN加密算法与设备算力的匹配瓶颈
IPsec、SSL这类主流VPN的加密解密过程都需要占用设备的CPU算力,很多中小站点部署VPN的时候直接用普通家用路由器、低配云服务器当VPN网关,设备本身没有内置对应加密算法的硬件加速模块,跑高带宽加密流量的时候算力直接占满,坚果就会出现带宽跑不满的情况。比如部分企业为了满足等保合规要求开启了国密算法,要是VPN网关硬件不支持国密加速,同样流量下的算力消耗会比普通加密算法高很多,很容易触达设备的性能天花板。
验证这个问题的操作很直观,你登录VPN网关的后台管理界面,跑大流量VPN业务的时候实时查看CPU占用率,坚果VPN官网如果加密转发相关的进程占比长时间接近满负载,基本就可以判定是算力瓶颈限制了VPN有效带宽。很多用户的误区是以为只要设备标称带机量够就能跑满带宽,实际上VPN的加密转发性能和普通NAT转发性能是两个完全不同的参数,不能直接划等号。
隧道封装开销与MTU配置不合理的隐性限制
VPN报文在原始IP报文外面还要再加一层新的IP头、隧道协议头、加密校验位,相当于每个报文的额外封装开销会占用一部分链路的MTU配额,如果没有针对性调整两端的MSS值,就会出现大包被分片、甚至直接被中间网络节点丢弃的情况,表现出来就是大流量传输的时候速度上不去,甚至时不时出现连接断流的问题。比如很多默认配置下的IPsec VPN没有开启路径MTU探测,用户传大文件的时候超过长度限制的数据包直接被丢弃,TCP反复触发重传机制,VPN有效带宽自然上不去。
排查这个问题可以在客户端或者VPN网关侧开启ICMP大包禁分片的测试,逐步调整报文长度,找到当前隧道能承载的最大报文长度,再对应调整TCP MSS的配置值,调整完成后再跑大流量测试,很多时候传输效率就能明显回升。不少用户的误区是直接把两端网卡的MTU改到最大值,反而会导致中间链路的分片情况更严重,进一步拉低整体传输效率。
VPN叠加的额外业务规则带来的带宽挤占
很多企业级VPN网关除了基础的隧道加密功能之外,还会叠加QoS流量管控、入侵防御、病毒过滤、访问日志全记录这类附加功能,这些功能在开启之后都会额外消耗设备的转发资源,要是你之前配置了针对VPN网段的限速规则后续遗忘,或者默认的QoS策略把VPN隧道的预留带宽设得很低,哪怕其他所有条件都满足,VPN有效带宽也会被规则直接限制。
验证这个维度的时候可以先在业务低峰时段,临时关闭VPN网关上的所有非必要附加安全策略,清空针对VPN接口的限速规则,再测试隧道带宽,如果带宽恢复到预期水平,就可以逐步重新开启各个附加功能,定位是哪项功能带来的性能损耗。这里要注意不要在业务高峰时段随意关闭安全策略,避免带来不必要的网络安全风险,调整配置前要先确认当前的业务场景允许临时的连接波动。
最后需要说明的是,VPN有效带宽不足很多时候不是单一因素导致的,可能是链路、算力、配置多个问题叠加的结果,排查的时候要按照从底层到上层的顺序逐步验证,不要上来就盲目替换设备或者调整加密规则,坚果VPN官网反而容易引入新的连接故障。单次测试定位到某一个可疑点之后,还要排除其他维度的影响,才能最终确认全部的根因。
坚果加速器 


