# OpenVZ小鸡开启BBR手记 # BBR简介 > Google BBR是什么东西?它是由Google开发的一款开源的阻塞控制算法,主要是用来给服务器加速的。打个比方,比如你有一台搬瓦工的VPS,你在上面架设了个网站,正常情况下你在国内下载你VPS上面的文件,可能平均速度只有100kb/s,但是如果你安装并开启了bbr,可能这个下载速度会提升到1M/s,这就是bbr的作用。当然,bbr的作用还不止这些,总之,bbr就是使用tcp暴力发包的原理进行实现提速,可用的领域有很多,典型的比如加快你喝酸酸乳的速度。 之前没有折腾BBR,是因为觉得速度足够了,非要加速时大不了外接一个多线程下载。然而前天试图从`BitBucket`上面`git clone`一个**我自己的**小仓库时,居然花了两个多小时。单线程喝奶的速度低兼定时断线,实在是不能忍,故好好研究一下BBR。 PS:个人来讲,我还是习惯喝原版的,加上`obfs`插件之后跟酸酸乳一样具有自我保护功能。 PS2:其实我首先尝试了[`net-speeder`](https://github.com/snooda/net-speeder),此小工具与BBR有相似之处,原理是无脑双倍发包。验证结果是确实具有加速效果,但可能与基于`ssh`的`git`协议有冲突,因为`clone`到最后一定会报`broken pipe`错误。此外,最终速度也不如`BBR`,所以试用一会儿之后就放弃了。 # 安装过程 ## 前期准备 `OpenVZ`架构的VPS,好处是便宜,丢了不心疼。坏处是内核不独立,各种受限。`BBR`出世之时本是不支持`OpenVZ`的,后来有魔改版问世才有了支持,但仍有前置条件:必须有`TUN/TAP`功能。此功能在一些服务商的`VPS`是没有的,也有一些提供但默认是关闭的,需要在面板中手动开启: {{:website:openvz_tun_tap_config.png?direct&600|开启`TUN/TAP`}} 点一下`ON`就行了,点了之后没啥具有娱乐性的画面,直接开启,连个确认提示都没有。不过点`ON`之后VPS中的网络服务程序大部分会断开,原因是网卡变了,最好还是重启一下,以免莫名其妙的错误。 ## 一键脚本 然后就简单了,用[kuoruan提供的一键脚本即可](https://blog.kuoruan.com/116.html)。 安装时需要选择端口,输入你想加速的端口即可。加速网页是`80`,加速不可描述的软件是`83xx`,但是不可描述的软件直接用`83xx`比较作死,建议不要用默认的。一个黑科技是使用`obfs`的`failover`功能实现**不可描述软件与其他正经服务器共享端口**,这就不便多说了。 判断 bbr 是否正常启动可以尝试 ping 10.0.0.2,如果能通,说明 bbr 已经启动。 如果有多个端口需要加速,可以修改文件`/usr/local/haproxy-lkl/etc/port-rules`。在文件里添加需要加速的端口,每行一条,可以配置单个端口或者端口范围,以 # 开头的行将被忽略。 例如:8800 或者 8800-8810 配置完成之后,只需要重启 haproxy-lkl 即可。 ``` systemctl {start|stop|restart} haproxy-lkl ``` # 效果 测试显示,我这不到6刀年付的小鸡,原本单线程速度只有`40~90K`,开启`BBR`之后速度直逼`400~900K`,快得让人害怕被服务商封禁…… 绝对不是一个可有可无的东西,后悔没早点折腾起来。