本文旨在指导管理员排查飞连云 VPN 带宽扩容后速率不达标,或日常使用中上传/下载速率慢的问题。您可以借助本文提供的排查方法,快速定位瓶颈是在客户端内网、运营商网络、飞连骨干网还是服务端环境。
将飞连云 VPN 国内带宽扩容(如从 10M 扩容至 20M)后,实际下载或上传速率无明显提升;或在使用客户端访问服务端业务 IP 时,网络速率持续低迷。
云 VPN 的网络表现遵循“木桶效应”,即任何一个节点的限制都会导致整体速率下降。在开始排查前,请明确完整的测速路径:
飞连 SD-WAN 提供网络层转发服务。由于隧道封装/解封装存在少量性能损耗,整体速率可接近带宽峰值。iperf3 是定位网络层速率问题的标准工具,将其打流结果作为金标准,可以快速将问题定界(是网络层问题,还是应用层限制)。
在排查前,请参照下图明确流量经过的节点及对应的维护方。通过 iperf3 测试可以快速判定故障点属于哪一方的维护范畴:
流量节点 | 负责方 | 排查重点 |
|---|---|---|
客户端/服务端内网 | 企业管理员 | 本地 Wi-Fi 质量、网线连接、终端防火墙策略、上网行为管理限速。 |
运营商公网 | 运营商/企业 | 本地宽带拨号状态、公网线路波动、UDP 协议 QoS 抑制。 |
飞连 SD-WAN 骨干网 | 飞连团队 | POP 点接入状态、骨干链路稳定性、隧道封装效率。 |
首先排查飞连管理后台及本地环境的基础设置,排除策略限制:
若基础配置无误,需使用 iperf3 测试云 VPN 侧的网络转发能力。测速重点关注:云 VPN 客户端 → 下车 CPE 这一段链路。
获取 CPE 的 tun0_master 地址作为测试目标 IP(服务端 IP)。
在 CPE 侧部署并启动 iperf3 服务端(监听特定端口,如 10086)。
# 安装 iperf3(以 Debian/Ubuntu 为例) sudo apt install iperf3 # 开启 iperf3 服务器,监听 10086 端口 root@cpe-node2:~# iperf3 -s -p 10086 ----------------------------------------------------------- Server listening on 10086 -----------------------------------------------------------
在 Windows 客户端执行测试
在打流前,先通过带源 Ping 验证与 CPE 隧道的连通性,指定云 VPN 虚拟网卡为源 IP。
验证通过后,在 Windows 终端执行 iperf3 打流测试。建议分别进行 TCP 正向、TCP 反向、UDP 正向、UDP 反向测试,全面评估链路质量。以上一步骤中的截图为例,相关参数说明如下:
参数 | 含义 |
|---|---|
-c 169.254.149.9 | 以客户端模式运行,连接 IP 为 169.254.149.9 的 iperf3 服务端(CPE) |
-B 100.64.44.25 | 强制客户端使用 100.64.44.25 作为源 IP发起测试 |
-p 10086 | 连接服务端的 10086 端口(而非默认 5201) |
-M1200 | 将 TCP 的 MSS 值设为 1200 字节 |
-R | 反向测试:将客户端 / 服务端角色反转,变为「CPE→客户端」打流 |
-u | 启用 UDP 模式(默认是 TCP) |
-b20M | 指定 UDP 发送带宽为 20Mbps,UDP 默认只发 1M 带宽 |
场景 A:TCP 正向打流
iperf3.exe -c 169.254.149.9 -B 100.64.44.25 -p 10086 -M1200
观察重点:查看 Bitrate 结果。若数值远低于预期,说明上行链路存在瓶颈。
场景 B:TCP 反向打流
iperf3.exe -c 169.254.149.9 -B 100.64.44.25 -p 10086 -M1200 -R
观察重点:若重传(Retr)次数较多,说明链路丢包严重。
场景 C:UDP 正向打流
iperf3.exe -c 169.254.149.9 -B 100.64.44.25 -p 10086 -u -b20M
观察重点:确认 UDP 流量是否能达到指定的带宽值。
场景 D:UDP 反向打流
iperf3.exe -c 169.254.149.9 -B 100.64.44.25 -p 10086 -u -b20M -R
观察重点:查看 Lost/Total Datagrams。若丢包率极高(如 40%~50%),通常判定为运营商对 UDP 进行了 QoS 限速。
若测试结果异常,需针对传输链路进行排查。
通过 feilian-tun-cli 获取当前接入的 POP 点 IP。通过 curl ipinfo.io 对比 CPE 公网 IP 与 POP 点 IP 的运营商和地域,确认是否涉及跨运营商、跨地域接入。
在 CPE 侧发起大包 PING 探测,验证链路稳定性。
ping <POP点公网IP> -s 1000 -c 1000 -fping <tun0_master网关IP> -s 1000 -c 1000 -f注:**-f 为极限频率压测,**-s 1000 模拟大包传输。观察是否出现丢包或延迟剧烈波动。
若疑似当前 POP 点质量不佳,可重启服务触发重新选点。
查看系统选点记录
使用以下指令核查系统对所有候选 POP 点的探测延迟。飞连 CPE 选点逻辑以带外探测延迟最小为核心依据来选择最优 POP 节点。通过此命令验证当前接入点是否为探测时的最优解:
cat /opt/feilian/cpe/.cache/ucistore | grep out_band_probe_result | awk -F "'" '{print $2}' | jq -r '.[]|"\(.pop_id) \(.delay.failed) \(.public_ip) \(.delay.delay_in_mill_second)"'
重启命令
若确认当前选点受当时网络波动影响而并非最优,可清空缓存并重启服务触发重新探测。
# 重启CPE systemctl stop feilian-cpe sed -i '/master_tunnel/d' /opt/feilian/cpe/.cache/ucistore sed -i '/slave_tunnel/d' /opt/feilian/cpe/.cache/ucistore systemctl restart feilian-cpe tail -f /opt/feilian/cpe/log/cpe.event.log | grep -v pbr | jq -r '"[\(.level)] [\(.time)] [\(.module)] \(.msg)"' # 查看最新的连接信息 feilian-tun-cli
若上述网络基础质量与链路均无异常,可考虑设备性能瓶颈。
在高并发场景下,若连接跟踪表(nf_conntrack)达到阈值,会导致丢包限速。
查看限制与当前使用量
# 查看最大限制 cat /proc/sys/net/netfilter/nf_conntrack_max # 查看当前已用条目数 cat /proc/sys/net/netfilter/nf_conntrack_count
执行优化
编辑 /etc/sysctl.conf 文件,添加 net.netfilter.nf_conntrack_max = 4000000
# 执行命令应用配置 sudo sysctl -p # 验证:确认数值已更新为配置值 cat /proc/sys/net/netfilter/nf_conntrack_max
建议将 CPE 升级至最新稳定版以获取最佳性能。首先通过 feilian-cpe-cli version 确认当前版本。
场景 A:软件 CPE (vCPE) 升级
cd /var/tmp # 下载软件件 CPE 指定版本的安装包 wget https://cdn.isealsuite.com/component/vcpe/{安装包文件名}.tar.gz # 解压安装包并执行安装脚本 tar xf {安装包文件名}.tar.gz && cd {解压目录} bash install.sh -y
注意:若 Linux 内核版本过低,会导致升级失败。需先通过 rpm -ivh 升级内核包,并使用 grub2-set-default 0 设置新内核启动。
# 安装内核包文件 rpm -ivh {内核包文件名} # 查看当前内核启动列表及索引 awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg # 将索引 0(通常为最新安装的内核)设置为默认启动项 grub2-set-default 0
场景 B:硬件 CPE 升级
cd /var/tmp # 下载硬件 CPE 指定版本的安装包 wget https://cdn.isealsuite.com/component/cpe/{安装包文件名}.tar.gz # 解压安装包并执行安装脚本 tar xf {安装包文件名}.tar.gz && cd {解压目录} bash install.sh -y
在 CPE 节点直接访问公共服务(如 ping www.baidu.com 或 curl),排除 CPE 所在本地运营商环境自身的限速或高丢包问题。