CentOS 8 开启 TCP_BBR

CentOS 8 Linux kernel 版本为 4.18.0kernel 版本高于 4.9.0,因此同时支持 BBRNV 拥塞算法,但默认未启动 BBR,这里我们可以手动开启。

查看当前拥塞算法

1
2
3
4
$ sysctl net.ipv4.tcp_congestion_control
net.ipv4.tcp_congestion_control = cubic
$ sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = reno cubic

加载tcp_bbr.ko模块

1
2
3
$ modprobe tcp_bbr
$ sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = reno cubic bbr

自动加载tcp_bbr.ko模块

1
2
3
$ echo "tcp_bbr" >> /etc/modules-load.d/bbr.conf        # 没有这个文件的话自己创建
$ cat /etc/modules-load.d/bbr.conf
tcp_bbr

修改sysctl

1
2
3
4
5
6
$ echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf      
$ echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
$ sysctl -p
vm.swappiness = 15
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr

最后查看是否成功

1
2
3
4
$ sysctl net.ipv4.tcp_congestion_control
net.ipv4.tcp_congestion_control = bbr
$ sudo lsmod | grep bbr
tcp_bbr 20480 30