分類: vps

  • Cloudflare 搭建 内网穿透

    使用 Cloudflare Tunnel(原名 Argo Tunnel)进行内网穿透是一种完全免费、不限速、自带 HTTPS 证书且不需要公网 IP 的终极方案。 [1, 2]

    搭建方式主要分为两种:临时调试的快速隧道(无需注册)和长期稳定的固定域名隧道(通过网页控制台配置)。以下为您提供最常用的控制台可视化搭建(命名隧道)保姆级教程: [1]


    🛠️ 前置准备

    1. 拥有一个 Cloudflare 账号。
    2. 拥有一一个域名,并将 DNS 解析服务器修改/托管在 Cloudflare。
    3. 激活 Cloudflare Zero Trust 服务(选择 Free(免费)计划,根据提示绑定双币信用卡或 PayPal 用于反滥用验证,完全不会扣费)。 [1, 2, 3]

    1. 在 Cloudflare 控制台创建隧道

    1. 登录 Cloudflare Zero Trust 控制台。
    2. 在左侧菜单栏依次点击 Networks -> Tunnels,然后点击 Create a tunnel。
    3. 选择默认的 Cloudflared(推荐),点击 Next。
    4. 为你的隧道起一个名字(例如 Home-NAS),点击 Save tunnel。 [1, 2, 3]

    2. 在内网设备上安装客户端 (Choose your environment)

    系统会生成一个专属的安装命令,并附带一串很长的 token。根据你的内网设备系统选择执行: [1]

    🐳 Docker 方式(最推荐,全平台通用)

    直接复制网页上提供的 Docker 命令,或者在内网设备上运行以下命令(将 你的TOKEN 替换为网页上显示的实际 Token):

    bash

    docker run -d --name cloudflared --restart unless-stopped cloudflare/cloudflared:latest tunnel --no-autoupdate run --token 你的TOKEN
    

    请谨慎使用此类代码。

    🐳 Docker-compose 方式

    version: '3.8'
    services:
      cloudflared:
        image: cloudflare/cloudflared:latest
        container_name: cloudflared
        restart: unless-stopped
        command: tunnel --no-autoupdate run --token eyJhIjoiZGE2ZDdjOWI0YWY4YTU5YmNkMmE2Nzk1M2Q1NDMxODAiLCJ0IjoiMDBhOGU5ZjQtMmQwOS00ZmYzLTlmYWMtMWQ5ODgzNGI5MGI0IiwicyI6Ik56UTV

    token根据实际修改

    🪟 Windows 系统

    1. 下载官方的 cloudflared-windows-amd64.msi 并安装。
    2. 以管理员身份打开 PowerShell,复制控制台 Windows 栏目下的高级命令(形如 cloudflared.exe service install 你的TOKEN)并运行。 [1]

    🐧 Linux 系统 (Ubuntu/Debian)

    控制台会直接提供一键脚本,直接复制到终端运行即可,例如:

    bash

    curl -L --output cloudflared.deb https://github.com && 
    dpkg -i cloudflared.deb && 
    cloudflared tunnel service install 你的TOKEN
    

    请谨慎使用此类代码。

    验证: 安装并运行成功后,回到 Cloudflare 网页刷新,会看到隧道的 Status 变成绿色的 HEALTHY(健康)。


    3. 配置域名与内网服务映射 (Public Hostnames)

    在网页控制台上切换到 Public Hostname 标签页,点击 Add a public hostname:

    • Subdomain (子域名): 填写你想访问的名称,例如 nas。 [1]
    • Domain (域名): 选择你在 Cloudflare 托管的主域名(例如 yourdomain.com)。 [1]
    • Type (协议类型):
      • 如果是网页服务(如宝塔、NAS 面板、青龙面板),选择 HTTP 或 HTTPS。
      • 如果是远程桌面、SSH,选择 TCP。 [1]
    • URL (内网地址): 填写你内网设备访问该服务的局域网 IP 和端口(例如 192.168.1.100:8080 或 localhost:80)。 [1, 2]

    点击 Save hostname 保存。


    🎉 享受内网穿透

    配置完成后,Cloudflare 会自动帮你配置好 DNS 解析并申请 HTTPS 证书。你现在可以在外网通过 https://yourdomain.com 安全、免端口号地直接访问家里的内网服务了! [1, 2, 3]


    💡 极简补充:如果只想临时调试(快速隧道)

    如果你不需要固定域名,只是本地开发想临时给别人预览(比如前端跑在 localhost:3000):

    1. 电脑下载 cloudflared 命令行工具。
    2. 终端直接输入:bashcloudflared tunnel --url http://localhost:3000 请谨慎使用此类代码。
    3. 终端会输出一个随机的 https://xxx.trycloudflare.com 链接,关闭终端即失效。 [1]