ESC

開始輸入,可搜尋發票、服務、域名、工單,以及 更多...

搜尋... Ctrl+K
網路與 IP

Linux 開啟 BBR 加速教程:手動啟用 TCP BBR 擁塞控制(無需一鍵指令碼)

5 個步驟 4 分鐘閱讀 55682 次閱讀 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 輸出。

這篇文章有幫助嗎?

相關教程