飞牛FnOS中的远程访问nas服务的方案

什么是远程访问?

远程访问是指在本地计算机上通过网络访问远程计算机上的资源或服务。这里在NAS中主要是用户外出时,通过网络访问NAS中的服务,比如访问NAS中的文件,访问NAS中的飞牛影视、相册,观看影片、照片等等。内网指的是在同一个局域网内的访问,外网指的是在不同局域网内的访问。所谓局域网,可以简单理解为路由器生成的192.168.*.*的ip网段, 家中的设备一般就是这个网段的。而如果连接了同一个WIFI,或者通过网线连接到同一个路由器,那么这些设备就是在同一个局域网内。而外网,就是指在不同局域网内的访问,比如在公司内网访问家中的NAS,或者在外出时在奶茶店咖啡厅宾馆等场所的WIFI或者网线连接的情况下访问家中的NAS。
外网与内网的区别总结如图
外网和内网的区别

值得注意的是外网无法直接访问内网ip地址,因此需要通过一些手段来实现外网访问内网的设备和资源。常见的方法有:

  1. 使用公网IP
  2. 使用IPv6
  3. 使用内网穿透

公网IP实现远程访问

公网IP是指在互联网上具有唯一地址的IP地址。一般比较难获取到,只能跟运营商申请,而不同地区的运营商能提供的公网ip的能力各不相同,并且普遍不愿意给普通用户提供公网ip,因此这种方法不太可行。

IPv6实现远程访问

IPv6大大扩展了IP地址的数量,地球上几乎每一台设备都可以获得一个唯一的IPv6地址。因此,可以简单认为IPv6全部都是公网IP地址, 目前三大运营商已经全面支持并默认开通了IPv6,因此IPv6是一个简单和低成本的远程方案。

  • 优点:完全免费,配置简单易上手,对新手友好
  • 缺点:对客户端有要求,客户端必须支持IPv6,并且能够访问到IPv6网络。比如,手机5G流量支持IPv6,使用5G移动数据连接就可以远程访问NAS,而如果奶茶店的WIFI不支持IPv6则无法访问。其次是运营商有可能会以PCDN为由封禁用户的IPv6,也就是直接不下发IPv6,NAS上直接检测不到IPv6地址,也就无法使用IPv6远程访问了。

内网穿透实现远程访问

内网穿透一般是指通过拥有公网IP的服务器做中转,实现内网设备的远程访问。内网穿透的原理是:
用户的手机->访问->公网服务器->访问->用户的NAS->NAS上的服务(端口号)
相当于把 用户NAS上的服务的端口号暴露\映射到公网服务器上,用户可以通过访问公网服务器的指定的端口号来访问NAS上的服务。

  • 优点:对客户端友好, 只要能连接上网络就能访问。
  • 缺点:自建内网穿透如Frp需要公网服务器(即VPS)做中转,需要一定的费用。VPS一般由云服务商提供,按月或者年收费,购买和配置部署需要学习和维护成本。而免费的内网穿透服务如Tailscale、ZeroTier等,穿透的带宽和速度都不理想,且不稳定。只能用于带宽友好的场景:比如访问NAS管理界面、访问NAS上的小文件、图片、音乐服务等,对于jellyfin、飞牛影视等服务需要大带宽的场景,不适合。基本上只能够360P最多480P的清晰度转码播放视频,画面比较糊,体验感稍差。

简而言之,公网的IPv4申请不到,IPv6是个不错的选择,如果IPv6被封禁或者客户端没有IPv6,又希望能远程访问,那么可以考虑内网穿透。内网穿透中,Tailscale免费,易上手但是带宽小,Frp需要租赁公网服务器(VPS),折腾但是好用。

如何获取和使用IPV6实现飞牛FnOS NAS的远程访问