前言
何为nas
网络存储服务器 (NAS) 是一种可存放数字文件 (例如照片、影片、音乐,及文件) 的存储设备。本质上它还是服务器;
只是它和传统用来建站、计算的服务器在定位上有所区别,nas专注数据存储和文件分享,所以注重功耗低、易用、存储能力
可扩展等特性;传统意义上的服务器可以执行更多的任务,搭建网站、数据库、运行业务应用等等,就需要在cpu、内存、gpu等方面有更高的要求;
nas相较于传统服务器在易用性上有明显的差异,nas提供了完整的可视化操作界面和系统,不用自己去搭建应用,这个很方便;而且是有完整的生态支持,省去了很多事情;
我的需求
网络存储:没有特殊的需求,没有建个人影视库的需求,个人图片也没有那么多,备份都直接放云盘了(88vip 夸克网盘用不完..,),所以没必要整太多的硬盘,我的设备也不需要那么多的接口去接;
服务器:其实我更希望能使用的是其服务器的属性,因为在某些情况下,想要运行一些demo,都是在虚拟机上去运行,有很多问题,例如跨终端的访问、便利性、资源消耗等;所以有一个单独运行在家里,随时可访问使用的服务器,那也是很不错滴;
影视库:看电视的需求,目前电视上各种资源限制、广告、vip等霸权,目前很多情况就是个人会找网盘资源下载,然后拷到u盘里面去电视上使用,复杂性不言而喻(吃饭的时候想看个电影,饭吃完了还没下好...),但是如果家里有台nas,资源提取下好,电视上直接访问播放,那就很美妙了~
影视库需求讨论
这里推荐一个开源的项目:https://github.com/VonChange/utao
这个是针对安卓系统的一个电视应用,下载后安装到电视上,访问该app,开源通过该app登录视频会员和观看央视和卫视的直播,解决了有各平台基础会员不能在电视上看的问题以及看央视和卫视直播的问题;根本上就是使用浏览器的原理,用户依然需要扫码登录,相当于就登录了一个网页端的视频网站,然后就能看该平台的视频了;
当然这也意味着,要是基础会员都没有的话就只能看卫视直播了;
也还有些其他问题,例如操作不便捷、有时候会卡死、不能搜索等问题,但是已经很强大了!
设备选择
其实无非就是两种选择,第一种就是买个成品,第二种就是自己有电脑(无论是笔记本、主机等),然后装一下系统;
个人是有台笔记本电脑,配置如下,它主要是键盘坏了、硬件有些旧了;也不值钱了,修也没必要,但是做个用来看电视、装一些demo应用还是绰绰有余的;

nas系统选择
这里不做详细的盘点和对比,个人就选择的是飞牛https://www.fnnas.com/
这里有个推荐文章:https://cloud.tencent.com/developer/article/2538953
个人而言没有太了解其他的nas系统的特性,但是看了飞牛的这两点,就直接选择它了,多方便啊;
1、兼容性、扩展性

2、影视生态

笔记本安装
准备工作
第一阶段:
1. 备份数据: 安装过程会格式化硬盘,笔记本上所有数据将被永久删除。
2. 连接电源:确保笔记本连接电源适配器,防止安装过程中断电。
3. 网络环境:最好能连接网线,飞牛OS在安装过程中可能需要下载一些更新或驱动。
4. 安装盘制作:参考下一章节的飞牛官网教程制作启动盘。
第二阶段:BIOS/UEFI 设置
我的电脑是 华硕 灵耀s2 ,不同的机型可能稍有差异
这是关键一步,设置不当会导致无法从U盘启动。
1. 关机 → 插入启动 U 盘 → 开机狂按 ESC,出现选单后选 Enter Setup(或直接按 F2)。
2. (重要)关闭安全启动
* 使用方向键找到 Security 或 Boot 菜单。
找到 Secure Boot 或 安全启动 选项,将其设置为 Disabled。
* 这是飞牛OS等大多数Linux系统能正常启动的前提。
3. (重要)修改启动模式
* 找到 Boot 菜单。
将 Fast Boot(快速启动)设置为 Disabled。
将 CSM(兼容性支持模块)设置为 Enabled。如果找不到CSM,可以暂时不管,优先尝试UEFI启动。
在 Boot Option Priorities(启动选项优先级)中,将 U盘 设为第一启动项。U盘可能显示为 UEFI: USB Flash Disk 或直接显示U盘品牌名称。
4. 保存并退出
* 按 F10 键,选择 Yes 保存设置并重启电脑。
安装和初始化飞牛 os
完成上述操作之后,核心的就是系统安装了,系统安装可完全按照官网教程走(写到这发现是一篇水文,没干货,但也不能赖我啊,官网写的清晰、够用),地址:https://help.fnnas.com/articles/fnosV1/start/install-os.md
贴张图,证明我安装好了,中间没踩坑,一把过:

