笨猫博客

  • 🍟首页
  • 🍘目录
    • 🥝VPS教程
    • 🍾猫玩技术
    • 🍹干货分享
    • 🍏软件分享
    • 🍩一只猫
  • 🍋工具
    • 🌽IP路由追踪
    • 🍐域名Whois查询
    • 🥘域名被墙查询
    • 🍧IP正常检测
    • 🔥IP端口检测
    • 🍆短网址
    • 🐟VIP音乐播放
    • 🍯KMS激活
  • 🍓链接
  • 🍪联系
  • 🍱登录
    • 🥦登录
    • 🍒注册
关注互联网,生活,音乐,乐此不疲的一只笨猫
  1. 首页
  2. VPS教程
  3. 正文

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

2017-12-28 8030点热度 0人点赞 4条评论

装SSR

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

  • 只安装SSR,直接一键
    wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocksR.sh
    chmod +x shadowsocksR.sh
    ./shadowsocksR.sh 2>&1 | tee shadowsocksR.log

会让你输入密码和端口(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

1
wget -O /usr/bin/rinetd-bbr https://github.com/linhua55/lkl_study/releases/download/v1.2/rinetd_bbr_powered

2.设置权限

1
chmod a+x /usr/bin/rinetd-bbr

3.创建配置文件

1
vi /etc/rinetd-bbr.conf

输入以下内容

1
2
3
# bindadress bindport connectaddress connectport
0.0.0.0 443 0.0.0.0 443

其中的443请改为你的端口

IP地址统一写0.0.0.0

4.获取接口名称

1
2
3
4
5
6
7
8
9
10
# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: venet0: <BROADCAST,POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
    link/void
    inet 127.0.0.2/32 scope host venet0
    inet 10.10.10.10/32 brd 10.10.10.10 scope global venet0:0

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

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

5.启动

1
/usr/bin/rinetd-bbr -f -c /etc/rinetd-bbr.conf raw venet0:0 &

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

验证

正常情况下的输出:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
[    0.000000] Linux version 4.10.0+ (root@gcc) (gcc version 4.9.4 (Ubuntu 4.9.4-2ubuntu1~14.04.1) ) #1 Mon Jul 31 04:50:50 UTC 2017
[    0.000000] bootmem address range: 0x7f2acc000000 - 0x7f2acffff000
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16159
[    0.000000] Kernel command line:  virtio_mmio.device=268@0x1000000:1
[    0.000000] PID hash table entries: 256 (order: -1, 2048 bytes)
[    0.000000] Dentry cache hash table entries: 8192 (order: 4, 65536 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] Memory available: 64492k/0k RAM
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:4096
[    0.000000] lkl: irqs initialized
[    0.000000] clocksource: lkl: mask: 0xffffffffffffffff max_cycles: 0x1cd42e4dffb, max_idle_ns: 881590591483 ns
[    0.000001] lkl: time and timers initialized (irq2)
[    0.000003] pid_max: default: 4096 minimum: 301
[    0.000021] Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
[    0.000023] Mountpoint-cache hash table entries: 512 (order: 0, 4096 bytes)
[    0.009053] console [lkl_console0] enabled
[    0.009056] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.009128] NET: Registered protocol family 16
[    0.009265] clocksource: Switched to clocksource lkl
[    0.009324] NET: Registered protocol family 2
[    0.009418] TCP established hash table entries: 512 (order: 0, 4096 bytes)
[    0.009421] TCP bind hash table entries: 512 (order: 0, 4096 bytes)
[    0.009503] TCP: Hash tables configured (established 512 bind 512)
[    0.009971] UDP hash table entries: 128 (order: 0, 4096 bytes)
[    0.009976] UDP-Lite hash table entries: 128 (order: 0, 4096 bytes)
[    0.010060] virtio-mmio: Registering device virtio-mmio.0 at 0x1000000-0x100010b, IRQ 1.
[    0.010186] workingset: timestamp_bits=62 max_order=14 bucket_order=0
[    0.010203] virtio-mmio virtio-mmio.0: Failed to enable 64-bit or 32-bit DMA.  Trying to continue, but this might not work.
[    0.010350] NET: Registered protocol family 10
[    0.010849] Segment Routing with IPv6
[    0.010859] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    0.010993] Warning: unable to open an initial console.
[    0.011006] This architecture does not have kernel memory protection.
[    2.169284] random: fast init done

