【cloudflare-tunnels】0-1.使用tunnels隧道免费计划进行内网穿透

一、前言

(一)浏览前注意事项

需要先注册好cloudflare账户,然后购买个顶级域名。

(二)前置条件

需要满足一下两个条件

  • 需要注册cloudflare账户

  • 需要一个可用的域名

二、详细步骤

(一)配置被控端(二选一)

配置被控制端cloudflare提供了两种方式,一个是在cloudflare面板里面创建隧道,一个是本地下载cloudflared客户端再用命令创建隧道

1.在cloudflare面板里面创建隧道

(1)登录cloudflare面板-在右侧菜单进入zero trust

https://dash.cloudflare.com/icon-default.png?t=N7T8https://dash.cloudflare.com/

(2)在Zero trust面板选择Access--Tunnels(没有创建计划的话就按照官方指引创建一个免费的plan),如下图

(3)按指引创建一个Tunnels即可(可以创建多个Tunnels,按设备创建,因为每个Tunnels都要在设备商运行一个守护进程),如下图

(4)选择需要内网穿透的设备对应的平台,按官方指引下载程序,并执行绑定,Docker版的则下载镜像后运行容器即可,如下图

(5)在这里就可以配置映射了,然后保存即可

配置的域名很重要,记住,在配置控制端要用到

(6)查看设置情况,有需要修改的或者新的应用需要添加的可以直接改,如下图

(7)设备下载cloudflared,然后按指引运行,这里以windows为例

点击链接下载,管理员模式运行cmd,执行命令,回到第六步的界面看状态Healthy就是成功了

cloudflared.exe service install eyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

到这一步就结束了

2.本地下载cloudflared客户端再用命令创建隧道

(1)下面任意一个地址下载cloudflared客户端,选择对应平台和版本安装

Downloads · Cloudflare Zero Trust docsCloudflare Tunnel requires the installation of a lightweight server-side daemon, cloudflared, to connect your infrastructure to Cloudflare. If you are …icon-default.png?t=N7T8https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/或者

Releases · cloudflare/cloudflared · GitHubCloudflare Tunnel client (formerly Argo Tunnel). Contribute to cloudflare/cloudflared development by creating an account on GitHub.icon-default.png?t=N7T8https://github.com/cloudflare/cloudflared/releases

(2)执行命令,以windows为例,在管理员模式的CMD执行(下载的cloudflared建议重命名成简短的名字)
# 0. cd到cloudflared下载地址文件夹
cd <cloudflared所在地址路径>

# 1. 登录到账号
cloudflared.exe login

# 2. 创建隧道
cloudflared.exe tunnel create <NAME>

# 3. 手动运行
cloudflared.exe tunnel --hostname <域名> --url rdp://127.0.0.1:3389

##这里的 --url 参数为 service URL,用于指定要代理的服务,格式为 <协议头>://<IP>:<端口>
# RDP
rdp://127.0.0.1:3389
# TCP
tcp://127.0.0.1:554
# HTTP
http://127.0.0.1:80
# Minecraft
tcp://localhost:25565
# MySQL
tcp://localhost:3306
# SSH
ssh://localhost:22

顶级域名要提前托管在cloudflare中

设置的域名很重要,记住,在配置控制端要用到

(二)配置控制端

1.客户端比较简单,同样下载cloudflared客户端,再运行命令即可

下载后,执行命令,这里以windows为例

cloudflared.exe access rdp --hostname <域名> --url localhost:<映射至本地的端口>

到这样就是可用了

随后,在 RDP 客户端(例如windows的远程桌面)中填写 localhost:<本地端口> 即可访问到远程桌面了。

注意:如果此处端口使用 3389,Windows 自带的 RDP 客户端会阻止连接。

  1. 访问 127.0.0.2,它其实是 127.0.0.1 的另一个别名。
  2. 换一个端口。
  3. 使用兼容性设置,让 mstsc.exe 以另一个系统环境运行。

最后编辑于2023/11/14

### 使用 CloudFlare 进行内网穿透的配置教程 #### 一、准备工作 为了使其他用户能够通过公网访问内部网络的服务,需先准备好一个属于自己的域名。此域名用于指向CloudFlare提供的DNS服务器。 #### 二、购买并设置域名 前往任意支持CloudFlare DNS管理的注册商处购买域名,并按照指示将该域名下的DNS解析服务切换至由CloudFlare提供[^4]。 #### 三、创建隧道 登录到CloudFlare账户,在仪表板中找到对应站点后点击进入详情页面。接着选择“Tunnel”选项卡来新建一条隧道记录。这一步骤实际上是在CloudFlare平台上建立了一条通往目标机器的安全通道。 #### 四、安装与启动客户端软件 从官方渠道获取适用于操作系统的命令行工具`cloudflared`,它负责维持本地计算机同远端之间的稳定连接。对于Windows平台而言,可执行文件通常命名为`cloudflared.exe`; 对于Linux或macOS,则直接名为`cloudflared`. 将其放置在一个易于调用的位置之后,打开终端窗口输入如下指令完成初步认证过程: ```bash cloudflared tunnel login ``` 上述命令会引导浏览器跳转至特定网页以确认身份合法性,随后自动下载必要的证书材料保存在指定路径下以便后续步骤使用. #### 五、关联隧道与应用实例 再次利用`cloudflared`提交HTTP(S)流量映射请求给定名称的现有隧道资源上: ```bash cloudflared tunnel route ingress <tunnel-name> \ --hostname www.example.com "http://localhost:80" ``` 这里假设希望把来自互联网针对子域`www.example.com`的一切入站请求都导向本机监听着标准Web端口(即TCP/80)上的简易静态页面展示程序. ---
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值