受欢迎的博客标签

frp内网穿透:FRP加速流畅访问国外远程桌面3389

Published

利用frp内网穿透kcp模式做跳板,加速流畅访问远程桌面3389

原因分析


一些国外VPS因地理遥远,延迟高等因素,使用windows 3389访问卡慢,又没有什么单向软件能让本地3389变成增强TCP发包模式,以改善访问的流畅度。

原理

使用frp的内网穿透,kcp模式,原理:

国外VPS用frpc客户端对3389穿透使用kcp模式,转发数据到frps服务端。然后frps服务端往返协议传输给终端用户。

跳板,当然就是找台国内VPS,或者新加坡/香港的低延迟当中继,用来搭建frp服务端。宽带没啥要求,用来访问3389 1M都行。

KCP是一个快速可靠协议,能以比 TCP浪费10%-20%的带宽的代价,换取平均延迟降低 30%-40%,且最大延迟降低三倍的传输效果。

frp项目发布页 https://github.com/fatedier/frp/blob/master/README_zh.md

 

代理类型


frp 支持多种代理类型来适配不同的使用场景。

类型描述
tcp单纯的 TCP 端口映射,服务端会根据不同的端口路由到不同的内网服务。
udp单纯的 UDP 端口映射,服务端会根据不同的端口路由到不同的内网服务。
http针对 HTTP 应用定制了一些额外的功能,例如修改 Host Header,增加鉴权。
https针对 HTTPS 应用定制了一些额外的功能。
stcp安全的 TCP 内网代理,需要在被访问者和访问者的机器上都部署 frpc,不需要在服务端暴露端口。
sudp安全的 UDP 内网代理,需要在被访问者和访问者的机器上都部署 frpc,不需要在服务端暴露端口。
xtcp点对点内网穿透代理,功能同 stcp,但是流量不需要经过服务器中转。
tcpmux支持服务端 TCP 端口的多路复用,通过同一个端口访问不同的内网服务。

 

配置

服务端frps.ini配置

[common]
bind_addr = 0.0.0.0
bind_port = 7000
kcp_bind_port = 7000
bind_udp_port = 7001
token = password
tcp_mux=true
heartbeat_timeout = 90
authentication_timeout = 900

注意服务端和客户端机器的时间是否为一致。
7000和7001端口开放tcp和udp,KCP模式是通过UDP发包的。

客户端frpc.ini配置

[common]
server_addr = 服务端IP
server_port = 7000
protocol = kcp
token = password
 
[3389]
type = tcp
local_port = 3389
remote_port = 13389
local_ip = 127.0.0.1

local_port 为监听本地端口
remote_port  为绑定远程端口

最后就是通过服务端IP,和绑定的远程端口,进行访问3389远程桌面,即可访问到穿透机器。
两边的参数就是这样,使用前还是建议去frp官方了解下参数,以避免因不懂参数定义而导致运行失败。