-
STCP:提供安全的 TCP 内网代理,要求在被访问者和访问者的机器上都部署 frpc,不需要在服务端暴露端口。
-
XTCP:点对点内网穿透代理,与 STCP 类似,但流量不需要经过服务器中转。
-
Fallback:Fallback 机制是一种回退机制,当XTCP打洞失败时,回退到STCP建立连接,确保服务可用性。
下面以windows远程桌面的3389端口配置,配置STCP、XTCP及启用Fallback机制
一、服务器配置
# 服务器端口
bindPort = 7000
# 权限认证
auth.method = "token"
auth.token = "123455"
二、被连接客户端配置
# 服务器域名端口
serverAddr = "服务器域名或公网IP"
serverPort = 7000
# 权限认证
auth.method = "token"
auth.token = "123455"
# stcp 协议配置
[[proxies]]
name = "stcp_desktop"
type = "stcp"
secretKey = "123456"
localIP = "127.0.0.1"
localPort = 3389
# 加密压缩传输内容
transport.useEncryption = true
transport.useCompression = true
# xtcp 协议配置
[[proxies]]
name = "xtcp_desktop"
type = "xtcp"
secretKey = "123456"
localIP = "127.0.0.1"
localPort = 3389
# 加密压缩传输内容
transport.useEncryption = true
transport.useCompression = true
三、发起连接的客户端
# 服务器域名端口
serverAddr = "服务器域名或公网IP"
serverPort = 7000
# 权限认证
auth.method = "token"
auth.token = "123455"
# stcp 协议配置
[[visitors]]
name = "stcp_desktop_visitor"
type = "stcp"
# 被连接客户端配置的stcp name
serverName = "stcp_desktop"
secretKey = "123456"
# stcp-visitor 的 bindPort 设置为 -1 表示不需要监听物理端口,只接受 fallback 的连接即可。
# 若不配置fallback,bindPort配置为本地监听端口
bindPort = -1
# 加密压缩传输内容
transport.useEncryption = true
transport.useCompression = true
# xtcp 协议配置
[[visitors]]
name = "xtcp_desktop_visitor"
type = "xtcp"
# 被连接客户端配置的 xtcp name
serverName = "xtcp_desktop"
secretKey = "123456"
bindAddr = "127.0.0.1"
# 发起连接的客户端电脑的23389端口远程桌面链接到被连接客户端电脑3389端口电脑
bindPort = 23389
# 加密压缩传输内容
transport.useEncryption = true
transport.useCompression = true
# 配置了 keepTunnelOpen = true 时,frpc 会定期检测隧道是否打开,如果没有,则会尝试打洞建立隧道,这样可以始终保持隧道打开,在需要连接对端服务时,可以避免延迟。
keepTunnelOpen = true
# 如果 xtcp 打洞失败,则使用 stcp 进行链接,fallbackTo = 上面的 stcp name
fallbackTo = "stcp_desktop_visitor"
# 打洞超过时间,1000ms还未成功的话,会回退到使用 stcp_desktop_visitor 建立连接。
fallbackTimeoutMs = 1000
四、测试
在发起连接的客户端的电脑上,打开mstsc远程客户端
评论区