OpenVZ 平台 Google BBR 一键安装脚本

更新了 liblkl-hijack.so 并打上了最近网上很火的“魔改版” BBR 补丁,同时更新了 haproxy。老版本的朋友可以重新下载安装脚本再安装一遍,需要先停止当前的服务。

使用方法

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

1

2

3

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:

1

2

systemctl disable firewalld

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

 

1

service haproxy-lkl {start|stop|restart}

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

1

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

 

更新 glibc

CentOS 6 更新 glibc,首先下载如下几个文件:

1

2

3

4

5

wget http://ftp.redsleeve.org/pub/steam/glibc-2.15-60.el6.x86_64.rpm \

http://ftp.redsleeve.org/pub/steam/glibc-common-2.15-60.el6.x86_64.rpm \

http://ftp.redsleeve.org/pub/steam/glibc-devel-2.15-60.el6.x86_64.rpm \

http://ftp.redsleeve.org/pub/steam/glibc-headers-2.15-60.el6.x86_64.rpm \

http://ftp.redsleeve.org/pub/steam/nscd-2.15-60.el6.x86_64.rpm

然后安装:

1

2

3

4

5

# rpm -Uvh glibc-2.15-60.el6.x86_64.rpm \

glibc-common-2.15-60.el6.x86_64.rpm \

glibc-devel-2.15-60.el6.x86_64.rpm \

glibc-headers-2.15-60.el6.x86_64.rpm \

nscd-2.15-60.el6.x86_64.rpm

如果以上步骤无法更新,可以手动编译更新(来自网友的方法)

1

2

3

4

5

6

7

8

9

wget http://ftp.gnu.org/gnu/glibc/glibc-2.15.tar.gz

wget http://ftp.gnu.org/gnu/glibc/glibc-ports-2.15.tar.gz

tar -zxf glibc-2.15.tar.gz

tar -zxf glibc-ports-2.15.tar.gz

mv glibc-ports-2.15 glibc-2.15/ports

mkdir glibc-build-2.15

cd glibc-build-2.15

../glibc-2.15/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin

make all && make install

检查一下:

1

2

3

4

5

6

# ldd --version

ldd (GNU libc) 2.15

Copyright (C) 2012 Free Software Foundation, Inc.

This is free software; see the source for copying conditions.  There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Written by Roland McGrath and Ulrich Drepper.

已经升级到 glibc 2.15 了。

判断 BBR 已正常工作

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

然后检查 iptables 规则

1

2

3

4

5

6

7

8

9

10

11

12

13

14

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,里边有相应的端口规则。

来自 V2EX,你们可以看看原帖: OpenVZ 开启 BBR 之最简方法 – Linux Kernel Library

转载于:https://my.oschina.net/u/3254767/blog/1550697

好的,关于 OpenVZ安装和配置,我们可以分为以下几个步骤: 1. 确认系统版本和内核 OpenVZ 只支持特定版本的 Linux 内核,因此需要先确认系统版本和内核是否支持 OpenVZ。可以使用以下命令查看系统版本和内核信息: ``` cat /etc/redhat-release uname -r ``` 如果系统版本是 CentOS 5.x 或 6.x,内核版本是 2.6.x,那么就可以使用 OpenVZ。 2. 安装 OpenVZ 可以使用以下命令安装 OpenVZ: ``` yum install -y vzkernel vzctl vzquota ``` 其中,vzkernel 是 OpenVZ 内核,vzctl 是 OpenVZ 容器管理工具,vzquota 是 OpenVZ 磁盘配额管理工具。 安装完成后,需要重启系统以加载新的内核。 3. 配置 OpenVZOpenVZ 中,每个容器都有一个唯一的 ID,需要为每个容器分配一个 IP 地址和主机名。可以使用以下命令创建一个新的容器: ``` vzctl create <CTID> --ostemplate <TEMPLATE> ``` 其中,`<CTID>` 是容器的 ID,`<TEMPLATE>` 是容器的模板。可以从 OpenVZ 官网下载模板,也可以使用系统自带的模板。 创建完成后,可以使用以下命令启动容器: ``` vzctl start <CTID> ``` 然后,可以使用以下命令进入容器: ``` vzctl enter <CTID> ``` 进入容器后,可以配置容器的网络、主机名等信息。 4. 使用 OpenVZ 使用 OpenVZ 可以创建多个独立的容器,每个容器都有自己的文件系统、网络、进程等,相互之间完全隔离。可以使用以下命令列出所有容器: ``` vzlist -a ``` 可以使用以下命令停止、重启、删除容器: ``` vzctl stop <CTID> vzctl restart <CTID> vzctl destroy <CTID> ``` 以上就是 OpenVZ安装和配置过程,希望能对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值