最近在折腾服务器的时候,我自己把 BBRv3 装了一遍,觉得效果还不错,尤其是三网直连的场景下表现比较稳定。今天就把整个过程整理成一篇详细教程,步骤都是我自己操作过的,供大家参考。
先说说 BBRv3 和 BBRv1 的区别
BBRv3 是 Google 对传统 BBR 的升级版。实际用下来,我的感觉是:
- 吞吐量:BBRv3 在大多数情况下都要好一些,特别是带宽比较充足的时候。
- 晚高峰:这是 BBRv3 最明显优势,掉速和抖动的情况少很多。
- 公平性:BBRv3 “更绅士”,不会那么容易抢占别人带宽。
- 延迟:两者差距不大,BBRv3 可能会略好一点。
- CPU 占用:BBRv3 会高一点,低配机器要考虑一下。
总的来说,如果你主要是三网直连,BBRv3 值得一试。当然最终效果还是要自己测,线路不同结果也会有差异。
安装步骤
1. 安装依赖
sudo apt update
sudo apt install -y build-essential make gcc linux-headers-$(uname -r) git
2. 下载源码并编译
cd /root
rm -rf bbr
git clone https://github.com/google/bbr.git
cd bbr
echo "开始编译 BBRv3..."
make -C /lib/modules/$(uname -r)/build M=$(pwd) modules
sudo make -C /lib/modules/$(uname -r)/build M=$(pwd) modules_install
sudo depmod -a
3. 配置启用
cat << EOF | sudo tee -a /etc/sysctl.conf
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
net.core.somaxconn = 4096
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_fin_timeout = 30
EOF
sudo sysctl -p
4. 验证
sysctl net.ipv4.tcp_congestion_control
modinfo tcp_bbr | grep -E "version|description"
5. 重启
sudo reboot
后续维护
内核更新后 BBRv3 模块需要重新编译,我写了个小脚本,保存为 /root/install-bbr3.sh:
#!/bin/bash
cd /root
rm -rf bbr
git clone https://github.com/google/bbr.git
cd bbr
make -C /lib/modules/$(uname -r)/build M=$(pwd) modules
sudo make -C /lib/modules/$(uname -r)/build M=$(pwd) modules_install
sudo depmod -a
sudo sysctl -p
echo "BBRv3 已为当前内核安装完成"
以后用 bash /root/install-bbr3.sh 就行。
想防止内核自动更新,可以执行:
sudo apt-mark hold linux-image-$(uname -r) linux-headers-$(uname -r)
结语
安装完记得用 speedtest 或者 iperf3 测一下速度,尤其是晚高峰的时候,对比一下前后变化。
有问题欢迎评论区留言。





