因为需要,我们需要搭建多层代理服务用于消息转发,同时也方便通过跳板机2进行访问互联网,话不多说,上主菜。




0x1 代理选择

现在的代理服务器非常多,如何选择也是一门学问,作者在写这篇文档之前已经尝试过三种代理软件,最终才实现相关需求。


谈到代理,大家首先会想到nginx这一经典的代理服务器,但是很不好的是,它的upstream配置一直不生效,导致没办法实现多层代理(当然也许是我菜~);


tinyproxy,在踩坑nginx之后,我们又想到了tinyproxy,过程很顺利,tinyproxy实现了,我们所需要的需求,不过事情没那么简单,虽然实现了https的转发,但是当主机存在CA证书的时候tinyproxy又不行了,通过查阅相关issue发现tinyproxy只是支持http代理,不支持https代理,故又GG。。


squid这属于一个小插曲,同样也因为无法实现二层代理而告终。


最后,我们的主角出场gost。


0x2 Gost

其功能十分强大,支持TCP,UDP,HTTP/HTTPS等多种协议转发,看到这个简介我都心动不已。


GOST


0x2.1 快速开始

我选择的是通过git + go build的方式手动编译,不过这里有些坑需要我们注意,gost项目对于go的版本是有要求的,小于1.8大于1.3,最佳版本1.73。




源码编译:


git clone <https://github.com/ginuerzh/gost.git>

cd gost/cmd/gost

go build

1

2

3

最后可以得到一个gost的二进制文件。




0x2.2 配置代理

http代理:


./gost -L=账号:密码@0.0.0.0:port

1

https代理:


https代理,我们需要CA证书,可以选择自己申请,或者通过第三方平台生成都行。我这里是自己通过脚本生成的。




./gost -L=https://账号:密码@0.0.0.0:port?probe_resist=code:400\&knock

=your-secret-link.localhost\&cert=证书.crt\&key=证书.key

-F=账号:密码@跳板机2:port

1

2

3

配置完成,出现如下,即为运行成功。




然后,我们可以通过curl命令进行验证是否代理成功。


curl -s -v <http://myip.ipip.net> -x <https://账号:密码@ip>:port

1

出现日志如下。




代理成功(第一台机器是腾讯云的,第二台是阿里云的)。

————————————————

版权声明:本文为CSDN博主「幻丶城」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_26584917/article/details/123630800


标签: none

添加新评论