完整操作建议
# 1. 检查内核版本(需 ≥4.9)
uname -r
# 2. 确保有权限(使用sudo)
sudo su
# 3. 写入配置(避免重复)
grep -q "net.core.default_qdisc=fq" /etc/sysctl.conf || echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
grep -q "net.ipv4.tcp_congestion_control=bbr" /etc/sysctl.conf || echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
# 4. 应用配置
sysctl -p
# 5. 验证
sysctl net.ipv4.tcp_available_congestion_control # 应包含bbr
lsmod | grep bbr # 检查内核模块是否加载
故障排查
未生效:若输出仍为 cubic(默认算法),可能原因:
内核不支持BBR。
配置未正确加载(尝试重启系统)。
配置被其他文件覆盖(检查 /etc/sysctl.d/ 目录下的配置)。
内核模块未加载:
手动加载模块:modprobe tcp_bbr,并添加到启动项:
echo "tcp_bbr" >> /etc/modules-load.d/modules.conf
通过以上步骤,BBR将有效优化网络性能,尤其在高延迟或高丢包环境中表现显著。
第二种方法
确认当前内核是否已启用BBR
先检查BBR是否已激活(可能你已配置成功):
# 检查当前拥塞控制算法
sysctl net.ipv4.tcp_congestion_control
# 检查可用算法(输出应包含bbr)
sysctl net.ipv4.tcp_available_congestion_control
# 检查内核模块是否加载
lsmod | grep bbr
如果输出包含 bbr,说明已启用,无需额外操作。
如果未启用,继续以下步骤。
直接启用BBR(无需升级内核)
内核小于4.9的内核原生支持BBR,只需配置即可:
# 写入配置(避免重复添加)
sudo grep -q "net.core.default_qdisc=fq" /etc/sysctl.conf || echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.conf
sudo grep -q "net.ipv4.tcp_congestion_control=bbr" /etc/sysctl.conf || echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.conf
# 加载配置
sudo sysctl -p
# 验证
sysctl net.ipv4.tcp_congestion_control
安装新内核(仅限需要升级时)
若你仍希望安装更新的内核(如5.x或6.x),可通过 ELRepo仓库 安装:
步骤1:安装ELRepo仓库
# 导入ELRepo公钥
sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# 安装ELRepo
sudo dnf install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
步骤2:安装最新主线内核
# 查看可用内核列表
sudo dnf --disablerepo=* --enablerepo=elrepo-kernel list available
# 安装最新主线内核(例如kernel-ml-6.x)
sudo dnf -y --enablerepo=elrepo-kernel install kernel-ml
# 重启系统并选择新内核
sudo reboot
步骤3:验证新内核
uname -r # 应显示类似6.x.x-x.el8.x86_64
注意事项
升级内核的风险
新内核可能与某些硬件或软件不兼容,建议在测试环境操作。
保留旧内核以备回退:sudo grub2-set-default 0(选择旧内核索引)。
BBR兼容性
新内核可能对BBR有进一步优化,但原4.18内核已完全支持BBR。
总结建议
无需升级内核:你的当前内核(4.18)完全支持BBR,只需配置即可。
若需升级:使用ELRepo安装新内核,但需评估必要性。
验证BBR生效后,建议测试网络性能(如使用iperf3或speedtest-cli)。