说明

rathole在建立连接后会创建数据通道,这需要多个端口建立连接。 在国内的网络环境中,这些端口很可能被本地运营商切断,导致出现连接不稳定等问题。

frp只需要使用 7000 端口进行数据传输,连接更加稳定。 并且使用frptcp连接一样可以达到rathole的效果,即在服务器端使用nginx反向代理。

结构

在服务器端包括:

  1. nginx反向代理,处理子域名和https

  2. frps穿透暴露内网端口。

在客户端包括:

  1. frpc穿透暴露内网端口,使用tcp连接。

因为公开的免费frp服务器不会给个人提供反向代理等功能,所以只介绍用http连接的方式,这不适用于其他tcp协议,所以需要有自己的frp服务器。

安全性

  • 使用token对客户端鉴权。

  • 使用加密和压缩

# frpc.ini
[ssh]
type = tcp
local_port = 22
remote_port = 6000
use_encryption = true
use_compression = true

  • 或者使用tls双向验证,需要自己生成tls证书。

参考