一)更新CentOS 7内核为支持BBR的内核
1、查看Centos内核
uname -r
2、如果低于4.10,则更新内核
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 -y
3、安装完成后,查看已安装的内核:
rpm -qa | grep kernel
如果看到 kernel-ml-5.3.5-1.el7.elrepo.x86_64 字样的,即是成功。
4、更新开机启动
egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \’
会看到类似这样的
CentOS Linux (5.3.5-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.1.3.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-96820b9851c24560b5f942f2496b9aeb) 7 (Core)
设置CentOS Linux (5.3.5-1.el7.elrepo.x86_64) 7 (Core)为第一启动顺序(因为启动是从0开始计算)
grub2-set-default 0
5、重启系统
reboot
(二)CentOS 7启用BBR
1、执行
echo ‘net.core.default_qdisc=fq’ | sudo tee -a /etc/sysctl.conf
echo ‘net.ipv4.tcp_congestion_control=bbr’ | sudo tee -a /etc/sysctl.conf
sysctl -p
2、查看内核是否已开启BBR
sysctl net.ipv4.tcp_available_congestion_control
lsmod | grep bbr
如果均显示BBR字样的,表示开启BBR成功。
二、Debian 9启用原生Google BBR
1、修改系统变量
echo “net.core.default_qdisc=fq” >> /etc/sysctl.conf
echo “net.ipv4.tcp_congestion_control=bbr” >> /etc/sysctl.conf
2、保存生效
sysctl -p
3、查看内核是否已开启BBR
sysctl net.ipv4.tcp_available_congestion_control
显示如下内容表示开启:
sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = bbr cubic reno
4、通过上面的操作应该已经启动了BBR。再看下BBR是否启动。
lsmod | grep bbr
显示以下即启动成功:
lsmod | grep bbr
tcp_bbr 20480 14