首页 / 默认分类
发表于,更新于

《OpenWrt软路由最简单的远程访问教程 | Cloudflare Tunnel零成本内网穿透》

1.jpg
你是否遇到过这样的困扰:
想要在外网访问家里或公司的内网服务(例如 NAS、路由器、监控摄像头),却因为没有公网 IPv4 地址、运营商封锁端口,或者 IPv6 普及不佳而无法实现?传统的 DDNS + 端口映射不仅复杂,而且存在安全隐患;而租 VPS 做中转又增加了成本和运维负担。

其实,只要你拥有一个域名和一个 Cloudflare 账号,就能利用 Cloudflare Tunnel(Argo Tunnel) 实现安全、免费的内网穿透。它的优势在于:

  • 无需公网 IP 和端口映射
  • 自动建立到 Cloudflare 节点的加密通道,外部访问直接通过域名接入
  • 全球加速,稳定可靠
  • 结合 Cloudflare Zero Trust(Access),还能在访问前强制身份验证(指定邮箱、SSO 或
    2FA),即便域名泄露,未授权的人也无法进入
🛠️ 准备工作

在开始之前,请确认你已具备以下条件:

1.OpenWrt 的软路由

2.一个域名

  • 已托管到 Cloudflare(即 DNS 在 Cloudflare 管理)

3. 一个 Cloudflare 账号

4. 可选:外网设备

  • 用于测试访问(电脑 / 手机,需在外部网络环境下验证隧道是否生效)
1️⃣OpenWrt安装Cloudflared
  1. 登陆openwrt LuCI管理后台

    • 菜单:系统 → 软件包 → 搜索Cloudflare
  2. 找到luci-i18n-cloudflared-zh-cn →点击安装
  3. 左侧菜单会新增 VPN → Cloudflare 零信任隧道

    2️⃣ 在 Cloudflare Dashboard 创建隧道
  4. 创建Cloudflare Trust隧道

    • VPN → Cloudflare 零信任隧道→网络→Tunnels→创建隧道
    • 输入隧道名称(如 openwrt-home)→保存/下一步
    • 路由流量→子域:输入二级域名名称→域:选择托管到CF对域名→类型:选择对于服务→URL:填写软路由管理IP
    • 子域:openwrt
    • 域名:选择你托管的域(如 100998.xyz)
    • 类型:http
    • URL:192.168.30.1 (路由器管理界面)
    3️⃣ 获取并填写令牌(Token)
    • 在 Cloudflare Tunnel 页面 → 找到刚创建的隧道 → 点击右边 三个点 → 配置
    • 选择你的操作系统(这里对应 OpenWrt,用 DebianToken)
    • 复制令牌,形如:
    cloudflared tunnel run --token eyJhIjoi...xxxx
    • 回到 OpenWrt LuCI → VPN → Cloudflare → 令牌框里只填 eyJhIjoi…xxxx(不要写前面的 cloudflared tunnel run –token)
    4️⃣ 上传配置文件 config.yml

    配置文件用于描述隧道与内网服务的映射关系:

    tunnel: openwrt-home #填写隧道名称
    credentials-file: /root/.cloudflared/隧道ID.json
    
    ingress:
     - hostname: openwrt.100998.xyz #填写创建隧道的二级域名
     service: http://192.168.30.1:80 #填写路由器管理IP
     - service: http_status:404
    • 在电脑创建一个文本文档→名称修改cofig.yml 注意文件名后缀为.yml
    • 复制配置文件内容到config.yml→按照提示修改信息→保存

    **说明:
    credentials-file 路径是 Cloudflare 分配的 JSON 凭证
    ingress 可以写多个内网服务(例如再加一个 NAS)**

    • 创建完成后,上传配置文件→配置文件路径→上传刚才创建的config.yml文件
    5️⃣ 上传源站证书
    • 获取证书:源站证书→点击此处→选择域名→点击授权→证书会自动下载
    • 证书上传:回到openwrt cloudflare→点击源站证书→选择下载cert.pem→点击上传
    6️⃣ 启用并运行隧道
    • 点击启用→点击保存并应用
    • 状态显示运行中,Cloudflare Tunnel配置成功
    ✅Cloudflare Trust 部署完成
    • 已经可以用域名(openwrt.100998.xyz)远程访问 OpenWrt 管理界面。
    • 不需要公网 IP,也不用开端口,Cloudflare 自动帮你中转流量。
    • 搭配 Zero Trust Access,即使域名泄露,也只有通过验证的账号才能访问
    • 简单、免费、安全,非常适合个人和家庭用户

    通过本教程,我们在 OpenWrt 上成功部署了 Cloudflare Tunnel,并结合 Zero Trust Access 做了访问验证,实现了在没有公网 IP、无需端口映射的情况下,安全地远程访问内网服务。

相比传统的 DDNS + 端口转发方案,这种方式不仅更安全,而且完全免费,配置流程也相对简洁。结合 Cloudflare 强大的全球节点,远程访问的稳定性也更有保障。

如果你和我一样,想要在外网安全访问路由器、NAS 或其他内网服务,Cloudflare Tunnel 绝对是一个值得尝试的方案。

参考资料:

Cloudflare Tunnel 官方文档
Zero Trust Access 配置指南
OpenWrt 官方文档

标签: 无

许可协议

本文作者 , 采用 CC-BY-SA-4.0 许可协议,转载请注明出处。

评论已关闭

喔,这个文章现在不允许评论