Cloudflare Tunnel 提供了一种安全的方式,无需公开路由的 IP 地址即可将资源连接到 Cloudflare。使用 Tunnel,您不会将流量发送到外部 IP,而是在您的基础设施中创建一个轻量级守护程序(“cloudflared”)创建与 Cloudflare 全球网络的仅出站连接。本文以Debian进行演示。

创建隧道

登录Cloudflare,点击Zero Trust,选择Networks,选择Tunel创建一个新隧道:

image-20240226165336082

选择操作系统下载:

image-20240226165550865

对于armv7以及其他架构的设备请移步到github下载

或者通过Docker创建:

docker-compose.yml文件参考

version: '3.8'

services:
  cloudflared:
    image: cloudflare/cloudflared:latest
    command: tunnel --no-autoupdate run --token <token>
    restart: always
    detach: true

用以下命令:

docker-compose up -d

这将以后台模式启动Compose文件中定义的服务。

更新隧道

对于Debian,新版本的Cloudflared以及可以通过apt包管理工具进行更新:

  1. 更新 cloudflared 程序包:

    sudo apt-get upgrade cloudflared
    
  2. 重新启动服务:

    sudo systemctl restart cloudflared.service
    

或者通过 dpkg -i 手动安装:

  1. 更新 cloudflared 程序包:

    curl -L --output cloudflared.deb https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb && sudo dpkg -i cloudflared.deb
    
  2. 重新启动服务:

    sudo systemctl restart cloudflared.service
    

可以通过运行 ls -la /usr/local/etc/cloudflared/ 并在输出 .installedFromPackageManager 中查找来检查 cloudflared 是否由包管理器安装。

参考链接