Rat's

CentOS 6/7手动安装BBR和魔改BBR教程
说明:现在的BBR一键脚本很多,脚本虽然方便,但也有缺陷,就是不能照顾到所有商家的系统,偶尔也会出点错。所以我们不...
扫描右侧二维码阅读全文
08
2018/04

CentOS 6/7手动安装BBR和魔改BBR教程

说明:现在的BBR一键脚本很多,脚本虽然方便,但也有缺陷,就是不能照顾到所有商家的系统,偶尔也会出点错。所以我们不能完全依赖一键脚本,得学会手动开启BBR或者魔改BBR,这里就说下CentOS 6/7手动开启教程。Debian/Ubuntu系统的手动开启教程很久前就说过了,查看:Linux VPS使用Google BBR拥塞算法加速TCP教程Debian/Ubuntu开启超级暴力版魔改BBR教程

安装BBR

1、安装BBR内核

#CentOS 6系统
#导入ELRepo公钥
wget https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm --import RPM-GPG-KEY-elrepo.org
#安装ELRepo
rpm -Uvh http://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm
#升级最新内核
yum --enablerepo=elrepo-kernel install kernel-ml -y
#调整内核启动顺序
sed -i '/default=/d' /boot/grub/grub.conf && echo -e "\ndefault=0\c" >> /boot/grub/grub.conf 
#重启
reboot

#CentOS 7系统
#导入ELRepo公钥
wget https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm --import RPM-GPG-KEY-elrepo.org
#安装ELRepo
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
#升级最新内核
yum --enablerepo=elrepo-kernel install kernel-ml -y
#调整内核启动顺序
grub2-mkconfig -o /boot/grub2/grub.cfg && grub2-set-default 0
#重启
reboot

2、开启BBR

#查看最新内核,如果大于4.9,则进行下一步
uname -r
#修改配置
cat >>/etc/sysctl.conf << EOF
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
EOF
#使配置生效
sysctl -p
#检查生效,输出带有tcp_bbr 20480  0即生效
lsmod | grep bbr

安装魔改BBR

由于通过ELRepo安装的最新内核版本太高,不支持魔改BBR,所以上面安装内核的方法不可用,只能手动安装稍低版本的内核。

1、安装新内核

#CentOS 6系统
#下载并安装内核
wget https://www.moerats.com/usr/down/CentOS_Kernel/kernel-ml-4.12.10-1.el6.elrepo.x86_64.rpm && yum -y install kernel-ml-4.12.10-1.el6.elrepo.x86_64.rpm
wget https://www.moerats.com/usr/down/CentOS_Kernel/kernel-ml-devel-4.12.10-1.el6.elrepo.x86_64.rpm && yum -y install kernel-ml-devel-4.12.10-1.el6.elrepo.x86_64.rpm
wget https://www.moerats.com/usr/down/CentOS_Kernel/kernel-ml-headers-4.12.10-1.el6.elrepo.x86_64.rpm && yum -y install kernel-ml-headers-4.12.10-1.el6.elrepo.x86_64.rpm
#调整内核启动顺序
sed -i '/default=/d' /boot/grub/grub.conf && echo -e "\ndefault=0\c" >> /boot/grub/grub.conf
#重启
reboot

#CentOS 7系统
#下载并安装内核
wget https://www.moerats.com/usr/down/CentOS_Kernel/kernel-ml-4.12.10-1.el7.elrepo.x86_64.rpm && yum -y install kernel-ml-4.12.10-1.el7.elrepo.x86_64.rpm
wget https://www.moerats.com/usr/down/CentOS_Kernel/kernel-ml-devel-4.12.10-1.el7.elrepo.x86_64.rpm && yum -y install kernel-ml-devel-4.12.10-1.el7.elrepo.x86_64.rpm
wget https://www.moerats.com/usr/down/CentOS_Kernel/kernel-ml-headers-4.12.10-1.el7.elrepo.x86_64.rpm && yum -y install kernel-ml-headers-4.12.10-1.el7.elrepo.x86_64.rpm
#调整内核启动顺序
grub2-mkconfig -o /boot/grub2/grub.cfg && grub2-set-default 0
#重启
reboot

