ginuerzh / gost

GO Simple Tunnel - a simple tunnel written in golang
MIT License
15.57k stars 2.44k forks source link

请问gost如何用来做内网穿透 #745

Closed nswjming closed 2 years ago

nswjming commented 2 years ago

两内网client 10.80.0.122 ,192.168.217.128 外网中继服务器10.80.5.244 gost怎么配置可以实现内网穿透让两内网进行通信

brianler commented 2 years ago

你需要有一个公网ip的机器作为服务端,才可以让你两内网的机器通讯。

nswjming commented 2 years ago

你需要有一个公网ip的机器作为服务端,才可以让你两内网的机器通讯。

我是用内网机器模拟的外网,10.80.0.122,192.168.217.128都可以访问到10.80.5.244,但10.80.5.244不能访问这两台内网机器。所以想用10.80.5.244作为中继的服务端。在这种情况下,请问服务端和客户端都应该怎样配置啊,谢谢了。

brianler commented 2 years ago

机器(10.80.5.244)运行:gost -L socks5://:2345 (意思是,建立端口为2345的gost服务端)

假如你有一个网站建立在机器(192.168.217.128)上,端口是5000.

机器(192.168.217.128)运行:gost -L rtcp://:8080/:5000 -F socks5://10.80.5.244:2345 (意思是,将机器192.168.217.128端口5000绑定到机器10.80.5.244端口8080上)

这时机器(10.80.0.122)访问机器(10.80.5.244)的8080端口,就是访问机器(192.168.217.128)的5000端口。这样就完成两台内网机器相互访问了。

nswjming commented 2 years ago

机器(10.80.5.244)运行:gost -L socks5://:2345 (意思是,建立端口为2345的gost服务端)

假如你有一个网站建立在机器(192.168.217.128)上,端口是5000.

机器(192.168.217.128)运行:gost -L rtcp://:8080/:5000 -F socks5://10.80.5.244:2345 (意思是,将机器192.168.217.128端口5000绑定到机器10.80.5.244端口8080上)

这时机器(10.80.0.122)访问机器(10.80.5.244)的8080端口,就是访问机器(192.168.217.128)的5000端口。这样就完成两台内网机器相互访问了。

谢谢,按你这样配置后确实可以了。gost还支持udp转发和quic转发,是不是在客户端和服务端改一下启动协议就可以了?

brianler commented 2 years ago

是的。

quic转发: gost -L socks5://:2345 改为gost -L quic://:2345

tcp、udp同时转发: gost -L rtcp://:8080/:5000 -L rudp://:8080/:5000 -F socks5://10.80.5.244:2345

gxlonline commented 2 years ago

@brianler 同时支持tcp和udp,请问是否可以这样写?

公网主机 gost -L :2345

内网电脑 gost -L rtcp://:8080/:5000 -L rudp://:8080/:5000 -F socks5://10.80.5.244:2345

这样就可以向 10.80.5.244:8080 同时发送tcp和udp请求。