Skip to content

Cloudflare Tunnels 内网穿透

作用

  • 将内网的服务暴露到公网,类似内网穿透
  • 将非常规端口转发到 80/443 端口
  • 自动添加 SSL 证书

工作原理

在本地机器中运行 cloudflared,与 Cloudflared 云端通信,将云端请求转发到内网 IP + 端口

准备

  • 一个域名
  • 域名 DNS 托管在 Cloudflare
  • 内网有一台用于运行 cloudflared 的机器
  • 一张双币信用卡 或 一个绑定借记卡的 Paypal 账号

部署步骤

  1. 打开 Cloudflare Zero Trust 工作台

  2. 创建 Cloudflare Zero Trust,选择免费计划

  3. 添加付款方式,可以输入双币信用卡,若没有,可以在 Payment method 右侧选择 Paypal (必须直连)

  4. 在 Tunnels 中创建一个 Tunnel,名字可以随意填写

    tunnel1

  5. 一般在内网 Linux 中部署选择 Docker 较为方便

    tunnel2

  6. 由于官方提供的部署命令没有给容器增加名称与后台运行功能,因此可以使用以下命令进行部署 (最后加上自己的 token)

    bash
    docker run --name cloudflared -d --restart=unless-stopped cloudflare/cloudflared:latest tunnel --no-autoupdate run --token
  7. 容器部署成功后,就可以在给 Tunnel 添加 Public hostname

    • Domain 选择托管在 Cloudflare 的主域名
    • Subdomin 为需要访问的子域名
    • Type 内网服务一般选择 HTTP
    • URL 填写内网 IP + 端口

    tunnel3

参考资料