CentOS 7 安装 TCP BBR

升级内核:
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install kernel-ml

查看内核:
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
0 : Red Hat Enterprise Linux Server (4.10.0-1.el7.elrepo.x86_64) 7.3 (Maipo)
1 : Red Hat Enterprise Linux Server 7.3 Rescue a294b6df936641c2a363bf9f7d90646a (3.10.0-514.6.1.el7.x86_64)
2 : Red Hat Enterprise Linux Server (3.10.0-514.6.1.el7.x86_64) 7.3 (Maipo)
3 : Red Hat Enterprise Linux Server (3.10.0-514.el7.x86_64) 7.3 (Maipo)
4 : Red Hat Enterprise Linux Server (0-rescue-be7a44b4b98e404a8cdcd062c4733c10) 7.3 (Maipo)

修改启动项:
grub2-set-default 0
reboot


开启 TCP BBR
修改系统变量:
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
保存生效
sysctl -p
执行
sysctl net.ipv4.tcp_available_congestion_control
如果结果是这样
sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = bbr cubic reno
就开启了。

执行  lsmod | grep bbr,以检测 BBR 是否开启。
如果结果类似tcp_bbr  16384  15 则成功

默认启用此 yum 源:
vi /etc/yum.repos.d/elrepo.repo
修改:
[elrepo-kernel]
...
enabled=1