前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Cloudflare的cloudflared进行内网穿透RDP

使用Cloudflare的cloudflared进行内网穿透RDP

作者头像
繁华是客
发布2024-09-22 13:37:31
1580
发布2024-09-22 13:37:31
举报
文章被收录于专栏:鱼的爱情看不出泪水

使用Cloudflare Zero Trust部署内网穿透有两种方法:一种是通过网络浏览器到官网dashboard配置,一种是下载了cloudflared.exe后通过命令本地配置。

官网dashboard配置 (在线管理)

RDP configure ericddemo

需要注意的是,被控端和控制端都需要安装cloudflared。

配置Tunnel

直接找到Network –> Tunnel配置即可。 然后在被控端,根据选择的操作系统,命令提示输入自启动守护进程。

代码语言:javascript
复制
cloudflared service install xxxx-特别长的token-xxxxx

配置 Public Hostname及端口

因为被控端默认端口是3389,并没有修改,故而这里的端口填写3389。 rdp://localhost:3389

配置Access Group

添加可访问组,找到Access–> Access Group并命名为TestGroup。 里面的规则为Email, 然后输入你自己的邮箱。 这样当访问的时候,跳出让你输入邮箱并输入获得的验证码来验证。

配置Application

找到Access–> Applications 添加新的应用,例如名字是RDP, URL是rdp.example.com。 选择SELF-HOSTED。 然后在Polocies添加一个新的Policy, 并命名为AllowList。 在AllowList内Assign a group 添加默认访问组,也就是上一步添加的TestGroup。这样他的验证方式就是通过邮箱验证。

控制端命令

代码语言:javascript
复制
# 如果本地3389被占用则选择其他端口, 如果没占用可以直接使用3389
cloudflared access rdp --hostname rdp.example.com --url rdp://localhost:13389

cloudflared本地配置

cloudflared 配置RDP教程 cloudflared 官网命令大全

本地配置是需要创建config.yml在本地cloudflared目录上。并且需要手动设置自启动 而dashboard配置(在线管理),则只需要使用cloudflared service install xxxx-特别长的token-xxxxx即可。

被控端电脑配置

如果下载的是msi版,则自动设置环境变量已经安装到默认目录 C:\Program Files (x86)\cloudflared 如果直接下载exe版则需要做如下动作:

  1. 将下载好的可执行文件(cloudflared-windows-amd64.exe) 复制到自己定义的目录并改短名称为(cloudflared.exe),方便操作。
  2. 同时建议设置好path环境变量。

在当前目录打开 cmd 窗口,输入如下命令进行登录验证,会自动打开游览器进行登录

代码语言:javascript
复制
cloudflared login

创建隧道,随意自定义名称

代码语言:javascript
复制
# cloudflared.exe tunnel create <NAME>
cloudflared.exe tunnel create RDP_TO_HOME

配置 DNS 记录,就是上一步创建的隧道名称

代码语言:javascript
复制
cloudflared.exe tunnel route dns <NAME> rdp2.example.com

在 cloudflared.exe 同级目录创建一个 config.yml 文件,内容如下:

代码语言:javascript
复制
# 隧道的 UUID, 就是登录凭证的json文件名称
tunnel: xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
# 鉴权文件的全路径,注意替换为自己的
credentials-file: C:\Users\%USERNAME%\.cloudflared\xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx.json

ingress:
  # 你的freenom二级域名
  - hostname: diy.domain.cf
    service: rdp://localhost:3389
  # 默认错误404
  - service: http_status:404

验证连接情况

被控端输入如下命令,注意替换配置文件路径

代码语言:javascript
复制
# 默认是在 config=C:\Program Files (86)\cloudflared\config.yml
cloudflared --config=D:\Config\config.yaml tunnel run

然后控制端输入如下

代码语言:javascript
复制
cloudflared access rdp --hostname rdp2.example.com --url rdp://localhost:3389

开机自启

配置开机自启 需要注册成Windows服务,自动启动滴!

首先 以管理员身份打开 cmd, 进入cloudflared.exe所在目录,执行如下命令,注册成服务

代码语言:javascript
复制
cloudflared service install

打开注册表(regedit.exe),在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 找到 Cloudflared 将 ImagePath 修改为 D:\Config\cloudflared.exe –config=D:\Config\config.yaml tunnel run 注意替换自己路径

再打开Windows服务(services.msc),找到 cloudflared agent 右键 重新启动。自启就配置完成啦!!!

(拓展阅读) 添加其他应用

如果我们想在该隧道添加其他应用,只需在Tunnel内添加好Application以及Public Hostname即可。 需要注意的是,如果你的应用SSL是自签名,默认设置则会导致502错误。需要在编辑Public Hostname的时候找到Additional application settings –> TLS并启用No TLS Verify。

这样你的VMware ESXi / OpenWrt等应用即可通过互联网利用邮箱验证的方式访问。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-09-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 官网dashboard配置 (在线管理)
    • 配置Tunnel
      • 配置 Public Hostname及端口
        • 配置Access Group
          • 配置Application
            • 控制端命令
            • cloudflared本地配置
              • 被控端电脑配置
                • 验证连接情况
                  • 开机自启
                  • (拓展阅读) 添加其他应用
                  相关产品与服务
                  验证码
                  腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档