BBR 是谷歌在 2016 年发布的 TCP 拥塞控制算法,并已经在 github 上开源,TCP BBR 致力于解决在有一定丢包率的网络链路上充分利用带宽和降低网络链路上的 buffer 占用率,从而降低延迟。简单的说,TCP BBR 的作用在于能有效的加快 VPS 主机的网络速度提升网络利用率。
本篇文章主要是 Linux 开启 BBR 加速图文教程及常见问题,搭建前需要有一台墙外的 VPS 主机,相关文章推荐阅读::
- Vultr VPS 主机注册购买以及创建图文教程
- Linux VPS 搭建 Shadowsocks(ss)单/多端口图文教程及常见问题
- Linux VPS 搭建 ShadowsocksR(ssr)单用户图文教程及常见问题
TCP BBR 安装教程
本篇采用大神秋水逸冰的 BBR 一键安装脚本
本脚本适用环境
系统支持:CentOS 6+,Debian 7+,Ubuntu 12+
虚拟技术:OpenVZ 以外
的,比如 KVM、Xen、VMware 等
内存要求:≥128M
关于本脚本
1、 本脚本已在 Vultr 上的 VPS 全部测试通过。Vultr 注册购买教程
2、当脚本检测到 VPS 的虚拟方式为 OpenVZ 时,会提示错误,并自动退出安装。
3、脚本运行完重启发现开不了机的,打开 VPS 后台控制面板的 VNC, 开机卡在 grub 引导, 手动选择内核即可。
4、由于是使用最新版系统内核,最好请勿在生产环境安装,以免产生不可预测之后果。
安装方法
连接 VPS,如果不会,推荐阅读Windows 和 Mac OS X 连接 ssh 最新图文教程及工具,连接 VPS 前先 ping 下看 VPS 是否被墙。
使用 root 用户登录,如不是 root 用户,输入sudo -i
切换到 root 用户,root 用户登录后运行以下命令按回车确认:
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh
回车确认后会提示Press any key to start...or Press Ctrl+C to cancel
按任意键开始,根据服务器的配置需要等待几分钟的配置时间。
安装完成后,脚本会提示需要重启 VPS,输入 y
并回车后重启。如果跳过重启命令在安装完成后输入reboot
重启。
重启完成后,重新连接 VPS,验证是否成功安装最新内核并开启 TCP BBR。
输入以下命令查看是否更新为最新内核版本,版本号大于4.9.X
即可:
uname -r
检测是否完全生效:
sysctl net.ipv4.tcp_available_congestion_control
返回值一般为:net.ipv4.tcp_available_congestion_control = bbr cubic reno
接着输入:
sysctl net.ipv4.tcp_congestion_control
返回值一般为:net.ipv4.tcp_congestion_control = bbr
然后输入:
sysctl net.core.default_qdisc
返回值一般为:net.core.default_qdisc = fq
最后输入:
lsmod | grep bbr
返回值有 tcp_bbr
模块即说明 bbr 已启动。注意:并不是所有的 VPS 都会有此返回值,若没有也属正常。
常见问题
安装后提示Info: Your kernel version is greater than 4.9, directly setting TCP BBR...
是因为脚本会自动判断内核版本。如果内核版本已经大于或等于 4.9 且没有开启 BBR,脚本会直接设置好 BBR。
Info: Setting TCP BBR completed...
如果你使用的是 Google Cloud Platform (GCP)更换内核,有时会遇到重启后,整个磁盘变为只读的情况。只需执行以下命令即可恢复:
mount -o remount rw /