文章内容
2024/6/28 19:31:33,作 者: 黄兵
GOST 中转使用记录
最近需要优化线路速度,避免在晚高峰的时候出现严重丢包,购买了专线 NAT 服务器,专线是深圳到香港。
最常用的是 GOST 实现中转,下面这幅图详细表示了 GOST 的原理:
通过上图可以看到,GOST 主要就是在中转机和落地机之间增加一条隧道。
了解了原理之后,我们看看如何使用 GOST 在中转机和落地机之间增加一条隧道,下面是一张网络架构图:
香港服务器
首先我们通过如下命令在香港服务器上安装最新版本的 GOST,命令如下:
bash <(curl -fsSL https://github.com/go-gost/gost/raw/master/install.sh) --install
安装完成之后,我们通过如下命令转发端口 10421 的流量:
nohup gost -L=tcp://:10421 -L=udp://:10421 -F=forward+mtls://3.3.3.3:10422?mbind=true &
上面的代码实现了 10421 端口,不论是 TCP 还是 UDP 流量,都转发给落地服务器。
上面使用了 tls 的多路复用,具体可参考文档:多路复用
落地服务器
之后我们开始配置落地服务器,首先还是安装 GOST,安装完成之后,我们启动 GOST 的 tls 数据通道,具体命令如下:
nohup gost -L=mtls://:10422/127.0.0.1:10423 &
上面的代码创建了 mtls 数据通道,用于接收香港服务器发送过来的数据,同时将数据转发给 Shadowsocks 服务(Shadowsocks 服务运行在 10423 端口)
多级转发
有的时候我们需要实现多级转发,下面是一个多级转发的网络架构图:
增加了一个新加坡服务器作为转发节点,现在有两个转发节点,我们看看如何使用 GOST 实现多级转发。
香港服务器
在香港服务器(转发服务器)上执行如下命令:
nohup gost -L=tcp://:10421 -L=udp://:10421 -F=forward+mtls://4.4.4.4:10422?mbind=true &
将端口 10421 的所有数据通过 tls 数据通道转发到新加坡服务器
新加坡服务器
我们在新加坡服务器(转发服务器)上执行如下命令:
nohup gost -L=mtls://:10422/127.0.0.1:10423 &
创建一个 tls 数据通道接收来自香港服务器的数据,之后将数据转发给本地的 10423 端口。
使用如下命令将端口 10423 的数据转发给落地服务器 10424 端口
nohup gost -L=tcp://:10423 -L=udp://:10423 -F=forward+mtls://3.3.3.3:10424?mbind=true &
落地服务器
执行如下命令,创建一个 tls 数据通道:
nohup gost -L=mtls://:10424/127.0.0.1:10425 &
获取新加坡服务器数据通道传递过来的数据,之后转发给本地 Shadowsocks 程序(Shadowsocks 程序开放 10425 端口)
这样就完成了多级代理。
附件:
参考资料:
3、【最全最细】中转提速教程,详解使用各种方式实现中转,端口转发、二级代理、隧道中转、链式代理,总有一种适合你!什么是中转?为什么需要中转?gost隧道中转
评论列表