【沧海拾昧】绿联NAS配置WebDAV公网访问并使用RaiDrive挂载到本地

【沧海拾昧】绿联NAS配置WebDAV公网访问并使用RaiDrive挂载到本地

#C0601


沧海茫茫千钟粟,且拾吾昧一微尘

——《沧海拾昧集》@CuPhoenix


【阅前敬告】沧海拾昧集仅做个人学习笔记之用,所述内容不专业不严谨不成体系【如有问题必是本集记录有谬,切勿深究】


目录


前言

将 NAS 的磁盘空间通过 RaiDrive 等软件挂载到本地使用是一种十分便捷的方法,但是 RaiDrive 中只有针对群晖(Synology)等几个品牌 NAS 的原生支持,如果使用绿联(UGREEN) NAS 则无法直接在 RaiDrive 中挂载。本文记录了使用绿联 NAS 配置 WebDAV 协议并通过公网访问的方式在 RaiDrive 中挂载的方法以供参考。

本文用到的软/硬件环境:绿联 DH3400 Plus;

一、配置步骤

1、确认网络设备支持 IPv6

  • 要实现公网访问,必须确认设备可以访问公网 IP,包括确认使用的光猫、路由器对 IPv6 的支持和对应功能是否设置开启;

可以通过 这个网站 进行测试:如果显示网络 IPv6 访问优先,则不需要调整,否则需要先参考其他资料开启 IPv6 访问。

在这里插入图片描述
其他测试连接测试链接 1 :仅支持 IPv6 访问;测试链接 2 :测试网络是 IPv4 还是 IPv6 访问优先(访问IPv4 / IPv6双栈站点,如果返回 IPv6 地址,则 IPv6 访问优先)

2、购买域名

  • 进行 DDNS 配置需要有一个自己的域名,推荐使用阿里云或腾讯云进行配置(该推荐源自绿联官网资料),这里以腾讯云为例;
  • 在腾讯云购买一个域名(购买时需经过实名认证等步骤,不需要购买其他服务,最便宜的大概只需要几块钱一年),购买成功后等待一会有短信通知域名恢复正常解析,就可以使用了;

3、配置访问凭证

  • 登录腾讯云 访问管理控制台策略页,单击【策略】页面中的【新建自定义策略】,并单击【按策略语法创建】;
  • 选择【空白模板】,进入下一步;
  • 复制这段权限脚本到【策略内容】中,然后单击完成;
{ "version": "2.0", "statement": [ { "effect": "allow", "action": [ "cdb:DescribeDBInstances" ], "resource": [ "*" ], "condition": [] }, { "effect": "allow", "action": [ "cvm:DescribeInstances" ], "resource": [ "*" ], "condition": [] }, { "effect": "allow", "action": [ "cynosdb:DescribeClusters" ], "resource": [ "*" ], "condition": [] } ] } 
  • 在导航栏中单击【访问密钥】→【API密钥管理】,获取SecretIdSecretKey(即 AccessId 和 AccessKey ),注意保存好,不要泄露;

2、NAS 配置 WebDAV 服务

  • NAS 开机后,按绿联官方操作手册进行注册、登录等一系列初始化设置;
  • 配置完成后,可以同局域网 IP 访问检测是否设置成功,例如 NAS 的局域网 IP 是 192.168.1.100,则在浏览器中访问【192.168.1.100:5006】看是否会进入鉴权页面;

在【控制面板】→【文件服务】→【WebDAV】中选择启用服务,并在高级设置中勾选;

在这里插入图片描述

3、NAS 配置 DDNS 支持

  • 如果一切正常,点击【连接测试】会显示成功;

服务商选择腾讯云,然后输入刚才注册的域名,和刚才获取的 SecretId 和 SecretKey;

在这里插入图片描述

在【控制面板】→【设备连接】→【远程访问】中选择【启用 DDNS 支持】,然后选择【新增】;

在这里插入图片描述

4、配置反向代理

  • 注意:按这个步骤使用 Nginx 做反向代理可能出现问题(挂载后无法移动文件和修改文件名),该问题尝试网上一些修改 Nginx 的方法无法解决。推荐使用 Lucky 来设置反向代理。教程参考:教程1教程2
  • 这里提醒一点:设置动态域名的时候,要根据 IPv4 还是 IPv6 来选择获取公网 IP 方式。教程1中的示例是 IPv4 的,所以选择了通过接口获取,如果根据本文上面的步骤来做公网 IP应该是 IPv6 的,因此这一步要选择网卡获取。
  • 另注:可以通过 NAS 中的 自动映射 功能(在【控制面板】→【设备连接】→【远程访问】→【方式二:高级设置】)完成路由器端口的映射,不用从路由器中手动设置。
  • 在 NAS 的应用中心中安装 docker,然后在 docker 的镜像中搜索并下载 jc21/nginx-proxy-manager,安装 nginx proxy manager(如果下载失败,则需要开启加速,可以通过 官方教程 进行设置);
  • 设置容器【自动重启】;
  • 点击【Certificates】,选择【Add Certificate】→【Let’s Encrypt via DNS】,在 Domain Names 中输入刚才购买的 DDNS 域名,然后在 DNS Provider 中选择腾讯云 Tencent Cloud,输入 secret_id 和 secret_key,点击【Save】进行保存;
  • 配置完成后,打开浏览器,输入 https://xxxxxxx:8000(xxxxxxx 是自己的域名),如果能跳转到 WebDAV 的页面就是成功了;

点击【Proxy Host】配置反向代理,新建一个 Proxy Host,在 Domain Names 中输入刚才购买的 DDNS 域名,转发 IP 填写 172.17.0.1,端口为5005,然后在 SSL 选项卡中勾选 Force SSL 和 HTTP/2 Support;

