如果你用过 VPS,肯定听说过 BBR。很多人买了 VPS 后,发现连接速度不太理想,第一反应就是:开启 BBR!

为什么大家都这么推崇它?

因为 BBR 对网速的提升效果是肉眼可见的,尤其是跨国连接,开启前后简直是两个世界。好消息是,搬瓦工的大部分系统已经默认开启了 BBR,你可能根本不用动手。但也有一些老系统或者特定镜像没有自动启用,这时候就需要我们手动操作一下。

那么问题来了:BBR 到底是什么?为什么它能让网速变快?我的 VPS 开了没有?如果没开,怎么一步步把它打开?别急,这篇文章我会用最简单的方式告诉你答案。看完都能搞定 BBR 的检测和开启,让你的搬瓦工 VPS 跑得更快。

BBR 是什么?为什么能提速?

认识什么是 BBR

BBR 的全称是 Bottleneck Bandwidth and Round-trip propagation time,你可以把它理解成:一种让数据传输更聪明的算法

传统的 TCP 传输方式有个问题:它会小心翼翼地发送数据,生怕把网络堵住了,正是因为保守而网速不快。BBR 的出现就是为了解决这个问题。它通过实时监测网络状况,动态调整数据发送的速度和数量,让带宽利用率更高,丢包率更低,延迟更稳定。

BBR 对 VPS 速度的实际影响

简单来说,开启 BBR 之后你能明显感觉到:

  • 网页加载更快:尤其是跨国访问,之前可能要等好几秒,现在基本秒开
  • 下载速度更稳定:不会出现时快时慢的情况
  • 视频播放更流畅:缓冲减少,卡顿变少
  • SSH 连接更顺滑:敲命令的响应速度明显提升

我自己在搬瓦工 VPS 上开启 BBR 前后做过对比,同样的网络环境下,下载速度能提升 30%-50%,有时候甚至翻倍。这就是为什么现在大家买了 VPS 第一件事就是检查 BBR 有没有开。

为什么搬瓦工特别适合开启 BBR?

搬瓦工之所以非常适合搭配 BBR,核心原因在于 它给得起足够大的带宽。国内大部分服务器 10Mbps 就算“大带宽”,而搬瓦工普遍是 1Gbps 起步,部分机房实测甚至能冲到 10Gbps。即使跨境回国后有衰减,依然能保持 数百 Mbps 的稳定速度

点击查看搬瓦工 Basic VPS 的测试文章

而且搬瓦工的 CN2 GIA 线路本身就是优质的回国线路,延迟低、抖动小,再配合 BBR 的拥塞控制算法,能够把这巨大的带宽充分吃满,彻底避免 “大带宽买了却跑不满” 的浪费问题。换句话说,可以让搬瓦工网络性能得到接近 “满血释放” 的体验。

搬瓦工 VPS 的 BBR 默认支持情况

哪些系统默认已开启 BBR?

根据我的实际测试和官方文档,搬瓦工目前提供的这些系统默认已启用 BBR:

  • CentOS 7.x(内核 3.10+ 且使用 elrepo 内核)
  • CentOS 8.x / Rocky Linux / AlmaLinux
  • Ubuntu 18.04 LTS 及以上版本
  • Debian 9 (Stretch) 及以上版本

如果你安装系统的时候选的是上面这些版本,那么恭喜你,大概率已经在享受 BBR 的加速效果了。

哪些情况可能没有开启?

但也有例外情况:

  • 老版本系统:比如 CentOS 6、Ubuntu 16.04 这些老系统,内核版本太低,不支持 BBR
  • 自定义内核:如果你自己编译或更换过内核,可能会覆盖掉原有的 BBR 配置
  • 第三方镜像:从其他渠道导入的系统镜像可能没有预装 BBR

所以不管你用的是什么系统,最稳妥的办法就是先检测一下当前状态

如何检测 BBR 是否已启用?

在正式配置之前,先别急着动手,我们需要确认当前系统的网络状态。只有先搞清楚你的 VPS 是否已经启用 BBR、内核是否支持,以及系统里有哪些拥塞控制算法可用,后面的步骤才不会白做。下面我们按顺序检查:

1、查看当前拥塞控制算法

首先,用 SSH 工具连接到你的搬瓦工 VPS(不会连接的点击看我 SSH 连接教程)。

