Debian Ubuntu 安装 BBRv3 教程(手动编译 + 维护脚本)

最近在折腾服务器的时候,我自己把 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 测一下速度,尤其是晚高峰的时候,对比一下前后变化。

有问题欢迎评论区留言。

赞(0) 打赏
未经允许不得转载:Kelro Blog » Debian Ubuntu 安装 BBRv3 教程(手动编译 + 维护脚本)

评论 抢沙发