CentOS 7 安装使用 BBR

SS 配合 KCP 固然好,但是有毒,于是尝试下 Google BBR。

TCP BBR 致力于解决两个问题(Ref.): 1. 在有一定丢包率的网络链路上充分利用带宽。 2. 降低网络链路上的 buffer 占用率,从而降低延迟。

在 CentOS 7 上安装

$ 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 : CentOS Linux (4.10.2-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-514.10.2.el7.x86_64) 7 (Core)
2 : CentOS Linux (3.10.0-514.6.1.el7.x86_64) 7 (Core)
...

设置默认内核为 4.10.2-1.el7.elrepo.x86_64 并重启

$ grub2-set-default 0
$ reboot

如果用的是 Google Cloud Platform 的话,系统会变为 Read-only,执行下 mount -o remount rw / 就可以了

重启后,编辑 /etc/sysctl.conf,加入或修改下面两行

net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr

保存后运行 sysctl -p

运行 lsmod | grep tcp_bbr 看 BBR 是否已经正常启动,若显示 tcp_bbr 表示已经启动

以上

Alan

Frontend Engineer