type
status
date
slug
summary
tags
category
icon
password
菜单级别
Place
Verification
Owner
前置准备
在开始配置之前,需要完成以下准备工作:
- 拥有一个域名并绑定到 CloudFlare
- 切换 DNS 服务器到 CloudFlare
- 等待域名激活生效
下载并安装 cloudflared
1. SSH 登录 OpenWrt
首先通过 SSH 连接到你的 OpenWrt 路由器。
2. 下载 cloudflared 运行包
执行以下命令下载适用于 ARM 架构的 cloudflared:
根据官方提供的版本选择合适的安装包。
3. 移动文件到系统目录
配置自启动服务
1. 创建自启动文件
2. 编辑启动脚本
使用 vim 编辑器打开配置文件:
3. 添加启动脚本内容
将以下内容粘贴到文件中:
重要提示:将cfd_token的值替换为你从 CloudFlare 创建隧道时自动生成的 token。
获取 CloudFlare Token
- 登录 CloudFlare 控制台
- 进入 Zero Trust 面板
- 创建新的 Tunnel(隧道)
- 系统会自动生成 token,复制该 token
- 将 token 粘贴到上述配置文件的
cfd_token变量中
启动服务
1. 启用自启动
2. 启动服务
配置域名映射
在 CloudFlare 的 Tunnel 配置页面:
- 添加公共主机名(Public Hostname)
- 设置你的域名或子域名
- 配置对应的内网服务地址和端口
- 保存配置
完成以上步骤后,即可通过配置的域名从外网访问内网服务,无需在路由器上开放任何端口。
完成以上步骤后,即可通过配置的域名从外网访问内网服务,无需在路由器上开放任何端口。
配置 HTTP/2 协议
CloudFlare Tunnels 默认支持 HTTP/2 协议,提供更好的性能和连接复用能力。在配置公共主机名时:
- 在 Type 字段选择 HTTP
- 在 URL 字段填写内网服务地址(例如:
http://192.168.1.100:8080)
- 展开 Additional application settings(高级设置)
- 启用 HTTP/2 Origin 选项
提示:如果你的内网服务本身支持 HTTP/2,启用此选项可以获得更好的性能表现。
Docker 部署方式
除了直接在 OpenWrt 上安装,也可以使用 Docker 容器方式部署 cloudflared。
1. 前置条件
确保 OpenWrt 已安装 Docker:
2. 创建配置目录
3. 创建 docker-compose.yml
使用 vim 创建配置文件:
添加以下内容:
重要提示:将你的_TUNNEL_TOKEN替换为从 CloudFlare 获取的实际 token。
4. 启动容器
5. 查看运行状态
6. 管理容器
停止服务:
重启服务:
更新镜像:
Docker 部署的优势
- 易于管理:通过 docker-compose 一键启停
- 版本控制:方便升级和回滚
- 环境隔离:不影响系统其他组件
- 跨平台:配置文件可在不同设备间复用
验证服务状态
可以通过以下命令检查服务运行状态:
总结
CloudFlare Tunnels 提供了一种安全便捷的内网穿透方案,相比传统的端口转发方式:
- 更安全:无需开放公网端口,降低被攻击风险
- 更稳定:依托 CloudFlare 的全球网络
- 更简单:无需配置复杂的防火墙规则
- 免费:个人使用完全免费
适合用于搭建个人网站、家庭服务器、远程访问等场景。
- 作者:Orz
- 链接:https://blog.1567890.xyz/technology/openwrt-cloudflare-tunnel-guide
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。

