问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

内网穿透:如何借助Cloudflare连接没有公网的电脑的远程桌面(RDP)

创作时间:
作者:
@小白创作中心

内网穿透:如何借助Cloudflare连接没有公网的电脑的远程桌面(RDP)

引用
CSDN
1.
https://blog.csdn.net/Tisfy/article/details/143114828

在没有公网IP的情况下,如何实现远程桌面连接?本文将详细介绍如何借助Cloudflare的零信任隧道(Zero Trust Tunnel)服务,实现内网穿透,从而通过远程桌面协议(RDP)连接到没有公网IP的电脑。

远程桌面协议(RDP, Remote Desktop Protocol)是Windows系统(家庭版除外)自带的远程桌面连接功能,无需安装额外客户端即可实现远程桌面访问与控制。但是,如果被控制的电脑没有公网IP且不在同一个局域网中,该如何使用这个协议进行远程连接呢?本文将介绍如何借助Cloudflare的零信任隧道服务实现这一需求。

准备工作

  • 需要有两台电脑:一台配置好远程桌面用于被远程访问,另一台用于连接这台电脑。
  • 需要注册Cloudflare账号并绑定一个域名。

操作步骤

  1. 进入Cloudflare零信任控制台

    打开Cloudflare控制台,依次进入ZeroTrust -> Networks -> Tunnels

  2. 新建Tunnel

    点击Create Tunnel,选择Select Cloudflared,给隧道起个名字,然后保存。

  3. 下载并安装cloudflared客户端

    在两台电脑上都下载并安装cloudflared客户端,并复制命令行代码。

  4. 在被控制的电脑上运行命令

    打开命令提示符(以管理员身份运行),输入刚才复制的命令。配置成功后应该能在Connectors列表中看到一个“连接者”。

  5. 配置域名(外网访问与内网映射规则)

    点击网页上的Next,选择一个域名,协议选择RDP,URL输入localhost://3389(因为rdp默认端口是3389),然后保存隧道。

  6. 在控制者电脑上进行远程连接

    打开命令提示符,输入命令:

    cloudflared.exe access rdp --hostname test.letmefly.xyz --url rdp://localhost:1234
    

    然后使用mstsc连接localhost:3089,输入用户名和密码完成远程连接。

原理解释

  • 整体原理

    被控制电脑没有公网IP也没有处于控制者电脑所在局域网中,控制者电脑想要连接它但是访问不到它。但是Cloudflare有公网IP,因此被控制电脑要安装cloudflared客户端并输入命令,其实是被控制电脑与cloudflare服务器建立了一个持久性连接(隧道)。控制者电脑访问配置的域名,流量到达cloudflare服务器,借助cloudflare服务器实现与被控制者的通信。

  • 新建Tunnel的作用

    新建Tunnel就是新建一个cloudflare与被控制者之间的“隧道”,二者通过“隧道”保持持久化连接。

  • 被控制者电脑为何要安装cloudflared客户端并输入命令

    安装客户端是为了建立与cloudflare服务器之间的隧道。那串命令是为了让cloudflare服务器知道这台电脑要连接哪个隧道。

  • 配置域名规则的作用

    配置了访问规则,cloudflare才知道流量到来时如何转发、通过哪个隧道以及什么规则转发给哪个机器。例如,配置中SubdomaintestDomainletmefly.xyzTypeRDPURLlocalhost:3389。因此在控制者电脑上使用RDP协议访问test.letmefly.xyz时,流量会被转发到被控制者的localhost:3389上。

  • 访问者电脑上的配置

    访问者电脑上输入的命令相当于把对localhost:1234的RDP访问转发到test.letmefly.xyz上,因此mstsc后输入localhost:1234流量就可以被转发到test.letmefly.xyz然后被通过隧道转发到被控制机器的localhost:3389上,从而实现远程桌面连接。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号