端口转发

本地转发

本地转发指的是在本机网络中配置的转发,如不同网卡之间的转发。同时,对于WSL2,也可以将其端口转发到物理机,以使用WSL2进行反向shell连接等功能。同时,GOST是在客户端指定服务器内网穿透所映射到的端口。

./gost.exe -L=tcp://:25567/172.24.64.202:25567

即将当前网络的25567端口映射到172.24.64.202:25567

远程转发

服务端:

./gost -L "socks5+tls://:25566?bind=true"

客户端:

 ./gost -L rtcp://:25564/192.168.0.178:3001 -F socks5+tls://[服务端IP]:25566

根据rtcp服务指定的地址,通过转发链在服务端上监听25564 TCP端口。当收到请求后再通过转发链将数据转发给rtcp服务,rtcp服务再将请求转发到192.168.1.178:3001端口。

添加认证

socks5 服务可以设置用户名和密码认证,只需要修改命令中socks5+tls://:25566部分为socks5+tls://username:password@:25566

端口转发实例

需求

内网有Linux运行OPENVPN服务,需要把其端口映射至公网,从公网连接内网的OPENVPN。

注意OPENVPN服务使用的协议选择为TCP,经测试,UDP协议在GOST转发下无法工作,暂时不清楚原因。

步骤

假设公网服务器IP为123.123.123.123,本地OPENVPN服务运行在192.168.0.1:1194,我需要把它映射到公网服务器的8090端口,同时,公网服务器的8080端口空闲:

  1. 配置OPENVPN:

    使用一键配置脚本(注意配置协议为TCP)

    ./openvpn.sh --serveraddr 123.123.123.123 --port 1194 --proto tcp --auto
  2. 内网LINUX机器:

    因为我们选择的是TCP协议,所以选择rtcp,但是测试中发现选择UDP协议+rudp情况下,无法正常连接。同时出于安全性考虑,我们为SOCKS5代理加上认证,因为GOST的内网穿透端口由客户端决定,不需要服务端同意,所以若他人知道我们公网服务器某个端口有运行GOST的SOCKS5代理且没有认证,那么他也可以通过我们的服务器来进行内网穿透。

    ./gost -L rtcp://:1194/192.168.0.1:8090 -F socks5://username:[email protected]:8080
  3. 公网服务器:

    ./gost -L "socks5://username:password@:8080?bind=true"

然后客户端打开一键配置脚本生产的OVPN客户端文件即可。

最后修改:2025 年 09 月 17 日
如果觉得我的文章对你有用,请随意赞赏