当前位置:论坛首页 > 主机运维 > 脚本

OpenVZ魔改版BBR一键安装脚本

发表在 主机运维 2017-12-16 17:05 [复制链接] 6 5746

本脚本更新了 liblkl-hijack.so 并打上了最近网上很火的“魔改版” BBR 补丁,同时更新了 haproxy。

本脚本已测试通过的系统: Ubuntu 14.04 x64、Ubuntu 16.04 x64、CentOS 6 x64、CentOS 7 x64 只支持 64 位系统,要求 glibc 版本 2.14 以上。

执行以下脚本安装:
  1. wget https://makeai.cn/master/ovz-bbr/ovz-bbr-installer.sh && chmod +x ovz-bbr-installer.sh && ./ovz-bbr-installer.sh
复制代码
需要配置的有如下几个选项:

1.需要加速的端口,即的 SS 端口。加速开启之后,流量会先经过 BBR 处理,之后再发送给后端的 SS。
2.可能需要配置 “公网接口名称”,即你服务器上具有公网 IP 的接口名称。搬瓦工 OpenVZ 上默认都是 venet0,但是有朋友可能需要安装在其他服务器上,所以我加入了此选项。

需要注意的是,在有 firewalld 的服务器上安装的时候,firewalld 会干扰 iptables 的规则,造成网络不通。所以在装有 firewalld 的服务器上需要先退出 firewalld:
  1. systemctl disable firewalld
  2. systemctl stop firewalld
复制代码
如需卸载,执行以下命令即可:
  1. ./ovz-bbr-installer.sh uninstall
复制代码
常见问题:

有些机器一切正常,但是加速失败。从网友的反馈来看,可能需要将 SS 的监听地址从 vps IP 改到 127.0.0.1 或者 0.0.0.0,具体未测试,加速失败的朋友可以试一试
多端口加速
安装的时候只配置了一个加速端口,但是你可以配置多端口加速,配置方法非常简单。 修改文件
  1. # vi /usr/local/haproxy-lkl/etc/port-rules
复制代码
在文件里添加需要加速的端口,每行一条,可以配置单个端口或者端口范围,以 # 开头的行将被忽略。 例如:8800 或者 8800-8810 配置完成之后,只需要重启 haproxy-lkl 即可。

注: 最初版本的实现是需要再开一个新端口,后来经人提醒,我又看了一下 HAproxy 的配置说明,可以直接代理后端端口,不必再开新端口。请注意,使用该方法后,如果 HAproxy 进程异常退出,会造成无法连接原有端口。所以,请确保在退出 HAproxy 时是通过命令正常退出的,在退出时会自动清理原有的防火墙规则。

使用 systemctl 或者 service 命令来启动、停止和重启 HAporxy-lkl:
  1. systemctl {start|stop|restart} haproxy-lkl
复制代码
/usr/local/haproxy-lkl/etc/haproxy.cfg 这个文件是通过 port-rules 自动生成的,每次启动都会重新生成,所以直接修改它的配置没用。 如果想要自定义配置,请修改启动文件:
  1. /usr/local/haproxy-lkl/sbin/haproxy-lkl
复制代码
更新 glibc

CentOS 6 更新 glibc,首先下载如下几个文件:
  1. wget http://ftp.redsleeve.org/pub/steam/glibc-2.15-60.el6.x86_64.rpm \
  2. http://ftp.redsleeve.org/pub/steam/glibc-common-2.15-60.el6.x86_64.rpm \
  3. http://ftp.redsleeve.org/pub/steam/glibc-devel-2.15-60.el6.x86_64.rpm \
  4. http://ftp.redsleeve.org/pub/steam/glibc-headers-2.15-60.el6.x86_64.rpm \
  5. http://ftp.redsleeve.org/pub/steam/nscd-2.15-60.el6.x86_64.rpm
复制代码
然后安装:
  1. # rpm -Uvh glibc-2.15-60.el6.x86_64.rpm \
  2. glibc-common-2.15-60.el6.x86_64.rpm \
  3. glibc-devel-2.15-60.el6.x86_64.rpm \
  4. glibc-headers-2.15-60.el6.x86_64.rpm \
  5. nscd-2.15-60.el6.x86_64.rpm
复制代码
如果以上步骤无法更新,可以手动编译更新
  1. wget http://ftp.gnu.org/gnu/glibc/glibc-2.15.tar.gz
  2. wget http://ftp.gnu.org/gnu/glibc/glibc-ports-2.15.tar.gz
  3. tar -zxf glibc-2.15.tar.gz
  4. tar -zxf glibc-ports-2.15.tar.gz
  5. mv glibc-ports-2.15 glibc-2.15/ports
  6. mkdir glibc-build-2.15
  7. cd glibc-build-2.15
  8. ../glibc-2.15/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
  9. make all && make install
复制代码
最后检查一下
  1. <blockquote># ldd --version
复制代码
已经升级到 glibc 2.15 了。

判断 bbr 是否正常启动可以尝试 ping 10.0.0.2,如果能通,说明 bbr 已经启动。
然后检查 iptables 规则
  1. iptables -t nat -nL
  2. Chain PREROUTING (policy ACCEPT)
  3. target     prot opt source               destination
  4. LKL_IN     all  --  0.0.0.0/0            0.0.0.0/0

  5. Chain POSTROUTING (policy ACCEPT)
  6. target     prot opt source               destination

  7. Chain OUTPUT (policy ACCEPT)
  8. target     prot opt source               destination

  9. Chain LKL_IN (1 references)
  10. target     prot opt source               destination
  11. DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:8989 to:10.0.0.2
复制代码
里边会看到多了一张链表 LKL_IN,里边有相应的端口规则。
沙发
发表于 2017-12-16 19:31:30 | 只看该作者
OVZ的安装BBR速度也很快。
板凳
发表于 2017-12-20 09:45:58 | 只看该作者
无法创建 NAT 网络。
由于某些服务商的 VPS 无法创建 NAT 网络,
所以不支持用此方法开启 BBR,安装脚本将会退出。

我Ubuntu 16.04 x64的安装提示这个是什么原因啊
地板
发表于 2017-12-20 15:12:49 | 只看该作者
ruilin10086 发表于 2017-12-20 09:45
无法创建 NAT 网络。
由于某些服务商的 VPS 无法创建 NAT 网络,
所以不支持用此方法开启 BBR,安装脚本将 ...

先看下本文的错误说明,不在行就是该主机商不支持安装bbr
5#
发表于 2018-4-19 22:38:06 | 只看该作者
输入端口后显示一些文件下载失败,服务器需要能访问到github。com是怎么回事啊?

脚本代码在github托管,你的VPS禁止了这个网站  发表于 2018-4-20 10:06
6#
发表于 2018-12-18 14:54:48 | 只看该作者
Debian 8 可以么?

bt365体育在线论坛须知

①会员对自己的言论承担责任

②禁止发布损害国家利益和名誉信息

③禁止发布散播不实信息

④禁止发布淫秽、恐怖信息

欢迎登陆bt365体育在线手机投注官网

娱乐无极限,畅想新体验!

小黑屋|bt365体育在线  

Copyright © 2017 bt365体育在线|手机投注官网 All Rights Reserved.

Powered by X3.2

快速回复 返回顶部 返回列表