ESC

开始输入,可搜索发票、服务、域名、工单,以及 更多...

搜索... Ctrl+K
网络与 IP

Linux 开启 BBR 加速教程:手动启用 TCP BBR 拥塞控制(无需一键脚本)

5 个步骤 4 分钟阅读 55648 次阅读 96
本文目录

BBR 是 Google 开发的 TCP 拥塞控制算法,在跨境、长距离或有丢包的线路上,通常能明显提升下载速度和稳定性。本文介绍如何在 Linux 开启 BBR 加速,适用于 Debian、Ubuntu、CentOS Stream、Rocky Linux、AlmaLinux 等 KVM 架构的 VPS 与独立服务器。我们只给出透明的手动方法,不推荐使用来路不明的“一键脚本”。

网上流传的部分一键脚本会替换内核、修改大量系统参数,甚至植入不明程序,可能导致服务器无法启动或存在安全风险。BBR 只需两行配置即可启用,建议按本文手动操作。

步骤 1:检查内核版本是否支持 BBR

BBR 需要 Linux 内核 4.9 或更高版本。先查看内核与系统版本:

uname -r
cat /etc/os-release

Debian 10+、Ubuntu 18.04+、Rocky/AlmaLinux 8+ 的默认内核都已支持 BBR。如果是 CentOS 7(内核 3.10),系统已停止维护,建议在客户中心重装为较新的系统,而不是强行升级内核。

步骤 2:查看当前可用的拥塞控制算法

sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control

如果可用列表中没有 bbr,可尝试手动加载模块:

modprobe tcp_bbr
sysctl net.ipv4.tcp_available_congestion_control

步骤 3:使用 sysctl 开启 BBR(持久化配置)

将配置写入 /etc/sysctl.d/ 下的独立文件,便于以后管理和回滚。default_qdisc 设为 fq,拥塞控制设为 bbr:

echo "net.core.default_qdisc=fq" | tee /etc/sysctl.d/99-bbr.conf
echo "net.ipv4.tcp_congestion_control=bbr" | tee -a /etc/sysctl.d/99-bbr.conf
sysctl --system

该配置在重启后依然有效,Debian/Ubuntu 与 CentOS/Rocky/AlmaLinux 命令完全相同。

步骤 4:验证 BBR 是否已启用

sysctl net.ipv4.tcp_congestion_control
sysctl net.core.default_qdisc
lsmod | grep bbr

第一条输出 bbr、第二条输出 fq 即表示开启成功。lsmod 中出现 tcp_bbr 表示模块已加载;如果内核把 BBR 直接编译进内核,lsmod 可能没有输出,但只要 sysctl 显示 bbr 即为正常。

步骤 5:测试加速效果与回滚方法

可以在开启前后分别下载同一个大文件或使用 iperf3 对比速度。若需要恢复默认的 cubic 算法:

rm -f /etc/sysctl.d/99-bbr.conf
sysctl -w net.ipv4.tcp_congestion_control=cubic
sysctl -w net.core.default_qdisc=fq_codel
BBR 主要优化服务器发出的 TCP 流量(例如网站下载、视频分发),对上传方向和 UDP 流量作用有限。

常见问题

OpenVZ 或 LXC 容器能开启 BBR 吗?

容器与宿主机共享内核,无法自行加载内核模块或修改拥塞控制。KVM 架构 VPS 和独立服务器可以正常开启。

开启 BBR 后速度没有变化?

BBR 在高延迟、轻微丢包的线路上效果最明显;若瓶颈在本地宽带、客户端或带宽上限,提升会很有限。可用 mtr 排查线路丢包。

需要 BBR Plus 或魔改版吗?

非官方修改版需要替换内核,稳定性无保障,生产环境建议使用发行版内核自带的原版 BBR。

如仍无法解决,可提交工单联系 IMIDC 7×24 技术支持,请附上 uname -r 与 sysctl 输出。

这篇文章有帮助吗?

相关教程