然后输入这条命令:

sysctl net.ipv4.tcp_congestion_control

如果返回结果是:net.ipv4.tcp_congestion_control = bbr

那就说明 BBR 已经启用,如果返回的是 cubic 或者其他值,那就说明当前没有使用 BBR。

2、查看可用的拥塞控制算法

为了确认系统是否支持 BBR(而不只是没启用),可以再执行:

sysctl net.ipv4.tcp_available_congestion_control

如果返回结果里包含 bbr,比如:net.ipv4.tcp_available_congestion_control = reno cubic bbr,就说明系统支持 BBR,只是没有默认启用。这种情况下我们只需要手动开启就行,不用升级内核。

如果返回结果里没有 bbr,那就说明当前内核版本太低,需要先升级内核才能使用 BBR。

3、查看内核版本

BBR 需要 Linux 内核版本 4.9 或以上 才能支持。输入命令查看当前内核:

uname -r

如果显示的版本号是 4.9.x 或更高(比如 5.4.x5.10.x),那就没问题。如果低于 4.9,那你需要先升级内核,这个过程相对复杂一些,我会在下面详细说明。如果你是新购买的 VPS,还没有重要应用,我建议你重装一个新版本的系统更简单。

手动开启 BBR 的完整步骤

如果检测下来发现你的 VPS 支持 BBR 但没有启用,那么接下来我手把手教你怎么开。

整个过程其实很简单,分为两种情况:

  • 情况一:内核已经支持 BBR(4.9+),只需要修改配置文件
  • 情况二:内核版本太低,需要先升级内核

情况一:内核已支持,直接开启 BBR

这是最简单的情况,只需要改两行配置就搞定。

步骤 1:编辑系统配置文件

输入命令:

sudo vi /etc/sysctl.conf

如果你不习惯用 vi 编辑器,可以用 nano 代替:sudo nano /etc/sysctl.conf。使用方法也很简单,打开之后就可以直接输入、删除或修改内容,不需要像 vi 那样先进入插入模式。修改完成后,按 Ctrl + O 保存。

步骤 2:添加 BBR 配置

在文件末尾添加这两行:

net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr

保存并退出(vi 编辑器按 ESC,然后输入 :wq 回车)。如果你不会使用编辑器,可以直接使用下面的命令把内容自动追加到文件里,复制粘贴即可:

echo -e "\nnet.core.default_qdisc=fq\nnet.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.conf

步骤 3:使配置生效

执行命令让刚才的修改立即生效:

sudo sysctl -p

如果看到输出:

net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr

就说明配置已经成功应用了。

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

再次执行检测命令:

sysctl net.ipv4.tcp_congestion_control

如果返回 bbr,恭喜你,大功告成!你不需要重启 VPS,BBR 现在就已经在工作了。

情况二:内核版本过低,需要先升级

如果你的内核版本低于 4.9,理论上需要先升级内核。不过如果你的服务器还没装多少应用、数据不重要,我更建议直接重装系统:一步到位、最快最干净,不用折腾手动升级内核那些繁琐步骤。

接下来我会分别讲解 CentOS 和 Ubuntu/Debian 系统的升级方法。

CentOS 7 升级内核并开启 BBR

步骤 1:安装 ELRepo 源

sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
sudo yum install -y https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm

步骤 2:安装最新内核

sudo yum --enablerepo=elrepo-kernel install -y kernel-ml

步骤 3:设置新内核为默认启动

sudo grub2-set-default 0

步骤 4:重启系统

sudo reboot

步骤 5:验证新内核并开启 BBR

重启后重新连接 SSH,检查内核版本:

uname -r

确认是 4.9 以上后,按照情况一的步骤修改配置文件开启 BBR。

Ubuntu/Debian 升级内核并开启 BBR

步骤 1:更新软件包列表

sudo apt update

步骤 2:安装最新内核

对于 Ubuntu:

sudo apt install -y linux-generic-hwe-$(lsb_release -rs)

对于 Debian:

sudo apt install -y linux-image-amd64

步骤 3:重启系统

sudo reboot

重启完成后并验证是否开启 BBR,如果没有自动开启然后按照情况一的方法开启 BBR。

一键脚本:偷懒的最佳选择