在这里插入图片描述

启动容器后,可以通过【快速访问】进入管理页配置证书;

在这里插入图片描述

端口号可以改成比较好记的,避免与 NAS 已有的端口产生冲突;

在这里插入图片描述

对容器进行配置,注意在【存储空间】中加入 /etc/letsencrypt 这个容器目录,否则服务无法启动;

在这里插入图片描述

5、在 RaiDrive 中挂载

  • 启动 RaiDrive,新增虚拟驱动器,在 【NAS】选项卡中选择【WebDAV】,然后在地址栏中输入 https://xxxxxxx:8000,并输入用户名和密码(在绿联APP中设置的访问 WebDAV 的密码,相关的权限也在绿联 APP 中管理);
在这里插入图片描述
  • 点击连接,即可将 NAS 挂载到本地磁盘;

6、设置防火墙

  • 规则1用于允许反向代理的端口访问,规则2用于允许内网访问所有端口。设置完成后记得勾选启用,然后确定。

防火墙可以在 NAS 中进行设置,这里给出两条规则参考:

在这里插入图片描述

二、最终结果

在我的电脑中,出现该驱动器。不开 RaiDrive 会员只能挂载到网络位置,开了会员之后可以挂载到本地磁盘的位置,但这两个在一般使用中没有什么区别。

在这里插入图片描述
参考文献绿联NAS配置公网访问配置腾讯云访问凭证绿联云知识中心 - 启用DDNS支持

Read more

cJSON 1.7.19 源码深度分析:数据结构、解析流程与深度注释实践

cJSON 1.7.19 源码深度分析:数据结构、解析流程与深度注释实践

本文基于 cJSON 1.7.19 源码,从核心数据结构、JSON 解析/生成流程、内存管理到深度注释实践,系统梳理这一轻量级 JSON 库的设计与实现,适合 C 语言进阶与嵌入式开发学习。 目录 * 一、前言 * 二、核心数据结构:cJSON 结构体 * 2.1 结构体定义 * 2.2 内存布局(64 位系统示意) * 2.3 类型系统:位掩码设计 * 2.4 树状链表:一个例子 * 三、核心流程一:JSON 解析(字符串 → cJSON 树) * 3.1 调用链

By Ne0inhk
【缓存算法】一篇文章带你彻底搞懂面试高频题LRU/LFU

【缓存算法】一篇文章带你彻底搞懂面试高频题LRU/LFU

系列文章目录 文章目录 * 系列文章目录 * 一、LRU缓存算法 * 1.哈希表 + 双向链表 * 二、LFU缓存算法 * 1、哈希表 + 平衡二叉树 * 2、双哈希表 * 三、总结 一、LRU缓存算法 1.哈希表 + 双向链表 1.题目链接:LRU缓存 2.题目描述: 3.算法思路: 1.双向链表 + 哈希表 组合: 双向链表(带哑头 / 哑尾节点):维护缓存节点的访问顺序,最近使用的节点放在链表头部,最少使用的节点放在链表尾部(淘汰时直接删尾部); 哈希表(cache):实现 key 到节点的 O (1) 快速查找,解决链表遍历查找慢的问题; 2.

By Ne0inhk
Flutter 组件 vnlunar 适配鸿蒙 HarmonyOS 实战:高精度农历算法,构建民俗文化日期与节气治理架构

Flutter 组件 vnlunar 适配鸿蒙 HarmonyOS 实战:高精度农历算法,构建民俗文化日期与节气治理架构

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 vnlunar 适配鸿蒙 HarmonyOS 实战:高精度农历算法,构建民俗文化日期与节气治理架构 前言 在鸿蒙(OpenHarmony)生态迈向全球化部署、涉及多语言本地化(L10n)及深层文化特性适配的背景下,如何实现准确的阴阳历(农历)转换、二十四节气计算及民俗节日提醒,已成为提升应用“人文温度”与本地化竞争力的核心要素。在鸿蒙设备这类强调分布式时间同步与低功耗常驻显示(AOD)的环境下,如果应用依然依赖简单的查表法或通过网络接口获取农历信息,由于由于闰月计算的复杂性或离线环境限制,极易由于由于计算偏移导致传统节日提醒的误报。 我们需要一种能够实现天文级算法推演、支持高精度节气定位且具备纯 Dart 离线运作能力的历法治理方案。 vnlunar 为 Flutter 开发者引入了标准化的阴阳历转换协议。它不仅支持对天干地支、生肖及闰月的精确解构,更针对东南亚等地区的历法细微差异提供了专项适配。在适配到鸿蒙 HarmonyOS 流程

By Ne0inhk
【强化学习】演员评论家Actor-Critic算法(万字长文、附代码)

【强化学习】演员评论家Actor-Critic算法(万字长文、附代码)

📢本篇文章是博主强化学习(RL)领域学习时,用于个人学习、研究或者欣赏使用,并基于博主对相关等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅解。文章分类在👉强化学习专栏:        【强化学习】- 【单智能体强化学习】(7)---《演员评论家Actor-Critic算法》 演员评论家Actor-Critic算法 目录 Actor-Critic算法理解 1. 角色设定 2. 两者如何协作 3. 学习的核心 4. 为什么叫Actor-Critic? 生活中例子: Actor-Critic算法的背景与来源 1. 强化学习的起源 2. 策略梯度方法的局限性 3. Actor-Critic的提出 4. 历史发展与应用 Actor-Critic算法流程的推导 1. 强化学习的优化目标 2. 策略梯度定理 3. Critic:值函数估计 4. Actor:策略优化 5.

By Ne0inhk