BBR TCP加速,Google出品神器,需 kernel 4.9以上。开启后服务器的访问明显快很多,对于vultr和digitalocean这种国外服务器很适合,感觉使用后Shell输入也没那么卡了,原本下载几KB的能到几百K了。

本文说下CentOS6.x的操作方案,网上也有不少,不过一些文章里说到 
grub2-set-default 0 ,但亲测会提示 command not found 。

安装源

默认yum没有kernel 4.9的源,先安装 elrepo 扩展源

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm

vi  /etc/yum.repos.d/elrepo.repo
修改 `[elrepo-kernel]` 的 `enabled=0` 为 `enabled=1`
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

下载

yum install kernel-ml -y
  • 1
  • 2

修改 grub 的引导顺序

CentOS6 请使用

sed -i 's/^default=.*/default=0/g' /boot/grub/grub.conf
  • 1
  • 2

那个 grub2-set-default 0 是CentOS7的命令,会报下面这个错。

[root@vultr html]# grub2-set-default 0
-bash: grub2-set-default: command not found
  • 1
  • 2
  • 3

然后重启服务器

reboot
  • 1
  • 2

开启配置

先看看更新成功否

uname -a
  • 1
  • 2

显示的版本号 ≥4.9 就OK了,然后直接复制下面的命令,再重启一发

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
reboot
  • 1
  • 2
  • 3
  • 4

查看是否开启成功

[root@vultr ~]# sysctl net.ipv4.tcp_available_congestion_control
  • 1
  • 2

应输出类似如下,BBR在前面 
net.ipv4.tcp_available_congestion_control = bbr cubic reno

[root@vultr ~]# lsmod | grep bbr
tcp_bbr                16384  0
  • 1
  • 2
  • 3

大概如上则为成功,成功后直接生效,不再需手动操作,虽然流量消耗会比不开启多,但速度上去了。