检查当前已安装内核,并删除新内核以外的内核

rpm -qa | grep kernel
yum remove -y 内核名

3、开启魔改BBR
安装魔改BBR

#安装依赖
yum -y install make gcc
wget -O ./tcp_tsunami.c https://www.moerats.com/usr/down/CentOS_Kernel/tcp_tsunami.c
#安装魔改BBR
echo "obj-m:=tcp_tsunami.o" > Makefile
make -C /lib/modules/`uname -r`/build M=`pwd` modules CC=/usr/bin/gcc
chmod +x ./tcp_tsunami.ko
cp -rf ./tcp_tsunami.ko /lib/modules/`uname -r`/kernel/net/ipv4
insmod tcp_tsunami.ko
depmod -a
#修改配置
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=tsunami" >> /etc/sysctl.conf
sysctl -p

检查开启状态

lsmod | grep tsunami

如果返回tcp_tsunami 16384 26类似信息,则开启成功。

部分资料参考:小Z博客南琴浪博客

Vultr新用户注册送100美元/16个机房按小时计费,支持支付宝,【点击查看】。
最后修改:2018 年 04 月 15 日 11 : 36 PM

发表评论

17 条评论

  1. unknownk

    博主,再在魔改bbr后边加个暴力魔改bbr的安装配置教程呗

    1. unknownk
      @unknownk

      亲试了下,配合脚本发现也可以,之前还是github的raw下载内核太慢了

      1. unknownk
        @unknownk

        只是脚本中针对的4.11.8,这个是4.12内核,影响或许不大吧

        1. Rat's
          @unknownk

          差不多,可以先手动搞会,再使用脚本

  2. okfans

    返回是 20480 8 是什么意思

    1. Rat's
      @okfans

      模块的一些参数,比如模块大小,使用模块的数

  3. 2哈

    你这波教程真的是666啊,刚做完第一步的BBR和内核升级安装。接着看魔改的BBR的部分,第一句话看得我脑瓜嗡嗡的:
    “由于通过ELRepo安装的最新内核版本太高,不支持魔改BBR,所以上面安装内核的方法不可用”……………… 啊啊啊啊。。。

  4. 坏鱼炒年糕

    成功了谢了~之前的一键脚本centos用不了了QAQ

  5. centos7

    博主您好,我是bwgHost的10GKVM用户,vps使用centos7系统并安装了bbr和v2ray、wireguard、以及nginx。终端接入的是中国移动的宽带和4G网络。我发现我在浏览ytb时网速非常慢,只有一百甚至几十KB/s,因此我测试了:①用youtube-dl将视频从下载到vps,网速飞快约30+MB/s;②在手机/电脑上,打开wireguard或v2ray客户端,用IDM从vps上通过nginx下载所保存的视频文件,网速飞快,约6MB/s(我知道不太高,但是现阶段也只能满意这个速度了。。。)。
    求问博主,我怎样能够提高我直接用v2ray或wireguard浏览ytb的网速呢?谢谢您。

    1. Rat's
      @centos7

      最简单的就是换个好点线路的服务器,其次你可以分别安装bbrplus,bbr魔改版、锐速,然后自己体验,选择适合自己的

  6. asakiriri

    博主文章很多干活啊,帮了大忙了!谢谢!

  7. null

    chmod +x ./tcp_tsunami.ko 这行命令在哪里运行,tcp_tsunami.ko 找不到

    1. Rat's
      @null

      在哪个目录下载.c文件就在哪里操作,可以运行下 find / -name tcp_tsunami.ko找一下具体路径

  8. 童雨涵

    魔改bbr里面centos 6下载并安装新内核那三条代码是全部复制还是只复制一条啊?

    1. Rat's
      @童雨涵

      安装魔改3个内核都需要安装,所以都复制。

  9. Mr.Lin

    返回 tcp_tsunami 16384 0 这个呢?

    1. Rat's
      @Mr.Lin

      有返回信息就行了,数字显示无所谓。