文章内容

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 端口)

这样就完成了多级代理。


附件:

文章中的网络架构图


参考资料:

1、GOST - GO语言实现的安全隧道

2、利用 GOST 搭建加密中转隧道

3、【最全最细】中转提速教程,详解使用各种方式实现中转,端口转发、二级代理、隧道中转、链式代理,总有一种适合你!什么是中转?为什么需要中转?gost隧道中转

分享到:

发表评论

评论列表