gost 2.1本地端口转发功能的使用说明¶
原文地址:https://groups.google.com/g/go-gost/c/_Bn0oDKants。
2.1版本正在开发中,主要增加端口转发功能,这里主要说一下本地端口转发的使用。
gost的本地端口转发功能类似于ssh中 -L参数的功能(ssh端口转发的使用可以参考这篇文章),而与ssh的区别在于:
- gost支持UDP端口的转发。
- gost支持通过转发链进行端口转发。
假设有三台机器:local_host, proxy_host, remote_host
-
local_host就是本地我们正在使用的主机,可以访问proxy_host但不能直接访问remote_host,
-
proxy_host为代理主机,可以访问local_host和remote_host,
-
remote_host为远程的一台主机,与proxy_host连通。
local_host <-> proxy_host <-> remote_host
先说说TCP端口转发的使用:
我们想在local_host上用ssh登录到remote_host上(22端口)就可以使用本地端口转发功能了:
这里假设proxy_host上部署了http代理并监听在8080端口上。
然后在local_host执行:
就可以登录到remote_host上了。
再来看看UDP端口转发的使用:
还是上面的场景,现在想访问remote_host上的UDP 53端口,也就是DNS服务:
这里假设proxy_host上部署了gost socks5代理并监听在1080端口上。
然后在local_host上执行:
此时就相当于访问到remote_host的UDP 53端口。
注意: UDP的端口转发使用了UDP-over-TCP,所以转发链的末端(最后一个-F参数)一定要是gost socks5类型。