配置DDNS实现公网访问
DDNS是个什么东西
DNS
要了解DDNS首先得了解DNS,DNS(Domain Name System,域名系统)就是能实现域名和ip映射的系统,其实就是映射表,用户输入一个网址,浏览器会需要一个ip地址来访问这个网址的服务器,这个时候就需要去DNS服务器上去查域名对应的服务器地址,DNS查到ip后返回给浏览器,浏览器就可以和服务器建联;(这个过程实际没这么简单,可能还有缓存、DNS解析之类的,这里不详细介绍了)
DNS主要解决的是域名解析固定ip的问题;
DDNS
DDNS就主要解决的是动态ip的情况;DDNS的核心原理是“自动上报,实时更新”。它包含两个关键角色:
DDNS客户端:一个安装在路由器或NAS等设备上的小程序。(例如DDNS-go)
DDNS服务提供商:一个负责管理和更新域名与IP对应关系的服务器。
总结一下:
DDNS(动态域名系统)本质上还是DNS,并不需要 DNS 服务商做额外复杂的事情,主要是通过 DDNS 客户端 和 DDNS 服务商 的配合来动态地更新 DNS 记录。
更具体地说,DDNS 的流程就是两步:
DDNS 客户端:一般是家中的路由器、服务器或其他设备,安装并运行 DDNS 客户端。当这些设备的 公网 IP 地址 发生变化时,DDNS 客户端会感知到这个变化,并通知 DDNS 服务商(飞牛系统就提供了该服务)。
DDNS 服务商:DDNS 服务商负责管理你的域名解析记录。当 DDNS 客户端发现 IP 地址发生变化时,它会通过 API 或其他方式向 DDNS 服务商报告这个变化。服务商然后会 自动更新域名的 DNS 记录,将新的 IP 地址绑定到你的域名上。
正常 DNS 需要手动更新 DNS 记录,或者通过 DNS 服务商来更新,这通常发生在域名与固定 IP 地址之间的绑定。DDNS 不同的是,自动更新 DNS 记录,当设备的公网 IP 地址变化时,DDNS 客户端会通知 DDNS 服务商,然后服务商会修改 DNS 记录,确保域名始终指向设备的最新 IP 地址。
NAT了解
不知道你看完上面的DDNS有没有疑问,DDNS只负责告诉别人该访问哪个公网ip,但没告诉别人该访问内网中的哪台服务器;
但其实这个问题只存在于ipv4,因为ipv6是端到端的,每台设备都有个独立的ipv6地址,那么在ipv4的情况下,要解决上述的问题,就必须使用NAT了;
NAT(Network Address Translation),是指网络地址转换,1994年提出的。NAT 诞生的核心目的是解决 IPv4 地址枯竭问题。它允许一个局域网内的多个设备共享一个公网 IP 地址来访问互联网。同样也可以使用NAT使其定位到内网的具体设备;这也就对应到了SNAT(源地址转换)和 DNAT(目的地址转换):
SNAT (源地址转换)
SNAT 主要用在内网设备访问外网的场景,也就是"出站"通信。主要目的有两个,其一是隐藏内网结构:外部服务器只能看到NAT设备的公网IP,不知道真正发起请求的内网设备。再就是共享公网IP:让多个内网设备共享一个公网IP地址上网。
内网PC (
192.168.1.100:54321) 请求外部Web服务器路由器执行 SNAT:将源地址从
192.168.1.100:54321改为203.0.113.1:60001路由器在NAT表中记录这个映射关系
Web服务器响应到
203.0.113.1:60001路由器查表,执行反向转换:将目标地址从
203.0.113.1:60001改回192.168.1.100:54321响应包送达内网PC
DNAT (目的地址转换)
DNAT 主要用在外网设备访问内网服务的场景,也就是"入站"通信。主要的目的是发布内网服务:让外部能够访问内网中的特定服务,以及端口转发:将到达公网IP特定端口的流量转发到内网服务器的指定端口
外部手机请求
203.0.113.1:8080路由器执行 DNAT:根据预设规则,将目标地址从
203.0.113.1:8080改为192.168.1.200:5000请求被转发到内网NAS
NAS返回响应,源地址为
192.168.1.200:5000,目标地址为手机IP路由器自动执行SNAT:将响应的源地址从
192.168.1.200:5000改为203.0.113.1:8080响应包返回手机,手机认为一直在与
203.0.113.1:8080通信
如此,基本就了解到大致的访问与分发的原理了;
但是实操你也会发现,你网络环境的ipv4+端口访问不了nas,但是ipv6+端口是可以的;
那是因为以上的 DNAT 都是理想的状态,也就是你的宽度就有一个独属于你的公网IP,就能达到通过上述方式访问到你的内网的服务器,但一般不是这样的情况;
运营商级 NAT (CGNAT)
实际上,你配置了ddns,域名解析到了你的公网ip,你不能访问到内网的服务器,因为这里还涉及到了运营商级 NAT (CGNAT):
CGNAT 就是在你家的 NAT 路由器之前,运营商又加了一层 NAT。
例如我现在的对外的公网ip(打开网站如 ip138.com 或 whatismyip.com,查看你的公网IPv4地址):

