服务器折腾 | 使用GOST实现简单的端口转发
简介
GO语言实现的安全隧道
特性
去官网查看
安装
先在这里查看最新的版本,截止本文发布时间,最新版为v3.0.0-rc8,接下来,将以这个版本来进行接下来的步骤
#查看服务器架构
uname -a
amd64 (目前大部分服务器)
#下载文件
wget https://github.com/go-gost/gost/releases/download/v3.0.0-rc8/gost_3.0.0-rc8_linux_amd64.tar.gz
#解压文件
tar -zxvf gost_3.0.0-rc8_linux_amd64.tar.gz
#修改文件位置
mv gost_3.0.0-rc8_linux_amd64/gost /usr/bin/gost
#赋予执行权限
chmod +x /usr/bin/gost
arm
wget https://github.com/go-gost/gost/releases/download/v3.0.0-rc8/gost_3.0.0-rc8_linux_arm64.tar.gz
tar -zxvf gost_3.0.0-rc8_linux_arm64.tar.gz
mv gost_3.0.0-rc8_linux_arm64/gost /usr/bin/gost
chmod +x /usr/bin/gost
有些情况下,可能服务器会出现奇怪的网络问题,我们可以先把压缩文件下载下来解压之后,将里面的程序通过WINSCP等软件来上传至服务器的
/usr/bin/
目录,再通过下面的命令赋予相应的权限chmod +x /usr/bin/gost
使用方法
设置需要的转发方式
以下内容是根据我本人需要用到的内容来写的,如需更高级的使用,可以查看官方文档
在使用IPV6地址
时候,需要将IP地址两端使用中括号[]
包裹
TCP转发
gost -L=tcp://:本地端口/目标IP:目标端口
UDP转发
gost -L=udp://:本地端口/目标IP:目标端口
TCP+UDP同时转发
gost -L=:本地端口/目标IP:目标端口
使用样例
#TCP+UDP同时转发
gost -L ://:2222/1.1.1.1:22
我们这里假设目标端口22
是目标服务器(IP为1.1.1.1)
的ssh端口(并不推荐这样做,安全性不够高),这条命令将本地服务器IP:2222
映射到目标服务器IP:22
,也就是所有到本地服务器的2222端口
的数据会被转发到目标服务器的22端口
,这样我们就可以通过本地服务器IP:2222
连接到目标服务器
的ssh上
设置后台运行
测试正常的情况下可以通过nohup
命令来将服务运行在后台,但在重启之后将会断开
挂载
#TCP+UDP同时转发
nohup gost -L=:本地端口/目标IP:目标端口 > /dev/null 2>&1 &
关闭
kill -9 $(ps aux | grep "gost" | sed '/grep/d' | awk '{print $2}')
本文作者:P3ter
本文标题:《服务器折腾 | 使用GOST实现简单的端口转发》
本文链接:https://p3ter.me/posts/gost_port_forwarding.html
版权声明:本博客文章均采用CC BY-NC-SA 4.0许可协议,转载请注明出处!
变相反代?
我用来转发流量用的