登录
首页 >  文章 >  linux

Linux部署Cloudflared隧道教程

时间:2026-04-03 11:36:26 430浏览 收藏

本文详细介绍了在Linux系统上从零开始部署Cloudflare Tunnel的完整流程,涵盖APT一键安装与手动下载最新版cloudflared、利用Quick Tunnel快速验证本地服务、通过命名隧道实现绑定自定义域名与精细化访问控制、以及借助systemd配置持久化后台服务——无论你是开发者临时调试,还是运维人员搭建生产级内网服务暴露方案,都能获得安全、免端口映射、无需公网IP的高效解决方案。

Linux怎么安装Cloudflared隧道_Linux Cloudflare Tunnel部署【进阶】

如果您希望在 Linux 系统上部署 Cloudflare Tunnel 以实现安全、免端口映射的内网服务暴露,则需完成 cloudflared 客户端安装、隧道创建与持久化配置。以下是具体操作步骤:

一、通过系统包管理器安装 cloudflared

适用于 Ubuntu/Debian 等基于 APT 的发行版,该方式安装快捷且便于后续更新维护。安装过程会自动处理依赖,并将二进制文件置入标准路径。

1、更新软件源索引并安装 cloudflared:

sudo apt update && sudo apt install cloudflared -y

2、验证安装是否成功:

cloudflared --version

3、若提示命令未找到,请检查 PATH 是否包含 /usr/bin 或执行 sudo ln -s /usr/bin/cloudflared /usr/local/bin/cloudflared 建立软链接。

二、手动下载并安装最新版 cloudflared

当系统默认源中版本过旧或缺失时,应采用 GitHub 官方发布页的预编译二进制包进行安装,确保获得完整协议支持(如 TCP/SSH/RDP)及最新安全补丁。

1、获取适用于 amd64 架构的最新 Linux 二进制文件:

wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64

2、赋予可执行权限并移动至系统路径:

chmod +x cloudflared-linux-amd64 && sudo mv cloudflared-linux-amd64 /usr/local/bin/cloudflared

3、验证架构兼容性:

file /usr/local/bin/cloudflared

输出中应包含 ELF 64-bit LSB pie executable, x86-64 字样,否则需根据 uname -m 结果选择 arm64 或其他对应版本。

三、使用 Quick Tunnel 快速启动临时隧道

适用于开发调试或临时演示场景,无需登录 Cloudflare 账户或绑定域名,由 cloudflared 自动注册匿名隧道并返回随机子域 URL。

1、确保本地服务已在指定端口运行,例如:

python3 -m http.server 8000

2、在新终端中执行隧道命令:

cloudflared tunnel --url http://127.0.0.1:8000

3、等待终端输出类似内容:

Your quick Tunnel has been created! Visit it at: https://abc123-def456-ghi789-jkl012.trycloudflare.com

4、将该 URL 提供给外部用户即可访问本地服务,连接断开后隧道自动销毁。

四、配置命名隧道(Named Tunnel)实现持久化部署

命名隧道需关联 Cloudflare Zero Trust 账户与已托管域名,支持自定义子域名、访问策略、日志审计及多服务路由,适用于生产环境。

1、登录 Cloudflare 账户并进入 Zero Trust 仪表板,点击 Access → Tunnels → Create a tunnel

2、输入隧道名称(如 home-web-server),点击“Create tunnel”生成唯一 UUID 与 credentials 文件

3、将 credentials 文件下载至本地,例如保存为 /etc/cloudflared/home-web-server.json

4、创建配置文件 /etc/cloudflared/config.yml,写入以下内容:

tunnel: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

credentials-file: /etc/cloudflared/home-web-server.json

ingress:

- hostname: web.example.com

  service: http://localhost:80

- service: http_status:404

五、设置 systemd 服务实现后台常驻运行

避免终端关闭导致隧道中断,通过 systemd 单元文件将 tunnel 进程作为系统服务管理,支持开机自启、异常重启与日志追踪。

1、创建服务定义文件:

sudo nano /etc/systemd/system/cloudflared.service

2、填入以下内容:

[Unit]

Description=Cloudflare Tunnel Agent

After=network.target

[Service]

Type=simple

User=root

ExecStart=/usr/local/bin/cloudflared --config /etc/cloudflared/config.yml tunnel run

Restart=always

RestartSec=10

StandardOutput=journal

StandardError=journal

[Install]

WantedBy=multi-user.target

3、启用并启动服务:

sudo systemctl daemon-reload && sudo systemctl enable cloudflared && sudo systemctl start cloudflared

4、查看运行状态:

sudo systemctl status cloudflared

输出中应显示 active (running) 且无报错日志。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于文章的相关知识,也可关注golang学习网公众号。

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>