gost 2.1远程端口转发功能的使用说明

960 views
Skip to first unread message

Rain Zen

unread,
Sep 6, 2016, 9:31:55 AM9/6/16
to go-gost
前一个帖子介绍了本地端口转发的使用,这里就再说说远程端口转发的使用。

gost远程端口转发的功能类似于ssh中-R参数的功能,与本地端口转发一样,也支持UDP和转发链。

还是用之前的场景:
假设有三台机器:local_host, proxy_host, remote_host

local_host可以访问proxy_host和remote_host
proxy_host无法访问local_host和remote_host
remote_host可以访问local_host

proxy_host <- local_host <-> remote_host

注意proxy_host与local_host是单通的,也就是说local_host在防火墙的后面。

TCP远程端口转发的使用:

我们想在proxy_host上用ssh登陆到remote_host上,在local_host上执行:

gost -L=rtcp://:2222/remote_host:22 -F=socks://proxy_host:1080

这里假设proxy_host上部署了gost socks5代理并监听在1080端口上。这样gost就会(通过转发链)连接到proxy_host,并让proxy_host监听TCP 2222端口,当我们使用ssh连接proxy_host的2222端口时,就相当于连接到了remote_host的22端口了:

$ ssh -p 2222 root@localhost


UDP远程端口转发的使用:

我们现在想在proxy_host上访问remote_host上的DNS服务,在local_host上执行:

gost -L=rudp://:5353/remote_host:53 -F=socks://proxy_host:1080

这里假设proxy_host上部署了gost socks5代理并监听在1080端口上。这样gost就会(通过转发链)连接到proxy_host,在proxy_host上监听UDP 5353端口,当我们向proxy_host:5353发送UDP数据,就相当于发送到了remote_host:53上了:

$ dig @localhost -p 5353 www.google.com

注意: TCP远程端口转发使用了socks5 bind协议,所以转发链的末端(最后一个-F参数)一定要是socks5类型;
UDP远程端口转发使用了UDP-over-TCP,所以转发链的末端(最后一个-F参数)一定要是gost socks5类型。


luxun

unread,
Sep 21, 2016, 3:29:54 AM9/21/16
to go-gost
支持http转发吗,想登录路由器怎么操作啊?

在 2016年9月6日星期二 UTC+8下午9:31:55,Rain Zen写道:

Rain Zen

unread,
Sep 21, 2016, 9:29:32 PM9/21/16
to go-gost
rtcp目前对http的支持很有限,仅支持单个静态页面的访问,后面会增加http2.0通道,或许可以满足你的需求。


在 2016年9月21日星期三 UTC+8下午3:29:54,luxun写道:

luxun

unread,
Sep 22, 2016, 3:12:22 AM9/22/16
to go-gost
期待啊

Rain Zen

unread,
Oct 9, 2016, 1:19:52 AM10/9/16
to go-gost
@luxun,可以参考 https://groups.google.com/forum/#!topic/go-gost/ouzBXF0Fqk8

在 2016年9月22日星期四 UTC+8下午3:12:22,luxun写道:
期待啊

fly...@gmail.com

unread,
Nov 28, 2017, 12:12:54 AM11/28/17
to go-gost
这个gost -L=rudp://:5353/remote_host:53 -F=socks://proxy_host:1080 我加了ping   路由器断开后这个还是没有反应,一起在连接状态,但是服务端已经断开了。

fly...@gmail.com

unread,
Nov 28, 2017, 12:57:45 AM11/28/17
to go-gost
我翻看了你的其它回复,建议使用ssh来做远程转发。这个ssh要怎么做登录认证呢。能不能兼容其它现有的ssh服务器?

ginuerzh

unread,
Nov 28, 2017, 1:23:50 AM11/28/17
to go-gost
GOST中UDP远程端口转发是通过SOCKS5协议的扩展实现的,并使用UDP over TCP方式传输,当前不支持心跳功能,所以当中间网络断开时,客户端可能无法及时感知。
原生SSH只能用来做TCP端口转发,无法用于UDP端口转发。

在 2017年11月28日星期二 UTC+8下午1:57:45,fly...@gmail.com写道:
我翻看了你的其它回复,建议使用ssh来做远程转发。这个ssh要怎么做登录认证呢。能不能兼容其它现有的ssh服务器?

fly...@gmail.com

unread,
Nov 28, 2017, 3:31:27 AM11/28/17
to go-gost
这个ssh要怎么做登录认证呢,gost这个ssh服务也应该需要用户名密码的么
在 2017年11月28日星期二 UTC+8下午2:23:50,ginuerzh写道:

fly...@gmail.com

unread,
Nov 28, 2017, 3:54:49 AM11/28/17
to go-gost
看了代码认证跟socks5是一样的。国内开源软件的通病,文档不详细。

在 2017年11月28日星期二 UTC+8下午4:31:27,fly...@gmail.com写道:
Reply all
Reply to author
Forward
0 new messages