查看iptables规则:

1
2
3
4
5
6
7
8
# iptables -t raw -nL
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:443 /* LKL_RAW */
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:443 /* LKL_RAW */
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

已经有两条规则了。

标签: 暂无
最后更新:2018-01-07

笨猫

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

  • VirCloud

    对于 NAT 的,可以使用这个加速吗?

    2017-12-29
  • 笨猫

    @VirCloud 应该是可以的。只要针对一个端口加速就可以。

    2017-12-30
  • 吴远

    50VZ的Openvz服务器不知可以否?

    2018-01-05
  • 笨猫

    @吴远 没问题。

    2018-01-06
  • razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
    取消回复

    最新 热点 随机
    最新 热点 随机
    WinRAR 商业版下载安装和白嫖指南 Certbot申请谷歌免费SSL证书 宝塔面板卸载全解析:命令与脚本两种方式详解 SSL证书密钥类型选择RSA还是ECC算法?对网站的影响及建议 万能 一键dd windows 脚本, 含 win10/win11/server2025官方最精简版,一键激活+VC运行库 煎饼大佬的一键DD/重装脚本
    煎饼大佬的一键DD/重装脚本DD一个轻量的Alpine+Linux+发行版+更轻+更快+更安全LibreTV - 免费在线视频搜索与观看平台万能 一键dd windows 脚本, 含 win10/win11/server2025官方最精简版,一键激活+VC运行库SSL证书密钥类型选择RSA还是ECC算法?对网站的影响及建议宝塔面板卸载全解析:命令与脚本两种方式详解
    vTab: Chrome 侧边栏 tab 管理插件 Pjblog,LBS,Boblog,F2blog转换到Wordpress教程 Photoshop照片处理:搞笑Q版大头人像 人人网密码下载 猫扑网密码下载 OdIndex:基于PHP的OneDrive目录列表程序 SS-Node 一键安装脚本
    最近评论
    龙笑天 发布于 3 周前(05月25日) 一直用的萌咖的路过 :smile:
    C 发布于 1 个月前(05月04日) 有个更省心的路子,上传到 catbox.moe,然后用 i0.wp.com 做加速(也支持heif格...
    薯条 发布于 3 个月前(03月21日) 这个博客18年了吗,好久了哎
    Q 发布于 3 个月前(03月19日) 您好: 我的一个WORDPRESS站点,安装了 wp telegram插件,我在配置了Bot ...
    喂 发布于 3 个月前(03月08日) 热帖ggww
    标签
    elliptictrue100.10.02
    BLOG ChatGPT Chrome CloudFlare DirectAdmin github Godaddy google kloxo Linux OneDrive OneIndex PHP QQ shadowsocks SNS ssh Typecho VPS web2.0 whmcs Windows wordpress 一键脚本 下载 免费 博客 图文教程 图标 图片 域名 头像 奥运 宝塔面板 插件 教程 日记 有趣 浏览器 游戏 猫 生活 电影 百度 网站 视频 设计 软件 阿里云盘 音乐
    好友
    • glzjin's blog glzjin's blog
    • ZAERA博客
    • 冰沫记
    • 奇它博客
    • 猫腻‘s Blog
    • 猫饭
    • 肥宅之家
    • 萌博
    • 野路子程序员

    COPYRIGHT © 2022 笨猫博客. ALL RIGHTS RESERVED.

    Theme Kratos Made By Seaton Jiang