用gost实现远程端口映射rtcp

Gost是一个强大的隧道工具,能实现类似FRP的反向连接功能。本文介绍了如何通过Gost进行远程端口映射,将内网服务暴露到公网,例如将HostB的SSH服务通过HostA和Server的配合映射到公网。方法包括使用socks5和relay协议,但注意Gost的单连接模式在高并发下可能表现不佳。
摘要由CSDN通过智能技术生成

gost 是一个非常优秀的tunnel. 支持多种形式的端口映射。

与FRP类似,它也可以实现反向连接的隧道。

本文只介绍远程端口映射方式的tunnel.  就是所谓的rtcp

远程端口映射的意思就是,将本地端的一个服务的端口A(tcp/udp)映射到远程公网主机的端口P上, 用户通过访问远程的端口P来访问本地的这个服务端口A。

一个典型的应用场景就是内网穿透的场景。如下图所示:

server用VPS实现,可以提供公网访问

host A和host B处于内网中,没有公网IP地址,要想让外部的人员可以访问内网中的host B上的ssh服务( :22端口),在host A上通过gost 将host B的22端口映射到远程 server上的2222端口上。

 下面我们来看具体的实现:

gost 采用gost 的v3版本来做。

下载地址: Releases · go-gost/gost · GitHub

# server

./gost -L socks5://:5555?bind=true

# host A

./gost -L rtcp://:2222/hostB_IP:22   -F socks5://server_IP:5555

相关文档位于:

SOCKSv4/v5 - GOSTicon-default.png?t=N7T8https://gost.run/tutorials/protocols/socks/

用relay也是可以的,参考gost的文档

Relay - GOSTicon-default.png?t=N7T8https://gost.run/tutorials/protocols/relay/

# server

./gost -L relay://:5555?bind=true

# host A

./gost -L rtcp://:2222/hostB_IP:22   -F relay://server_IP:5555

需要注意的是,gost提供的这个反向连接是单连接的,没有Mux功能,所以在多个连接同时访问时,并发性能并不好。不过日常用用是没有问题的。

作为服务器提供对外服务可能会出现卡顿。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路边闲人2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值