如果你用过 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 的稳定速度。
而且搬瓦工的 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.x、5.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 开启成功后,如果你想确认网络有没有变快,最直接的办法就是做对比测试。通过对比前后的测速结果,就能清楚看到是否有提升。你可以按照下面的方法来判断:
- 在开启 BBR 前,用
wget或curl下载一个文件,记录速度 - 开启 BBR 后,重复相同的下载,对比速度
例如:wget http://speedtest.tele2.net/100MB.zip,通常情况下,开启 BBR 后的下载速度会有明显提升,尤其是在网络延迟较高的情况下,会有更明显的性能提升。
总结与建议
BBR 确实是个神器,对 VPS 速度的提升立竿见影,而且搬瓦工大部分系统已经默认支持,我们要做的只是检测和确认。
简单总结一下:
- 先检测:用
sysctl命令确认 BBR 状态 - 再判断:内核够不够新(4.9+)
- 后操作:内核够就改配置,不够就升级
- 最后验证:确认 BBR 已成功启用
如果你现在用的搬瓦工 VPS 还没开 BBR,强烈建议花几分钟时间按照这篇教程操作一下,网速提升会让你觉得非常值得。
而如果你还没购买搬瓦工 VPS,我推荐选择 CN2 GIA 或者香港机房的套餐,这些线路本身质量就很好,配合 BBR 加速效果更明显。现在搬瓦工偶尔会有优惠活动,购买时记得查看是否有优惠码,如果有就又能省不少钱。
常见问题解答(FAQ)
Q1: 开启 BBR 后需要重启 VPS 吗?
+sysctl -p 后立即生效,不需要重启。如果升级了内核,那必须重启才能加载新内核。Q2: BBR 会增加服务器负载吗?
+Q3: 开启 BBR 真的会有加速效果吗?
+开启 BBR 确实是有效的,只是加速效果会因网络环境而有所不同:
- 如果你的线路本身质量很好、丢包率低、延迟稳定,那么开启前后提升不会特别明显,但依然能在拥塞控制和传输效率上带来一定优化
- 如果是跨国、跨境等本身容易丢包、延迟高的网络,BBR 的效果就会更加明显,这也是我一直建议在搬瓦工 VPS 上开启 BBR 的原因