【音乐】使用 Cloudflare Tunnel 为nas中的洛雪同步服务开启免费、安全、高速的内网穿透
【音乐】使用 Cloudflare Tunnel 为nas中的洛雪同步服务开启免费、安全、高速的内网穿透
Think.Wang 本教程将引导你如何在飞牛(Feiniu)NAS 系统上,通过 Docker 和 Cloudflare Tunnel(也称为 cloudflared)功能,实现免费、安全且无需公网 IP 的内网穿透。这样你就可以在任何地方通过自己的域名访问家中的 NAS 了。
准备工作:
- 一台正在运行的飞牛 NAS。
- 一个你自己的域名(例如 yourdomain.com)。
- 将你的域名托管在 Cloudflare 上。
- 一个 Cloudflare 账号。
第一步:在飞牛 NAS 中准备 Docker 环境
首先,我们需要在 NAS 上下载 Cloudflare Tunnel 的官方 Docker 镜像。
- 登录你的飞牛 NAS 管理后台。
- 在桌面找到并点击 Docker 图标,进入 Docker 管理器。
- 在 Docker 管理器左侧菜单中,点击 镜像仓库。
- 在右上角的搜索框中输入 cloudflared 并搜索。
- 在搜索结果中,找到官方镜像
cloudflare/cloudflared(通常下载量最大),然后点击右侧的下载图标。 - 在弹出的“选择标签”窗口中,保持默认的
latest,然后点击 确定。系统将开始下载镜像。
第二步:在 Cloudflare 中创建隧道 (Tunnel)
现在,我们需要登录 Cloudflare 官网来创建一个隧道并获取连接凭证。
- 登录你的 **Cloudflare Dashboard**。
- 在左侧菜单中,找到并点击 **Zero Trust**。
- 首次设置 (如果需要)
- 如果你是第一次使用 Zero Trust,系统会要求你设置一个团队名称。这个名称将成为你访问后台的子域名,可以自定义。
- 在选择计划页面,选择左侧的 Free (免费) 套餐。
- 系统可能会要求你添加付款方式,这里有一个技巧可以跳过:直接修改浏览器地址栏的 URL,删除 .com/ 之后的所有内容,然后按回车键重新访问。这样就可以绕过付款验证步骤。
- 成功进入 Zero Trust 仪表盘后,在左侧菜单中点击
网络 (Access)->隧道 (Tunnels)。 - 点击 创建隧道 (Create a tunnel) 按钮。
- 在选择连接器类型时,选择 Cloudflared,然后点击
下一步 (Next)。 - 为你的隧道命名,例如
nas,然后点击保存隧道 (Save tunnel)。 - 在“选择您的环境”页面,选择 Docker。页面下方会生成一段 docker run 命令,点击复制图标将这段完整的命令复制下来。这段命令包含了连接隧道的唯一 token,非常关键。
第三步:在飞牛NAS上部署洛雪同步程序
在 Docker 管理器左侧菜单中,点击 镜像仓库。
在右上角的搜索框中输入 lyswhut/lx-music-sync-server 并搜索,这个镜像为作者的镜像源,也可以自己使用源码构建镜像
在搜索结果中,找到官方镜像
cloudflare/cloudflared(通常下载量最大),然后点击右侧的下载图标。在弹出的“选择标签”窗口中,保持默认的
latest,然后点击 确定。系统将开始下载镜像。下载完成后,执行以下命令运行容器
1
docker run -d --name lxmusicsyncserver --restart=always -p 19527:9527 -v /vol2/docker/containers/lxmusicsyncserver/logs:/server/logs -v /vol2/docker/containers/lxmusicsyncserver/data:/server/data -e TZ=Asia/Shanghai -e LX_USER_user1=password1 -e BIND_IP=0.0.0.0 -e PORT=9527 lyswhut/lx-music-sync-server
变量名称 说明 PORT绑定的端口号,默认为 9527。BIND_IP绑定的 IP 地址,默认为 127.0.0.1,使用0.0.0.0将接受所有 IPv4 请求,使用::将接受所有 IP 请求。PROXY_HEADER代理转发的请求头 原始 IP,如果设置,则自动启用。 CONFIG_PATH配置文件路径,默认使用项目目录下的 config.js。LOG_PATH服务日志保存路径,默认保存在服务目录下的 logs文件夹内。DATA_PATH同步数据保存路径,默认保存在服务目录下的 data文件夹内。MAX_SNAPSHOT_NUM公共最大备份快照数。 SERVER_NAME同步服务名称。 LIST_ADD_MUSIC_LOCATION_TYPE公共添加歌曲到我的列表时的方式,可用值为 top和bottom。LX_USER_以 LX_USER_开头的环境变量将被识别为用户配置,可用的配置语法为:
1.LX_USER_user1='xxx';
2.LX_USER_user1='{"password":"xxx"}'。
其中LX_USER_会被去掉,剩下的user1为用户名,xxx为用户密码(连接码)。
配置方式 1 为简写模式,只指定用户名及密码(链接码),其他配置使用公共配置。
配置方式 2 为 JSON 字符串格式,配置内容参考config.js,由于该方式在变量名指定了用户名,所以 JSON 里的用户名是可选的。
第四步:在飞牛 NAS 上运行隧道并配置路由
使用 SSH 客户端(如 Windows PowerShell, FinalShell 等)连接到你的飞牛 NAS。
1
2# 请替换成你自己的端口、用户名和IP
ssh -p 22 xxx@192.168.1.92登录后,输入
sudo su并再次输入密码,切换到root管理员用户。粘贴并执行上一步从
Cloudflare复制的docker run命令。这会首次运行容器并与 Cloudflare 建立连接。看到日志输出后,可以先不用管它。回到飞牛 NAS 的 Docker 管理界面,在
容器列表中找到刚刚创建的cloudflared容器(通常是随机名称),点击右侧的电源图标,将其停止。回到 Cloudflare 的隧道配置页面,点击右下角的
下一步 (Next)。**配置公共主机名 (Public Hostname)**,这是将你的域名指向 NAS 的关键步骤。
- 子域名 (Subdomain): 输入你想要的前缀,例如 nas。
- 域 (Domain): 从下拉列表中选择你在 Cloudflare 托管的域名。
- 服务 (Service):
- 类型 (Type):
HTTP - URL: 输入
http://[你的NAS内网IP]:[端口],例如http://192.168.1.92:9527。
- 类型 (Type):
点击右下角的 **完成设置 (Save tunnel)**。
第五步:启动容器并验证访问
- 回到飞牛 NAS 的 Docker 管理界面,在 容器 列表中,重新启动之前停止的那个 cloudflared 容器。
- 打开一个新的浏览器标签页,输入你刚刚配置的完整域名(例如 https://nas.nas.top)。
- 你应该能看到飞牛 NAS 的登录界面,并且浏览器地址栏显示的是安全锁(HTTPS 连接),证明内网穿透已经成功!
- 你还可以尝试在手机上使用移动数据网络访问该域名,同样可以成功登录,证明你可以从任何地方访问你的 NAS。
至此,你的 NAS 内网穿透已全部配置完成!











