快捷搜索:   nginx

一键开启BBR单边加速的方法(KVM+OPENVZ 开启BBR一键包)

之前写的文章都是教如何一步步开通,但是对我们后端运维来说,时间就是金钱,能省一点是一点,因此最好还是能直接开通的,这里提供一键包,可以直接开通:

KVM架构或者服务器母机

安装:

wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh
chmod +x bbr.sh
./bbr.sh

防止链接失效附件也上传上来了bbr.zip


验证:

uname -r
sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control
sysctl net.core.default_qdisc
lsmod | grep bbr

OpenVZ

需在VPS控制面板开启TUN/TAP

安装过程:

在CENTOS7等有 firewalld 的服务器上安装的时候,firewalld 可能会干扰 iptables 的规则,造成网络不通(现在具体原因未知)。所以在装有 firewalld 的服务器上需要先退出 firewalld:


systemctl disable firewalld
systemctl stop firewalld

然后开始安装:

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

防止链接失效附件也上传上来了ovz-bbr-installer.zip

如需卸载,请使用:

./ovz-bbr-installer.sh uninstall


多端口加速


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

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

按i进入编辑模式,编辑完成按esc然后按shift+:输入wq保存退出

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

注: 最初版本的实现是需要再开一个新端口,现在可以直接代理后端端口,不必再开新端口。请注意,使用该方法后,如果 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



更新 glibc


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

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


然后安装:

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


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

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


检查一下:


# 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 规则

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


您可能还会对下面的文章感兴趣: