前言
很多用户购买了便宜VPS后发现网络速度不理想,尤其是连接海外服务器时延迟高、丢包严重。其实很多时候并不是VPS本身的问题,而是TCP拥塞控制算法没有优化。BBR是Google开发的TCP拥塞控制算法,开启后可以显著提升VPS的网络传输速度,是VPS必备的优化操作之一。本文教你如何在VPS上一键开启BBR加速。
一、什么是BBR
BBR(Bottleneck Bandwidth and Round-trip propagation time)是Google在2016年发布的TCP拥塞控制算法。传统的TCP算法(如Cubic)在检测到丢包时会大幅降低传输速度,而BBR通过主动测量带宽和延迟来决定发送速率,在有丢包的网络环境下依然能保持较高的传输速度。
对于连接海外VPS的用户来说,开启BBR后下载速度和连接稳定性通常会有明显提升,部分场景下速度可以提升数倍。
BBR版本说明
- BBR v1:Linux内核4.9及以上自带,目前最常用
- BBR v2:仍在开发中,部分内核可手动编译使用
- BBRv3:最新实验版本,需要特殊内核支持
普通用户使用BBR v1即可满足需求。
二、检查当前拥塞控制算法
在开启BBR之前,先检查一下VPS当前使用的拥塞控制算法:
# 查看当前使用的拥塞控制算法
sysctl net.ipv4.tcp_congestion_control
# 查看系统支持的拥塞控制算法
sysctl net.ipv4.tcp_available_congestion_control
如果输出显示 cubic 或 reno,说明还没有开启BBR,需要按照下面的步骤操作。如果已经显示 bbr,则说明已经开启了。
三、一键开启BBR
方法一:手动开启(推荐)
适用于Linux内核4.9及以上的系统(Debian 9+、Ubuntu 16.04+、CentOS 7+等)。
# 添加BBR配置到sysctl
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
# 应用配置
sysctl -p
方法二:使用一键脚本
如果需要安装更新的内核或BBR Plus版本,可以使用一键脚本:
wget -N --no-check-certificate "https://raw.githubusercontent.com/ylx2016/Linux-NetSpeed/master/tcp.sh" && chmod +x tcp.sh && ./tcp.sh
脚本菜单说明:
| 选项 | 说明 |
|---|---|
| 1 | 安装BBR内核 |
| 2 | 安装BBR Plus内核 |
| 3 | 开启BBR |
| 4 | 开启BBR Plus |
| 5 | 开启BBR Plus + 锐速 |
| 6 | 开启暴力BBR |
一般选择 1 安装BBR内核,重启后再选择 3 开启BBR即可。
注意:安装新内核后需要重启VPS才能生效。重启前请确保你有SSH连接方式(如VNC控制台),以防新内核不兼容导致无法连接。
四、验证BBR是否生效
# 查看当前拥塞控制算法
sysctl net.ipv4.tcp_congestion_control
# 输出应为:net.ipv4.tcp_congestion_control = bbr
# 确认BBR模块已加载
lsmod | grep bbr
# 输出应包含:tcp_bbr
# 查看内核版本(使用BBR脚本安装新内核的情况)
uname -r
五、进阶优化:配合内核参数调优
开启BBR后,还可以进一步优化内核网络参数以获得更好的效果。编辑 /etc/sysctl.conf,添加以下配置:
# 开启BBR
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
# 增大TCP缓冲区
net.core.rmem_max=16777216
net.core.wmem_max=16777216
net.ipv4.tcp_rmem=4096 87380 16777216
net.ipv4.tcp_wmem=4096 65536 16777216
# 开启TCP Fast Open
net.ipv4.tcp_fastopen=3
# 增大连接队列
net.core.somaxconn=4096
net.core.netdev_max_backlog=5000
# 优化TIME_WAIT
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_fin_timeout=15
# 开启窗口缩放
net.ipv4.tcp_window_scaling=1
# 开启SYN Cookies(防SYN洪水攻击)
net.ipv4.tcp_syncookies=1
应用配置:
sysctl -p
六、常见问题
开启BBR后速度没有明显提升?
BBR主要在有丢包的网络环境下效果明显。如果你的网络本身就很稳定,提升可能不大。另外,BBR优化的是TCP协议,对UDP协议(如游戏、视频流)没有效果。
内核版本低于4.9怎么办?
使用上述一键脚本安装新内核即可。或者升级系统到较新版本(如Debian 12、Ubuntu 22.04),自带的内核已经支持BBR。
安装新内核后VPS无法启动怎么办?
大多数VPS商家提供VNC控制台功能,可以通过网页版控制台连接服务器。在启动引导界面选择旧内核启动,然后卸载有问题的新内核。
BBR和BBR Plus有什么区别?
BBR Plus是社区改进版本,在高丢包环境下表现更稳定,但并非Google官方版本。普通BBR已经足够使用,BBR Plus适合网络质量特别差的情况。
总结
开启BBR是VPS到手后最值得做的优化操作之一,只需两条命令就能显著提升网络速度。如果你购买的便宜VPS网络表现不理想,不妨先试试开启BBR,很可能就能解决问题。