本文最后更新于 2025-09-01,文章内容还可用检查日期2025年8月27日

在NAS上部署Cloudflare穿透,实现内网穿透,在外面也能无痛使用NAS,网速快慢取决于家庭带宽,将内网服务暴露到公网上实现访问的一种形式,所有流量将走cf代理,隐藏本地IP地址,减少不必要麻烦,尤其在需要安全访问内网资源时非常有用。

本文一绿联NAS DXP4800演示,飞牛和群晖NAS操作方法与本文相同。

准备工作

  1. 需要一个域名,各大域名服务商均可购买,最低价格8元一年。

  2. 注册Cloudflare,并且将域名绑定在控制台中,如何注册请看这一片文章跳转。(链接点击查看

  3. NAS下载Docker并且运行,在应用中心进行下载。

Cloudflare隧道创建

  • 登录Cloudflare,选着已经绑定好的域名,在左侧选择Access,启动Zero Trust,首次进入提示需要创建账户,按照要求进项创建,选择免费方案,当出现需要绑定支付方式时关闭Cloudflare刷新并重新进入Zero Trust,绑定页面就将消失。

进入Zero Trust管理页面

  • 接着在左侧找到网络-概述,选择管理隧道,在右侧会跳出一个新的窗口悬着创建新的Cloudflared隧道,进入新的页面给你的隧道进行命名。

创建隧道

  • 进入新的页面给你的隧道进行命名,使用基于您要连接的网络的描述性名称。建议每个网络只创建一个隧道。然后对隧道进行保存。

  • 选择需要安装的环境,这里我们选着Docker安装,在Docker中灰色行开始的是令牌,注意不要将令牌忘记

  • 令牌的形式为docker run cloudflare/cloudflared:latest tunnel --no-autoupdate run --token xxxxxxxxx(x处为令牌,不要一下全部放进Docker中会显示报错,容器不能运行)接下来我们转到NAS上进行配置。

NAS上使用Compose部署

Docker页面

在Docker的项目中创建项目,名称存放路径根据自己的喜好选着,路径尽量放在Docker文件夹方便以后进行管理。导入Compose代码后点击立即运行,等待容器部署完成,容器将自动启动,在Compose中已经设置了自动重启,在NAS开机后或者遇到问题容器会尝试自动重启。(代码已在下方给出)

导入Compose代码

version: '3'

services:
  cloudflared:
    image: cloudflare/cloudflared
    container_name: cloudflared-navidrome  #这里自定义容器名         
    restart: always
    network_mode: host
    command: tunnel --no-autoupdate run --token #这里填写你的令牌

检查容器运行状况

在容器显示运行中,且没有显示重启,返回Cloudflare中,在创建隧道的图片下会显示已经连接,接着我们点击下一步。

Cloudflare隧道部署

在域中选着自己的域名,如果想用主域名形如 wangboyi.top 不需要填写子域直接选着就行(子域形如www.wangboyi.top,前面的www就为子域名,建议添加一个www前缀子域,现在只能添加一个后续在控制台中可以直接添加,不需要在部署隧道),路径暂时不需要,直接跳过,服务类型,一般选择http(内网一般都是这种类型)后面的URL选择自己的内网地址,有端口记得加一个端口,连接符记得是英文的冒号,配置完成后选择完成设置即可。

检查部署情况

当隧道出现你的名称时状态为正常证明安装已经成功,可以进行远程访问,在公共主机名能够添加子域名,添加和前面配置方式相同不需要再安装容器,直接填写域名信息即可。

登录自己的网站

输入自己部署好的域名,查看是否能够连接,建议部署好后间隔一段时间检查,传播需要时间,可能不能马上进行访问,但一旦能够访问后续,想多久使用都可以。(由于Cloudflare是用的免费版,没有流量限制,但是有客户上传限制,指你给NAS传输的流量不能大于100MB,高于会被Cloudflare阻断,但是NAS传输给你不受限制,可以用作远程下载文件,上传建议使用官方APP或者绑定NAS公网进行传输)

如你所见本网站部署在NAS上通过Cloudflare进行代理,访问速度还是可以的,代理后走的是Cloudflare服务器所以会较慢一点但是不影响体验

注意

本文由作者自创,搬运请标明出处!