OpenVZ平台Google BBR加速TCP之Rinetd方式

装SSR

SSR的端口不要和ssh的端口一样,否则SSR不会工作,一个端口只允许一个进程

会让你输入密码和端口(0-65535之间的数),选择加密和混淆方式。卸载SSR./shadowsocksR.sh uninstall ,查看SSR状态/etc/init.d/shadowsocks status

推荐none/auth_chain_a/plain组合,由于使用了auth_chain_a,所以不需要chacha20等加密,也不需要tls1.2_ticket_auth。如果选择的带compatible后缀,表示兼容原版。比如我使用了chacha20/auth_sha1_v4_compatible/tls1.2_ticket_auth_compatible。那么也可以在SS客户端使用你对SSR的配置。直接只填写chacha20即可,不填写ssr的其余两项。SSR客户端则填写chacha20/auth_sha1_v4/tls1.2_ticket_auth

  • 如果想知道详情,地址如下
    也可以使用teddysun的各种版本的SSR的一键脚本,详情:https://shadowsocks.be
  • 或者使用逗比一键脚本:wget -N --no-check-certificate https://softs.fun/Bash/ssr.sh && chmod +x ssr.sh && bash ssr.sh

rinetd加速

  • 具体使用:

1.下载脚本并执行

wget --no-check-certificate https://raw.githubusercontent.com/linhua55/lkl_study/master/get-rinetd.sh

如果你加速唯一一个端口,直接输入bash get-rinetd.sh,回车再输入端口数字即可完成,后面的操作不需要看了。有多个端口时就不要着急输入前面的bash get-rinetd.sh,需要如下配置多个端口再执行bash get-rinetd.sh
2.编辑:

输入vi get-rinetd.sh,按i进入编辑状态(左下角可看状态),在

echo "2. Generate /etc/rinetd-bbr.conf"
cat <<EOF > /etc/rinetd-bbr.conf
# bindadress bindport connectaddress connectport
0.0.0.0 443 0.0.0.0 443
0.0.0.0 80 0.0.0.0 80
EOF

加入自己需要加速的端口,默认加速80端口(网站的http传输)和443端口(https传输),我们还需要加速我们的工具,比如我设置的8388,则加入0.0.0.0 8388 0.0.0.0 8388

echo "2. Generate /etc/rinetd-bbr.conf"
cat <<EOF > /etc/rinetd-bbr.conf
# bindadress bindport connectaddress connectport
0.0.0.0 443 0.0.0.0 443
0.0.0.0 80 0.0.0.0 80
0.0.0.0 8388 0.0.0.0 8388
EOF

完成后按ESC退出编辑状态,按:wq保存并退出

3.最后sudo bash get-rinetd.sh

返回rinetd-bbr started即加速成功。

可能遇到的问题,及手动安装

比如Tink遇到了tool systemctl is not installed, abort提示,是因为他的VPS内存太小,系统默认没有装systemd套件,所以这时脚本检测软件不满足,自动中止。
这里讲讲手动安装:
/etc/rc.local里,在exit 0上面一行添加:
/usr/bin/rinetd-bbr -f -c /etc/rinetd-bbr.conf raw ${IFACE}
即可开机启动,也可以通过这个命令运行软件

防火墙(可选

iptables在某些机器上有问题,所以推荐ufw,比较简单方便操作。这一步非必须,可不操作

  1. 安装:sudo apt install ufw -y
  2. 设定允许哪些端口(其余端口默认不允许):ufw allow 80,就是允许80端口,再逐步加入你自己需要开放的端口,比如你的shadowsocksR的端口和ssh端口。
  3. 记住记得允许自己的ssh端口(登录主机的端口,有的主机不是22端口,比如搬瓦工一般不是22),否则下次无法登录自己的主机,被防火墙挡在外面了。
  4. 启用:ufw enable
  5. 最后运用修改后的规则:ufw reload
  6. ufw status可以查看目前的状态和启用了哪些端口。

完毕!

扩软一件脚本

Rinetd这种方式其实两三个月前就已经有了,是v2ex网友@linhua的成果,他直接将BBR内置到了Rinetd里边,比较方便的就能配置出来。也就是由于配置比较简单,我本来没想再写这个的一键配置脚本(@linhua实现了一个https://github.com/linhua55/lkl_study),但由于很多朋友使用haproxy的方式失败了,网上的脚本也只支持Ubuntu 16和CentOS 7以上的系统,我还是决定再写一个通用的rinetd-bbr一键脚本。

PS:正在写,过一段时间再发布先写一下手动搭建的方法。

手动搭建

仅支持64位系统。

1.下载文件到/ usr / bin / rinetd-bbr

2.设置权限

3.创建配置文件

输入以下内容

其中的443请改为你的端口

IP地址统一写0.0.0.0

4.获取接口名称

看具有公网IP的接口名称(比如我的公网IP是10.10.10.10),上面这种的接口是venet0:0而不是venet0

搬瓦工的OpenVZ应该都是venet0:0接口。

5.启动

注意:将最后的接口改为你上面获取到的接口。在命令最后面加&以使其能后台运行。

验证

正常情况下的输出:

查看iptables规则:

已经有两条规则了。

添加新评论