注意:TCP-BBR和锐速一样,不支持Openvz,查看本教程之前,请先确定你的VPS的虚拟化技术!
注意:本教程涉及到VPS更换内核,所以如果步骤错误,或者VPS不兼容最新的内核,会导致无法开机等错误,请勿用于生产环境!!!!
系统要求
Debian / Ubuntu 14.04 +
注意:选CentOS的用户请使用这个脚本:http://www.bbaaz.com/thread-6-1-1.html
本脚本只在 Debian 7 / Debian 8 / Ubuntu 14.04 / Ubuntu 16.04 (均 x64位) 这几个系统中测试过脚本可以正常运行(vultr)!
强烈推荐 Debian 7 x64,这个是我一直使用的系统,我的脚本在这个系统上面出错率最低。
安装步骤
更换内核需要ROOT权限,所以如果你是普通用户 的话,需要ROOT账号权限,如果你是ROOT账号,那就忽略这个步骤:
- sudo su
复制代码
输入并回车后,会提示让你输入当前账号的密码,输入并回车后就可以继续下面的步骤了。
- wget -N –no-check-certificate https://softs.fun/Bash/bbr.sh && chmod +x bbr.sh && bash bbr.sh
复制代码
备用下载地址(上面的链接无法下载,就用这个):
- wget -N –no-check-certificate https://raw.githubusercontent.com/makedary/bbaaz/master/bbr.sh && chmod +x bbr.sh && bash bbr.sh
复制代码
下载并运行脚本后,会自动检测并开始安装,首先会提示你输入要下载的内核版本,可以安装自定义版本的内核,也可以直接回车安装最新版本的内核(内核版本获取)!
- 请输入 要下载安装的Linux内核版本(BBR) [ 格式: x.xx.xx ,例如: 4.10.12 ]
- [注意]内核版本列表请去这里获取:[ http://kernel.ubuntu.com/~kernel-ppa/mainline/ ]
- (默认回车,自动获取最新版本):4.10.10
复制代码
注意:在Debian系统中,删除旧内核时,会提示你是否终止删除内核的行为(如下图),这个需要你选择 <No> (键盘方向键 选择,回车键 确认)。
- 需要重启VPS后,才能开启BBR,是否现在重启 ? [Y/n] : y
- [注意] 重启VPS后,请重新运行脚本查看BBR是否加载成功 bash bbr.sh status
- [信息] VPS 重启中…
复制代码
等待十几秒,VPS启动后,重新通过SSH连接VPS,进入 bbr.sh 脚本的目录,然后执行下面这个命令查看BBR是否加载成功。
- bash bbr.sh status
复制代码
然后就会自动开启BBR。
如果重启VPS后,无法连接,说明内核安装或与系统存在兼容性问题,无法正常启动,代表你的VPS当前系统无法使用BBR,请更换其他系统!
使用方法
- # 启动BBR
- bash bbr.sh start
- # 关闭BBR
- bash bbr.sh stop
- # 查看BBR状态
- bash bbr.sh status
复制代码
注意:关闭BBR,需要重启VPS,所以脚本会提醒是否立即重启VPS。
升级BBR
- bash bbr.sh
- # 重新执行脚本会检测最新内核和当前内核,对比版本
复制代码
因为BBR只是内核中的一段功能代码,所以内核更新不一定是BBR更新,就像Win10中IE的位置一样,Win10更新不代表是为了更新IE,所以是否要更新内核要看BBR官方源码有没有更新了。
BBR官方项目地址:https://github.com/google/bbr
注意BBR源码最后更新时间,如果比你的内核新,那么你可以更新内核,反之无需更新。
其他说明
注意:TCP-BBR必须是 2016-12-05 21:00 更新的 4.9.0-rc8 内核及以后的版本 才能开启,而锐速并不支持这个最新的内核版本,所以TCP-BBR和锐速是不可能共存的。
更换内核后重启服务器无法启动 的问题
如果重启VPS后,无法连接,说明内核安装有问题 或 内核与系统存在兼容性问题,无法正常启动。
这代表你的VPS当前系统不支持最新的内核版本,无法开启BBR,请更换其他系统尝试!
提示 wget: unknown host “softs.fun” 之类的错误
这是无法解析我的域名,多半是DNS的问题,请更换DNS为谷歌DNS。
- <blockquote>echo “nameserver 8.8.8.8
复制代码
提示 wget: command not found 的错误
这是你的系统精简的太干净了,wget都没有安装,所以需要安装wget。
- # Debian/Ubuntu 系统:
- apt-get install -y wget
复制代码