如果你觉得上面的步骤太麻烦,或者担心自己操作出错,那么可以使用一键脚本来自动完成内核升级和 BBR 开启。目前比较流行且安全的是秋水逸冰大佬的 BBR 一键安装脚本。

使用方法

wget -N --no-check-certificate "https://raw.githubusercontent.com/teddysun/across/master/bbr.sh"
chmod +x bbr.sh
sudo ./bbr.sh

脚本会自动检测你的系统,判断是否需要升级内核,然后完成所有配置。运行过程中可能会提示你重启,按照提示操作就行。

脚本的优缺点

  • 优点:全自动化,适合小白;支持多种系统;减少出错概率
  • 缺点:需要信任第三方脚本;可能会修改一些系统配置;不适合已经自定义过内核的高级用户

如果你是新手,或者只是想快速开启 BBR,用脚本是最省心的办法。但如果你对系统配置有特殊要求,还是建议手动操作。

开启后如何验证效果?

BBR 开启成功后,如果你想确认网络有没有变快,最直接的办法就是做对比测试。通过对比前后的测速结果,就能清楚看到是否有提升。你可以按照下面的方法来判断:

  1. 在开启 BBR 前,用 wgetcurl 下载一个文件,记录速度
  2. 开启 BBR 后,重复相同的下载,对比速度

例如:wget http://speedtest.tele2.net/100MB.zip,通常情况下,开启 BBR 后的下载速度会有明显提升,尤其是在网络延迟较高的情况下,会有更明显的性能提升。

总结与建议

BBR 确实是个神器,对 VPS 速度的提升立竿见影,而且搬瓦工大部分系统已经默认支持,我们要做的只是检测和确认。

简单总结一下

  1. 先检测:用 sysctl 命令确认 BBR 状态
  2. 再判断:内核够不够新(4.9+)
  3. 后操作:内核够就改配置,不够就升级
  4. 最后验证:确认 BBR 已成功启用

如果你现在用的搬瓦工 VPS 还没开 BBR,强烈建议花几分钟时间按照这篇教程操作一下,网速提升会让你觉得非常值得。

而如果你还没购买搬瓦工 VPS,我推荐选择 CN2 GIA 或者香港机房的套餐,这些线路本身质量就很好,配合 BBR 加速效果更明显。现在搬瓦工偶尔会有优惠活动,购买时记得查看是否有优惠码,如果有就又能省不少钱。

常见问题解答(FAQ)

Q1: 开启 BBR 后需要重启 VPS 吗?

+
如果只是修改配置文件开启 BBR(内核已经支持的情况),执行 sysctl -p 后立即生效,不需要重启。如果升级了内核,那必须重启才能加载新内核。

Q2: BBR 会增加服务器负载吗?

+
BBR 本身的 CPU 占用非常低,对系统资源的影响可以忽略不计。相反,因为它提高了传输效率,反而可能减少一些不必要的重传和等待,整体资源利用更合理。

Q3: 开启 BBR 真的会有加速效果吗?

+

开启 BBR 确实是有效的,只是加速效果会因网络环境而有所不同:

  • 如果你的线路本身质量很好、丢包率低、延迟稳定,那么开启前后提升不会特别明显,但依然能在拥塞控制和传输效率上带来一定优化
  • 如果是跨国、跨境等本身容易丢包、延迟高的网络,BBR 的效果就会更加明显,这也是我一直建议在搬瓦工 VPS 上开启 BBR 的原因

Q4: BBR 和其他加速方案冲突吗?

+
BBR 是 TCP 层面的优化,和应用层的加速方案(比如 CDN、代理)不冲突,可以同时使用。但要注意,如果你同时使用了其他 TCP 优化方案(比如锐速),可能会产生冲突,建议只选择其中一种。

Q5: 搬瓦工所有机房都支持 BBR 吗?

+
是的,搬瓦工所有 VPS 都是 KVM 架构,因此搬瓦工的所有服务器都是能够开启 BBR 的。所以不管你用的是洛杉矶 CN2 GIA、香港、日本还是其他机房,只要系统内核支持,就能开启 BBR。

Q6: BBR 和其他加速方案冲突吗?

+
BBR 是 TCP 层面的优化,和应用层的加速方案(比如 CDN、代理)不冲突,可以同时使用。但要注意,如果你同时使用了其他 TCP 优化方案(比如锐速),可能会产生冲突。