OpenVZ 平台魔改版 Google BBR 一键安装脚本

27,378次阅读
2条评论

OpenVZ 平台魔改版 Google BBR 一键安装脚本

Google BBR 是什么东西?它是由 Google 开发的一款开源的阻塞控制算法,主要是用来给服务器加速的。正常情况下,bbr 只能安装在 kvm,xen 之类架构的 vps 上,但是网上有大神研究出了 OpenVZ 架构的 VPS 安装开启 bbr 的方法。该脚本更新了 liblkl-hijack.so,并打上了最近网上很火的“魔改版”BBR 补丁,同时更新了 haproxy。如果你的是 OpenVZ 的 VPS 的话,那么下面我们正式开始安装。

使用方法

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

wget https://raw.githubusercontent.com/kuoruan/shell-scripts/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:

systemctl disable firewalld
systemctl stop firewalld

如需卸载,请使用:

./ovz-bbr-installer.sh uninstall

错误说明

有些机器一切正常,但是加速失败。从网友的反馈来看,可能需要将 SS 的监听地址从 vps IP 改到 127.0.0.1 或者 0.0.0.0,具体未测试,加速失败的朋友可以试一试

多端口加速

安装的时候只配置了一个加速端口,但是你可以配置多端口加速,配置方法非常简单。修改文件

vim /usr/local/haproxy-lkl/etc/port-rules

在文件里添加需要加速的端口,每行一条,可以配置单个端口或者端口范围,以 # 开头的行将被忽略。例如:8800 或者 8800-8810 配置完成之后,只需要重启 haproxy-lkl 即可。

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

使用 systemctl 或者 service 命令来启动、停止和重启 HAporxy-lkl:

systemctl {start|stop|restart} haproxy-lkl
service haproxy-lkl {start|stop|restart}

/usr/local/haproxy-lkl/etc/haproxy.cfg 这个文件是通过 port-rules 自动生成的,每次启动都会重新生成,所以直接修改它的配置没用。如果想要自定义配置,请修改启动文件:

/usr/local/haproxy-lkl/sbin/haproxy-lkl

判断 BBR 已正常工作

判断 bbr 是否正常启动可以尝试 ping 10.0.0.2,如果能通,说明 bbr 已经启动。

然后检查 iptables 规则

iptables -t nat -nL
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
LKL_IN     all  --  0.0.0.0/0            0.0.0.0/0
 
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
 
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
 
Chain LKL_IN (1 references)
target     prot opt source               destination
DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:8989 to:10.0.0.2

里边会看到多了一张链表 LKL_IN,里边有相应的端口规则。

正文完
 
VPSWe
版权声明:本站原创文章,由 VPSWe 2018-01-13发表,共计1884字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(2条评论)
游客 评论达人 LV.1
2018-02-05 16:44:28 回复

无法创建NAT网络怎么破?

 Windows  Chrome  美国加利福尼亚
    VPSWe 博主
    2018-03-30 19:34:00 回复

    @游客 由于某些服务商的VPS 无法创建NAT 网络, 所以不支持用此方法开启BBR。

     Windows  Chrome