搬瓦工OpenVZ 平台 Google BBR 一鍵安裝腳本

儘管ovz可以安裝kcp,不過畢竟部分平台上kcp還要雙向配置客戶端!麻煩!好消息來了!ovz也可以用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 以上。

wget https://raw.githubusercontent.com/kuoruan/shell-scripts/master/ovz-bbr/ovz-bbr-installer.shchmod +x ovz-bbr-installer.sh./ovz-bbr-installer.sh

需要配置的有如下幾個選項:

1.需要加速的埠,即的 SS 埠。加速開啟之後,流量會先經過 BBR 處理,之後再發送給後端的 SS。

2.可能需要配置 「公網介面名稱」,即你伺服器上具有公網 IP 的介面名稱。搬瓦工 OpenVZ 上默認都是 venet0,但是有朋友可能需要安裝在其他伺服器上,所以我加入了此選項。

需要注意的是,在有 firewalld 的伺服器上安裝的時候,firewalld 會干擾 iptables 的規則,造成網路不通(現在具體原因未知,誰有解決方案可以提示一下)。所以在裝有 firewalld 的


伺服器上需要先退出 firewalld:

systemctl disable firewalldsystemctl stop firewalld

如需卸載,請使用:

./ovz-bbr-installer.sh uninstall

錯誤說明

有些機器一切正常,但是加速失敗。從網友的反饋來看,可能需要將 SS 的監聽地址從 vps IP 改到 127.0.0.1 或者 0.0.0.0,具體未測試,加速失敗的朋友可以試一試

多埠加速

安裝的時候只配置了一個加速埠,但是你可以配置多埠加速,配置方法非常簡單。 修改文件

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

在文件里添加需要加速的埠,每行一條,可以配置單個埠或者埠範圍,以 # 開頭的行將被忽略。 例如:8800 或者 8800-8810 配置完成之後,只需要重啟 haproxy-lkl 即可。

註: 最初版本的實現是需要再開一個新埠,後來經人提醒,我又看了一下 HAproxy 的配置說明,可以直接代理後端埠,不必再開新埠。請注意,使用該方法後,如果 HAproxy 進程異常退出,會造成無法連接原有埠。所以,請確保在退出 HAproxy 時是通過命令正常退出的,在退出時會自動清理原有的防火牆規則。

使用 systemctl 或者 service 命令來啟動、停止和重啟 HAporxy-lkl:

systemctl {start|stop|restart} haproxy-lklservice 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
scd-2.15-60.el6.x86_64.rpm

如果以上步驟無法更新,可以手動編譯更新(來自網友的方法)

wget http://ftp.gnu.org/gnu/glibc/glibc-2.15.tar.gzwget http://ftp.gnu.org/gnu/glibc/glibc-ports-2.15.tar.gztar -zxf glibc-2.15.tar.gztar -zxf glibc-ports-2.15.tar.gzmv glibc-ports-2.15 glibc-2.15/portsmkdir glibc-build-2.15cd glibc-build-2.15../glibc-2.15/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/binmake all && make install

檢查一下:

# ldd --versionldd (GNU libc) 2.15Copyright (C) 2012 Free Software Foundation, Inc.This is free software; see the source for copying conditions. There is NOwarranty; 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 -nLChain PREROUTING (policy ACCEPT)target prot opt source destinationLKL_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 destinationDNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8989 to:10.0.0.2

裡邊會看到多了一張鏈表 LKL_IN,裡邊有相應的埠規則~

如果你對搬瓦工後台有點暈,可以點擊下面的

ZjzBql:搬瓦工Bandwagonhost VPS管理面板KIWIVM詳解圖示教程zhuanlan.zhihu.com圖標
推薦閱讀:

搬瓦工2018年新手選購指南
免費VPS/雲伺服器盤點
2018最新搬瓦工註冊購買圖文教程 | 10分鐘
2017最強VPS商家排行榜
搬瓦工香港VPS測評報告

TAG:搬瓦工 | OpenVZ | VPS |