返回教程列表
飞牛NAS部署Cloudflare Tunnel实现安全内网穿透无需公网IP
2026-07-01
一、准备工作
1. 一个Cloudflare账号(免费注册,绑定一个域名)。
2. 飞牛NAS上已经安装好Docker(不会装的去看第20篇教程)。
3. 把域名的DNS托管到Cloudflare(在Cloudflare后台添加站点,按提示改NS服务器)。
二、在Cloudflare后台创建Tunnel
1. 登录Cloudflare → 左侧菜单点「Zero Trust」→ 进入Dashboard。
2. 左侧点「Access」→「Tunnels」→ 点「Create a tunnel」。
3. 选「Cloudflared」类型,给隧道取个名字(比如fnunas-tunnel)。
4. 下一步会看到安装命令,记下里面的Token,等一下要用。
三、在飞牛NAS用Docker部署Cloudflared
打开飞牛NAS的Docker管理器,创建容器,配置如下:
镜像:cloudflare/cloudflared:latest
容器名:cloudflared
命令:tunnel --no-autoupdate run --token 你刚才记下的Token
注意Token很长,复制的时候别漏了字符。
不需要映射端口,不需要映射目录。创建并启动后,容器的日志里如果显示「Registered tunnel」就说明隧道连接成功了。
四、配置域名
回到Cloudflare Zero Trust的Tunnels页面,点你的隧道进去,点「Public Hostname」标签→「Add a public hostname」。
填写:
- Subdomain:你想用的子域名,比如nas
- Domain:你托管在Cloudflare的域名
- Type:选HTTP
- URL:填 localhost:5000(5000是飞牛NAS内网管理端口)
这样配置完后,访问 https://nas.你的域名.com 就相当于访问了内网的 http://NAS内网IP:5000。
五、添加更多服务
按照同样的方法,可以添加更多Public Hostname,把NAS上其他服务也透传出去:
- jellyfin.你的域名.com → localhost:8096
- qb.你的域名.com → localhost:8080
- alist.你的域名.com → localhost:5244
- notes.你的域名.com → localhost:6806
每个服务添加一条记录,全部通过同一个Tunnel访问,不需要额外开端口。
返回教程列表