fnos内网穿透

0. 前言

今年决定考研后,在网上下载了一大堆考研视频资料,然而我的平板内存太小,不能装下多少。于是我踏入了这个熟悉又陌生的领域——NAS(Network Attached Storage)。熟悉是因为我深知NAS与充电宝、路由器并称“中年男人三大件”,而NAS只是私有云端存储的一种介质。陌生是因为从未真正接触过,NAS可以理解为一台7×24小时不关机的电脑,主要用于数据存储和共享。

起初只是为了存储数据,由于并没有大量文件反复读写的需求,我选择了J1900平台(一款低功耗的工控机主板),采用被动散热方案,功耗较低,非常适合作为NAS使用。J1900平台的低功耗特性使其适合长时间运行,满足家庭NAS的日常需求。

fnOS(飞牛OS)是一款由中国开发者打造的优秀NAS操作系统,功能齐全,支持多种应用场景,如文件共享、媒体流传输和Docker容器管理。该系统于2024年正式发布,至今所有功能均免费使用,在中国NAS用户中广受欢迎,尤其适合初学者和中小型家庭用户。根据Reddit上的讨论(r/HomeNAS讨论fnOS),fnOS因其易用性和内置应用(如TV和相册功能)受到好评,但目前仍处于公测阶段,官方版本尚未发布。

1. fnOS的安装

安装fnOS的过程与安装Windows类似,具体步骤如下:

  • 准备工作: 需要准备一个容量大于8GB的U盘、一台显示器、键盘(鼠标可选)以及NAS主机。确保U盘已格式化并空闲。
  • 下载和写入镜像: 从fnOS官网(fnOS官网)下载系统镜像文件(通常为ISO格式)。使用工具如Rufus或Etcher将ISO文件写入U盘,生成可启动U盘。
  • 安装过程: 将U盘插入NAS设备,重启后通过BIOS/UEFI设置从U盘启动(Boot from USB)。进入安装界面后,选择图形化安装(使用GPT磁盘模式,支持UEFI引导)或恢复安装(使用MBR模式,支持CSM引导,但最大支持2TB硬盘)。根据提示完成分区、设置网络(如DHCP自动获取IP)等操作。
  • 完成安装: 安装完成后,系统会自动重启,建议在重启前拔出U盘以避免再次进入安装流程。启动完成后,屏幕上会显示系统信息,包括IP地址。此时,可通过浏览器输入IP地址(如192.168.x.x)访问fnOS管理界面。

根据飞牛OS安装指南,fnOS支持swap分区作为内存扩展,当内存用尽时会将数据写入swap,相当于将硬盘的一部分作为虚拟内存使用。这对于NAS设备尤为重要,尤其在运行多个服务时。

2. 内网穿透的选择

由于IPv4资源枯竭,且校园网不支持IPv6网络,直接使用fnOS内置的DDNS工具绑定域名变得不可行。因此,我选择了内网穿透作为解决方案,以实现远程访问NAS中的数据(如考研视频、相册同步等)。

2.1 frp穿透工具

最初,我考虑使用frp(Fast Reverse Proxy)作为内网穿透工具。frp分为客户端和服务端,工作原理是将NAS客户端的数据上传到具有公网IP的服务端,通过访问公网服务器来间接访问NAS中的数据。

然而,frp的配置较为复杂,尤其是在新版本中配置文件从ini格式改为toml格式,内容格式要求严格。根据我的经验,网上的frp穿透教程较少,配置过程耗时且容易出错。经过多次尝试,我虽然成功在自己的服务器上部署了frp,但穿透速度不理想,且需要消耗服务器大量流量,最终放弃了这一方案。

2.2 第三方frp服务

随后,我尝试了第三方frp服务,如sakurafrp。优点包括:

  • 穿透速度较好,适合中小型文件传输。
  • 流量可以通过每日签到获得,降低使用成本。
  • 配置简单,官网提供详细文档(如参考文档)。

但缺点是,在线播放视频功能失败(可能是由于数据转移导致)。最终,我因网速限制而放弃了这一方案,尤其是在校园网环境下,速度瓶颈明显。

2.3 皎月连(NatPierce)

在B站学习电脑串流相关内容时,我发现了一款名为“皎月连”的内网穿透工具。与frp不同,皎月连采用P2P(点对点)形式进行内网穿透,消除了中继服务器的带宽限制,从而提高传输效率。根据皎月连官网,该工具使用最新的P2P算法,即使双方网络均为对称型NAT(NAT4)环境,也能实现直连,无需第三方服务器中转。

在测试中,我发现皎月连在校园网(NAT2/NAT3形式)环境下表现良好,五一假期回家测试时,即使相距600公里,也能顺利打通。在外网使用5G网络时,下载速度可跑满校园网带宽,显著优于frp和sakurafrp。皎月连还支持TCP和UDP两种协议,数据传输采用AES128位加密算法,确保安全性,适用于家庭摄像头直连、NAS访问、远程控制或远程游戏联机等多种场景。

3. 皎月连的安装

皎月连官网提供多平台安装包,包括Windows、Linux、Mac、Android、OpenWRT等(暂不支持iOS,可能是因为上架App Store需要额外费用)。由于fnOS自带Docker功能,可以通过SSH工具执行一键安装命令,将皎月连部署在Docker容器中。

具体步骤如下:

  • 确保fnOS上的Docker服务已启用,可在管理界面(设置 – 系统设置 – Docker)中检查。
  • 使用SSH工具(如PuTTY或Terminal)连接到fnOS设备,登录后执行皎月连提供的安装脚本(脚本可从皎月连官网获取)。
  • 安装完成后,皎月连会在Docker容器中运行,用户可通过管理界面或客户端访问。

根据Deep Router的安装指南,fnOS默认关闭SSH登录,需要在管理界面手动开启(设置 – 系统设置 – SSH),并建议修改端口为1024以上的高位端口,以提升安全性。

4. 服务端配置

在浏览器中输入NAS在路由器中的IP地址(默认端口33272),登录fnOS管理界面。在服务端配置部分,可以设置以下功能:

  • 组网功能: 将穿透后的设备与NAS置于同一虚拟局域网范围内,实现内网穿透,适合多设备协同工作。
  • 端口转发: 将本地特定端口映射到NAS设备,方便远程访问。

由于iPad上没有对应的皎月连客户端,我选择了端口转发功能。具体配置如下:

  • 在fnOS管理界面中,进入端口转发设置,配置规则如下:
    • 本地地址:127.0.0.1
    • 本地端口:5666(fnOS默认IPv4端口)
    • 协议:TCP
    • 填写完成后,点击“开始服务”。
  • 在其他设备(如Android手机)上,打开皎月连客户端,登录后选择对应的NAS设备并进行穿透。
  • 在Android手机或其他平台中,输入127.0.0.1:5666即可远程访问NAS。
  • 在iPad中,通过访问无线热点的IP地址(如192.168.x.x:5666)即可访问NAS。

经过实测,穿透后的下载速度可以达到70-80Mbps,充分满足了我的需求,尤其是在5G网络环境下,速度表现优异。

关键引文

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部