Couldflare Tunnel穿透远程桌面服务(RDP)

对于外网用户,该方案免费且网络延迟很低,适合长期使用
国内可能连接状况波动较大
{: .prompt-tip }

0.前置条件

  • 国外支付方式 (信用卡/paypal)
  • 域名

1. 注册

https://one.dash.cloudflare.com/

选择免费($0)Plan,使用信用卡注册,验证信用卡用时比较长。

2. 域名

进入 https://dash.cloudflare.com/

对于在Cloudflare注册了域名的,进入第3步。

image

大部分没有在Cloudflare注册过域名的,使用Cloudflare免费托管DNS。

在左侧“网站”菜单

image

点击“添加站点”

image

输入域名后,选择免费Plan

Cloudflare会给两个Nameserver,在域名服务商那里将域名的DNS服务器改成Cloudflare的Nameserver(比如 阿里云设置dns

注册完成后等待1小时左右,直到Cloudflare显示完成,网站在列表中出现:

image

3. 设置Tunnel

左侧菜单选择 Zero Trust > Access > Tunnel

image

点击 Create a tunnel

image

根据提示,下载对应平台的cloudflared,并且执行命令来注册服务。

image

命令类似

cloudflared.exe service install eyJKLHJiohsdifhalkjij8789aflkfj9wefj9zYzYzZGQiLCJ0IjoiNjc5YWNmMzQtYzY2NS00OTQ2LTllMDgtNWVjMjk4M2I4ZDEzIiwicyI6IlpXVTJOVEZoTURBdFl6WXpNUzAwT1RObExUazRNVFF0WlRKalpXWTFNakkyT1RVMiJ9

Arch用户可以使用AUR中的cloudflared

注意客户端和服务端(Tunnel连接的两个设备)都要安装cloudflared

windows中cloudflared.exe会注册服务自动启动,并且修改该Tunnel配置后不需要重新注册。

填写域名和服务地址:

image

其中domain栏会出现Cloudflare“网站”或者“域注册”中已有的域名,subdomain随意。

rdp://localhost:3389

表示把本地RDP默认端口 3389 连接到Tunnel。

至此Tunnel设置完成,Tunnel列表中显示HEALTHY就表示已经连接并且网络良好,如图
image

4. 连接Tunnel

根据文档
在欲连接的设备上执行

cloudflared access rdp --hostname rdp.example.com --url rdp://localhost:3389

即将Tunnel(rdp.example.com)映射到本地3389端口,当然如果是windows则3389可能被占用,可以使用其他端口。

用RDP客户端连接到localhost:[端口]即可。
我在Arch上使用的是remmina客户端,功能强大、使用体验优秀,推荐。


ref

https://sspai.com/post/79278

https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/use-cases/rdp/#2-connect-as-a-user


Couldflare Tunnel穿透远程桌面服务(RDP)
https://yzzzf.xyz/2023/10/17/rdp-on-cloudflare-tunnel/
Author
Zifan Ying
Posted on
October 17, 2023
Licensed under