教程/魔改BBR 一键安装脚本 for CentOS/Debian 7+

魔改 BBR
一键脚本 tcp_nanqinlang.sh
适用于CentOS6/7和Debian 7+
BBR 当然是家喻户晓了,是出自谷歌员工之手的应用于 Linux 内核中的拥塞控制技术。为了加速国内与目标服务器间的网络,让 BBR 发挥出更大(暴力)的实力,魔改就此诞生。

BBR是Google出品并开源的TCP BBR 拥塞控制算法,目前已提交并集成在最新的Linux内核中。而我们使用的VPS服务器特别是国外的vps上安装BBR后,可以明显提高服务器的连接速度,降低丢包。可以说开启BBR后,不管看视频,看网页,还是代理连接,都会提升大幅度的效果。

魔改BBR,则是在Google的原版BBR基础上的修改版本,通过参数的修改,使服提速算法更为激进,比原版BBR有更为明显的提速效果。

安装选择了较为稳定的原生BBR和魔改BBR一键安装脚本,原生BBR一键安装脚本来自秋水逸冰,魔改BBR一键安装脚本来自南琴浪。

安装原版BBR

使用root用户登录,运行以下命令,命令支持CentOS 6+,Debian 7+。

wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh

安装完成后,脚本会提示需要重启 VPS,输入 y 并回车后重启。

重启完成后,进入 VPS,验证一下是否成功安装最新内核并开启 TCP BBR,输入以下命令:

uname -r

查看内核版本,显示为最新版就表示 OK 了

输入指令

sysctl net.ipv4.tcp_available_congestion_control

返回值一般为:

net.ipv4.tcp_available_congestion_control = bbr cubic reno
或者为:
net.ipv4.tcp_available_congestion_control = reno cubic bbr

则成功安装了BBR

安装魔改BBR

使用root用户登录,运行以下命令:

Debian

wget --no-check-certificate 'https://github.com/tcp-nanqinlang/general/releases/download/3.4.2.1/tcp_nanqinlang-fool-1.3.0.sh'

bash tcp_nanqinlang-fool-1.3.0.sh

CentOS

wget --no-check-certificate 'https://raw.githubusercontent.com/tcp-nanqinlang/general/master/General/CentOS/bash/tcp_nanqinlang-1.3.2.sh'

bash tcp_nanqinlang-1.3.2.sh

会得到以下提示:

[Info] 选择你要使用的功能: 
1.安装内核
2.开启算法
3.检查算法运行状态
4.卸载算发

选择1进行安装,安装完后按要求重启服务器,重启完服务器后,在运行脚本

bash tcp_nanqinlang-fool-1.3.0.shDebian
bash tcp_nanqinlang-1.3.2.sh Centos

选择2,开启算法。开启算法后,可以再输入3检查算法。

选择原生BBR还是魔改BBR

魔改BBR是在原生BBR的基础上改进出来的,但目前并没有稳定性方面的问题,并且网上有测试,魔改BBR的速度会比原生BBR的效果提升大概一倍以上的效果。所以推荐优先安装魔改BBR。

Debian 7+脚本,运行:
wget https://github.com/nanqinlang-tcp/tcp_nanqinlang/releases/download/3.0/tcp_nanqinlang_3.0.sh
bash tcp_nanqinlang_3.0.sh
CentOS6/7脚本,运行:
# devel !
wget https://raw.githubusercontent.com/nanqinlang-tcp/tcp_nanqinlang/devel/CentOS/tcp_nanqinlang_1.1.3.sh
bash tcp_nanqinlang_1.1.3.sh

脚本用法说明
出现四个选项供以选择
菜单

更换内核版本
用于安装你指定的内核版本,运行此命令后,系统中只会留下你指定版本的内核,其它内核版本均将被移除
输入你想安装的内核版本

此命令包括如下更改:

下载内核安装包至/home/tcp_nanqinlang
当安装内核版本为v4.10.2时,只会安装 image 内核脚本更新至 v3.0 已移除此特性,若需要使用请使用 v2.9.1 版本的脚本
当安装内核版本为v4.13.x时,会使用新版本内核适配的源码
在/etc/sysctl.conf中添加项:tcp_congestion_control=nanqinlang
内核安装完成

确认内核更换完成后重启 vps

重启开机后,再次运行此脚本,选择第二项安装并开启 tcp_nanqinlang

安装并开启 tcp_nanqinlang
用于编译并启用魔改算法

运行这个命令后,会提示选择魔改方案:温和模式(gentle mode) 或 暴力模式(violent mode)
温和模式采用较小的数值,更注重 TCP 的公平友好;暴力模式则采用较大数值,增强竞争性。
选择魔改方案

若出现报错:{error} making mod failed, please check!
请检查 /usr/bin/gcc-4.9 (debian 7/8) 或 /usr/bin/gcc-6 (debian 9) 是否安装完好

启用魔改算法成功

检查 tcp_nanqinlang 运行状态
用于检查 tcp_nanqinlang 是否已被 加载 (installed) 和 启用 (running)

卸载 tcp_nanqinlang
不会删除已安装的内核,仅 移除 sysctl.conf 的 tcp_nanqinlang 设置项
然后重启vps后,算法才会停止运行

膜改参数简要
pacing = 6 / 3
BBR_UNIT = * 6 / 3
rtt_sec = 5
rtt_max = 40
rtt_ms = 100
cycle_len + 7
请注意
运行脚本时,请使用bash命令
“更换内核”命令,可以任意指定要安装的内核版本,可升可降
卸载命令不会更改您的内核
编译算法时如有报错请私戳我
魔改: