怎么使用Cloudflare实现内网穿透


You
You 2024-01-08 20:24:36 65465 赞同 0 反对 0
分类: 资源
除了使用FRP部署内网穿透和使用ssh执行端口转发和内网穿透外,在没有云服务器的情况下,也可以使用 Cloudflare免费的Zero Trust实现内网穿透服务。 在此之前,需要满足以下条件: 首先需要注册 Cloudflare 的账号。 购买一个域名。 在域名服务商网站上将 NameServer 修改为 Cloudflare 服务器。以 namesilo 为例如下:

除了使用FRP部署内网穿透和使用ssh执行端口转发和内网穿透外,在没有云服务器的情况下,也可以使用 Cloudflare免费的Zero Trust实现内网穿透服务。

在此之前,需要满足以下条件:

  • 首先需要注册 Cloudflare 的账号。
  • 购买一个域名。
  • 在域名服务商网站上将 NameServer 修改为 Cloudflare 服务器。以 namesilo 为例如下:

图片[1]-怎么使用Cloudflare实现内网穿透-不念博客

  • 在 Cloudflare 上添加域名的 DNS。
  • 本地服务器上需要安装 Cloudflare 的服务。在 Linux 中,可以选择用 Docker 或者直接安装。

Docker安装

Docker 安装可用于有 root 权限的服务器,配置比较方便。

  • 进入 Cloudflare 的 Zero Trust,并创建一个 tunnel。

图片[2]-怎么使用Cloudflare实现内网穿透-不念博客

  • 给 tunnel 起名,选择 Docker,复制以下命令并创建 Cloudflare 容器。

图片[3]-怎么使用Cloudflare实现内网穿透-不念博客

无root权限安装

没有 root 权限下,可按照以下步骤安装。以 red hat 系统为例。

  • 下载 Cloudflare 的 RPM 包。
curl -L --output cloudflared.rpm https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-x86_64.rpm
  • 使用 rpm2cpio 将 RPM 包解压到指定位置。
mkdir ~/.cloudflared
rpm2cpio ~/cloudflared.rpm | cpio -idv
  • 将 Cloudflare 添加环境变量,查看是否安装完成。
.cloudflared.exe --version
  • 登录 Cloudflare。
cloudflared tunnel login

这条命令会打开一个浏览器窗口, 并提示登录。它会在默认的 ~/.cloudflared 目录中生成一个账户证书,即 cert.pem 文件。

在安装 Cloudflare 后,开始部署内网穿透服务。

  • 创建一个隧道。给需要创建穿透服务创建 DNS 解析。
cloudflared tunnel create <NAME>

其中 <NAME> 是为隧道选择的名称。这个命令会创建一个隧道,并在您提供的名称和隧道的 UUID 之间建立持久的关系。

创建之后出现以下提示:

Tunnel credentials written to /home/wang/.cloudflared/2248485f-e727-4532-91d0-4f35904c88e5.json.
cloudflared chose this file based on where your origin certificate was found. Keep this file secret. To revoke these credentials, delete the tunnel.

这样会在 .cloudflared 目录中生成一个隧道凭证文件 *.json 子域名。

  • 创建 DNS 解析。
cloudflared tunnel route dns <HOME> service1.example.com
cloudflared tunnel route dns <HOME> service2.example.com
...
  • 在 ~/.cloudflared 里新建一个 config.yml。编辑文件为:
tunnel: 2248485f-e727-4532-91d0-4f35904c88e5
credentials-file: /home/wang/.cloudflared/2248485f-e727-4532-91d0-4f35904c88e5.json
ingress:
  - hostname: service1.example.com
    service: http://localhost:8080
  - hostname: service2.example.com
    service: http://localhost:8096
  - service: http_status:404
  • 运行 tunnel。
cloudflared tunnel run <NAME>

如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!

评价 0 条
YouL0
粉丝 0 资源 386 + 关注 私信
最近热门资源
银河麒麟桌面操作系统V10SP1-2403-update1版本中,通过“麒麟管家-设备管理-硬件信息-硬盘”查看硬盘类型时,显示的是HDD(机械硬盘),而实际上该笔记本的硬盘类型为SSD  81
以openkylin为例编译安装内核  77
分享解决宏碁电脑关机时自动重启的方法  73
统信uosboot区分未挂载导致更新备份失败  63
分享如何解决报错:归档 xxx.deb 对成员 control.tar.zst 使用了未知的压缩,放弃操作  63
统信uos安装mysql的实例参考  60
格之格打印机dp3300系列国产系统uos打印机驱动选择  57
在银河麒麟高级服务器操作系统V10SP3中,需要将默认shell类型修改为csh。  51
MySQL国产平替最佳选择---万里数据库(GreatDB)  45
最近下载排行榜
银河麒麟桌面操作系统V10SP1-2403-update1版本中,通过“麒麟管家-设备管理-硬件信息-硬盘”查看硬盘类型时,显示的是HDD(机械硬盘),而实际上该笔记本的硬盘类型为SSD 0
以openkylin为例编译安装内核 0
分享解决宏碁电脑关机时自动重启的方法 0
统信uosboot区分未挂载导致更新备份失败 0
分享如何解决报错:归档 xxx.deb 对成员 control.tar.zst 使用了未知的压缩,放弃操作 0
统信uos安装mysql的实例参考 0
格之格打印机dp3300系列国产系统uos打印机驱动选择 0
在银河麒麟高级服务器操作系统V10SP3中,需要将默认shell类型修改为csh。 0
MySQL国产平替最佳选择---万里数据库(GreatDB) 0
作者收入月榜
1

prtyaa 收益400.83元

2

zlj141319 收益237.91元

3

哆啦漫漫喵 收益231.52元

4

IT-feng 收益219.92元

5

1843880570 收益214.2元

6

风晓 收益208.24元

7

777 收益173.17元

8

Fhawking 收益106.6元

9

信创来了 收益106.03元

10

克里斯蒂亚诺诺 收益91.08元

请使用微信扫码

添加我为好友,拉您入交流群!

请使用微信扫一扫!