大背景
大陆网络出境环境日益恶劣,很多人都利用了国内的服务器来中转流量,比如采用阿里云、腾讯云等国内 BGP 线路中转流量落地到香港 PCCW、日本 NTT 等线路,相对于直接采购一条 CN2 线路有时候成本更低。
基本上大多数人都用的最简单的 iptables 或者 socat 转发,直接将收到的包转到落地节点,本来这并没有什么问题,但自 2020 年以来,墙不断发威,SS/SSR 直连会被非常迅速的识别并封禁。尤其是上月的五中全会期间更为严重。此时,构建一条加密中转隧道就成了必要的选择。
介绍
GOST是一款利用GO语言实现的安全隧道工具,功能非常丰富,支持多端口监听、多级转发代理、支持TCP/UDP协议方式,多种传输协议;在这里我们基本只用到了端口转发这一个功能,具体文档可以参考 这里。
准备工作
1、VPS一台 (后面我们称之为落地机)
2、NAT或者VDS一台(后面我们称之为中转机)
开始搭建
安装gost
首先需要在落地机和中转机上都需要安装gost
开始中转
中转机
监听本机 10292 端口的 TCP、UDP 连接,转发到落地机(这里假如落地机的IP为1.2.3.4)的 12345 端口。
落地机
监听本机的 12345 端口,接收转发过来的连接,再转给本地的 3080 端口。
扩展知识
因为gost的机制问题,需要窗口化运行,那么我们关闭了SSH窗口中转也会随之关闭。因此可以使用screen 或者 nohup 的方法进行解决,下面以screen进行举例:
安装 screen ,新建窗口运行,代码如下:
若是不能安装,或是安装不成功,请update系统,代码如下:(PS:只针对 screen 安装不成功)
安装完成以后,直接运行 screen -S gost 命令,开启新窗口,然后在新窗口中运行 落地机命令 或是 中转机命令,
这样我们SSH窗口后中转也会继续,如果想要想要恢复之前关闭的窗口的话输入screen -r gost 命令即可。
幽默外壳包裹严肃内核,寓教于乐。