如何用一台国内VPS中转多台国外VPS-基于brook,sspanel,端口偏移

如何用一台国内VPS中转多台国外VPS-基于brook,sspanel,端口偏移

当今大陆网络出境环境有多恶劣各位机场主们想必是心知肚明,很多人都利用了国内的服务器来中转流量,比如采用阿里云、腾讯云等国内 BGP 线路中转流量落地到香港 PCCW、日本 NTT 等线路,相对于直接采购一条 CN2 线路有时候成本更低。

当今机场要想稳定无非两种方式,一种是用一些国内商宽中转,另一种是使用成本较高的深港/沪美这一类阿里企业内网的专线进行中转,而对于某些小机场主来说,一台国内中转VPS配置一台国外落地vps未免成本有些高了,所以现在很多机场主都使用单端口的方式来达到一台国内VPS中转多台的情况,但是单端口人数到达一定后可能会出现断流的情况,而且很多机场是后面才想要使用单端口,会给用户带来不方便。
很多人都喜欢用brook中转,但是brook中转有一定的缺点,正如逗逼大佬所说
QQ20200510204233.png
今天我们就来解决这个缺点,给大家带来用一台VPS中转多台VPS多个端口的方法。

其实很简单,brook本身就支持多开,这里我们使用逗逼大佬的一键脚本安装brook。

wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/brook-pf.sh && chmod +x brook-pf.sh

安装完成后执行bash brook-pf.sh运行脚本添加端口转发

输入 7 并回车后,会提示你选择要干什么:

你要做什么?
 1.  添加 端口转发
 2.  删除 端口转发
 3.  修改 端口转发
 4.  启用/禁用 端口转发

 [注意] 本地监听端口不能重复,被转发的IP或端口可重复!
(默认: 取消)

输入 1 并回车后,会提示你依次输入 本地监听端口、被转发IP、被转发端口:

请输入 Brook 本地监听端口 [1-65535](端口不能重复,避免冲突)
(默认取消):10000

========================
    本地监听端口 :  10000
========================

请输入被转发的 IP :
(默认取消):1.1.1.1

========================
    被转发IP :  1.1.1.1
========================

请输入 Brook 被转发的端口 [1-65535]
(默认取消):12000

========================
    被转发端口 :  12000
========================

立即启用该端口转发,还是禁用? [Y/n]
(默认: Y 启用):
[信息] 端口转发 添加成功 [端口: 12000 被转发IP和端口: 1.1.1.1:10000]

是否继续 添加端口转发配置?[Y/n]:
[信息] 继续 添加端口转发配置...
...
...
========================

最后启动成功后 就会提示:

当前端口转发总数:  1  当前服务器IP:  2.2.2.2
本地监听端口: 12000    被转发IP: 1.1.1.1  被转发端口:10000     状态: 启用

========================

稍微解释下,意思就是将本机端口12000收到的请求中转到VPS1.1.1.1的端口10000上去

一般地2.2.2.2就是你用来中转VPS的ip,1.1.1.1就是被中转VPS的ip,也就是说你只要把ssr程序安装在1.1.1.1这台VPS上,然后在sspanel前端修改节点服务器ip为2.2.2.2,配置端口偏移为#2000之后更新订阅就可以使用了。

如果你还不会端口偏移,那么建议你看这篇

但种方法只适合单端口用户,下面介绍普通端口的机场该如何使用brook来达到全端口中转。

这个一键脚本的原理其实就是读取/usr/local/brook-pf/brook.conf中的内容来完成brook的中转配置,当我们添加一条中转规则是,这个文件中就会多一行内容

我们使用

vi /usr/local/brook-pf/brook.conf

来打开配置文件,发现内容如下

12000 1.1.1.1 10000  1

即将本地端口12000的内容中转到1.1.1.1的10000端口上,后面那个1不用管他是什么意思。

因此我们只需要直接修改配置文件即可。

此处我们使用python来生成配置文件,代码如下

# -*- coding: UTF-8 -*-

# 香港节点ip
hk = '165.84.189.11'
# 台湾节点ip
tw = '34.80.249.11'
# 新加坡节点ip
sg = '34.87.163.11'

def brook():
    with open('brook.txt', 'wt') as f:
        for i in range(10000,12000):
            print(int(i), hk , i,' 1', file=f)
            print(int(i) + 2000, tw , i,' 1', file=f)
            print(int(i) + 4000, sg , i,' 1', file=f) 

if __name__ == "__main__":
    brook()

保存此文件为run.py后执行python run.py后生成文件brook.txt
(什么?你还没有python环境,请看这篇或者Google)
代码很简单,就是通过一个循环来生成中转代码。

此处,机场用户的端口都在10000到12000之间,于是将本机(中转VPS)的10000-12000中转到香港节点上,12000-14000中转到台湾节点的10000-12000,14000-16000中转到新加坡节点的10000-12000上。

然后将brook.txt中所有内容复制到/usr/local/brook-pf/brook.conf中,最后执行bash brook-pf.sh重启brook即可。

几千行的数据复制可能会花一点时间,这个时间不妨点一下网站上面的广告,就算对我最大的支持了。

执行bash brook-pf.sh是你的VPS可能会内存饱满,卡死一段时间,但是没有关系,经测试,阿里云512m的VPS中转6000个端口没有问题(可能需要等待几分钟。
执行成功后会在控制台打印结果
QQ20200510203704.png

到这儿,便算大功告成了,开始使用一台国内VDS中转N台国外落地的“奸商”之路吧!

Royfk

2018年8月,我给自己起名为Royfk,自此开始了自己的blog生涯。royfk是一个爱瞎折腾的蓝孩子,这里是我的个人博客,主要写一些自己感兴趣的东西,欢迎和我交流。

1 Comment

  • 大佬你把之前的文章都删掉了???

留下你的评论

*评论支持代码高亮<pre class="prettyprint linenums">代码</pre>

相关推荐