在光猫上看一下,ip是100.64.46.176,100.64.x.x 到 100.127.x.x 这个地址段是 IANA 专门为 CGNAT 保留的地址。无疑,这就是在运营商的大内网下:
综上,我的网络拓扑大概就是
互联网 -> 运营商CGNAT网关 (公网IP) -> 光猫 (100.64.46.176) -> 路由器 (192.168.1.5) -> NAS (192.168.x.x)在CGNAT的环境下,内外部访问的流程如下:
这个时候内部访问正常:当内网设备主动访问外部时,数据包会依次经过路由器(第一层NAT)和运营商的 CGNAT 网关(第二层NAT),两层 NAT 都会创建映射关系,所以访问外界一切正常。同时 DDNS 也能正确获取到运营商那层的公网 IP。
外部访问失败:当你尝试通过 DDNS 域名和端口 5000 访问内网的服务器时,数据包到达运营商 CGNAT 网关,CGNAT 网关检查自己的 NAT 表,发现没有任何一条表项的外部端口是 5000,也不知道这个数据包该转发给哪个内网用户。因此,CGNAT 网关会直接丢弃这个数据包,导致连接失败。
综上,如果你同样处在 CGNAT 的环境下,那么你即使使用了DDNS,那么用户侧也只能在 IPv6 的环境下才能访问到你内网的NAS/服务器。
DDNS合规使用讨论
这部分内容,我未在网上找到说的很清楚的文章,AI也并未解答我的疑问,一下内容是个人拼接的零散内容,仅供参考。
是否需要备案:按我理解,如果DDNS只是解析IP地址,并进行NAS一类的远程访问,那么是不需要备案的,如果你要通过ddns解析到内网服务器,并对外提供网络服务,就需要备案;也就是如果仅用于非公开的个人学习、生活用途,或是企业内部网络测试、培训等不对外开放的情况,则无需办理 ICP 备案。这类行为不属于违法。
怎么判断web服务
完全个人使用:仅供自己或少数特定人员(如家庭成员)访问,不对外开放注册或服务,一般认为是合规的。
有限范围分享:向特定的小范围人群(如朋友、同事)分享有限内容,且不涉及商业利益,风险较低但仍需谨慎。
公开服务:向公众提供服务,即使不收费,也可能被认定为需要备案的非经营性互联网信息服务。
商业服务:提供收费服务或通过服务间接获得商业利益,明确需要获得相应许可和备案。
但是在网上也有人讨论,有些网友被运营商限速/处罚,明确说不能使用家庭NAS,所以迷糊了...
使用阿里云DDNS服务远程访问飞牛
这一步相对而言就非常简单了,按照步骤配置好即可;
网络环境确认
当然配置之前你也还得确认一下家庭的网络环境,得确保开启了ipv6;因为不同的网络环境有不同的方法确认;
我家里是光猫+路由器,路由器是tp-link的,所以这篇文章就很适用:https://smb.tp-link.com.cn/service/detail_article_4739.html
我觉得其他的网络环境应该也大差不差的,所以都可以参考配置;
阿里云access key
进去拿一下access key,创建流程可参考:https://help.aliyun.com/zh/ram/user-guide/create-an-accesskey-pair?spm=a2c4g.11186623.0.i1

配置一下DNS(这一步应该是不需要的,可以直接跳过;这里是为了方便查看配置好了DDNS之后这里解析记录的变化的;)
去云解析DNS的控制台,找到你的域名

随便配置一个A解析记录就好了;

飞牛 os设置
点开设置找到远程访问,点击ddns,点击新增

把对应的信息填进来就好了:

配置一下SSL和https端口
按照上面的配置完成之后,DDNS就完成了,为了安全再配置一下ssl:

免费证书获取方式有很多,这里就以阿里云的免费证书为例:

申请好了之后下载,然后将对应的文件上传到飞牛即可

最后就是可以为了更安全,设置一个高端口了:
以上就是全部内容了,希望能帮到你~
评论