飞牛推出已经超过一年了,期间不断更新,基本上成为了一个相对成熟的 NAS 系统。去年 11 月左右,笔者为了服务于部门的日常工作,先后使用迷你主机和自组主机两台设备,搭建了飞牛作为部门的文件服务器。

严格来讲这种非报备的文件服务器有些擦边违规,但是投标资料看中的是时效性,时效内保密的资料也不往这里存,主要还是图个方便。按照现在使用情况,估计再有个多半年就要再捡点垃圾升级了。不过现在存储价格飙升,到时候还不知道什么价。

期间飞牛几次大更新,也终于上线了付费版的穿透服务,可以用来替换掉原来使用的第三方穿透服务。随后又是差不多半年的更新,至今已经来到了一个完成度很高的状态。不过现在还是个人版的系统和穿透服务,企业版要年底才上线,到时候应该会有更多的企业核心功能上线。而且现在个人版也上线了团队文件的功能,后续的使用逻辑还要继续更新,所以这里还是依照个人版的使用体验来聊聊。

需求与使用情况

以投标工作举例,招标文件和工程量清单确实不大,但图纸很多情况下给的都是盖章扫描版的 PDF,基本都几百兆起步。考虑到微信对单个文件的传输大小有限制,大一点文件的根本传不了。而且微信在系统里四处拉屎这个问题大家肯定都明白,转发一次就要复制一份,企业版微信也没好哪去,也就是文件大小限制更高了点,传图纸依旧费劲。而且同样文件会过期的同时,还有完全不行的群管控权限分配……总而言之,微信着实不是干活的好选择。

而投完标之后的文件归集也是个问题,之前建立的存档制度是,投完标之后汇总存档对应的招标文件、终版投标文件和相关总结材料,做好命名整理后,全部汇总到一块硬盘,由内勤人员拿着。这完全不符合档案管理要求。如果需要查找内容又受限于人员工作时间,找点什么具体材料都费劲。

所以去年飞牛出来后,笔者先是刷了台迷你主机,尝试运行了一下备份工作。然后就打算搞二手件攒一台文件服务器,以期能够满足招标文件传递和投标文件存档两个需求——毕竟使用那些在线网盘分享文件,还会碰见各种奇葩的事,这里就不给大家展开讲了。

理想的状况是,最好能直接发个链接过去,让对方直接下载,千万别有什么「技术指导环节」;还有个场景是,因为 CA 锁在流转人员在出差,所以帮别人报名之后还得把文件发过去。最早太大的文件我们直接用邮箱发,这种打包发过去不用管的还好,文件分发让他们自己弄还算方便。但要是自己需要分发文件就挺难受了。

当时一台全新成品 NAS 的价格基本都要 2000 元起步,而且自带外链分享的速度也就那样。那思路就好办了:一是尽量低成本组建文件服务器,不走固定资产规避监管;二是能够在外网环境下较稳定地下载文件;三是文件管理系统易用,支持成员组管理,方便部门人员使用。

那会飞牛 OS 还没有上线外链分享功能,修改外链分享域名是更晚一些的事了。所以当时通过 nascab 这类应用曲线救国,也就正经用下去了。

那大家肯定得说了,既然修改外链分享域名都能做了,为什么不直接修改还要考虑付费的中转穿透服务呢?

其实整体的逻辑链条是这样:现在分公司办公地址是原来兄弟单位的,虽然有固定 IP,但内网建设沿用了人家的设备,主路由的密码完全不知道,也找不到当时的人员,所以完全没法搞端口映射。而且即便知道了,企业固定 IP 的受攻击风险也更大,也就别琢磨什么 consle 接入、保留配置重置密码这些操作了。出于工作需求、能报销还没有其他操作,和自己吭哧吭哧冒着主路由宕机的风险调试,你会选择哪个方案?

外链分享开了之后,笔者考虑的是使用最初的那台飞牛或者使用云服务器进行中转,但自己这台设备是家宽,宿舍几个人又经常性全部出差,远程情况下宕机情况没法解决。而高带宽的云服务器也就新人有个优惠,第二年续费又贵了很多,比较小的厂商倒是有便宜的,但我估计我没配置完它们就跑路了。而且在多台机器上尝试配置 FPRS 和 FRPC 服务就一直没成功过,索性也不折腾了。所以相当一段时间内文件分享我们还是靠的宿舍那台,办公室这台仅用于内网分享和文件备份。

后来飞牛终于推出了付费版的穿透服务,12/40Mbps 的速度正好跟大部分单位办公室分配到的上下行带宽差不多,足够跑满,而且只要 99/199 元每年就能解决,稳定性和易用性远高于其他方案——别跟我说百度网盘会员也是这价,个人用和「集体」用之间还有不少的坑,一是你得用自己的手机号注册业务,二是到时候文件分发你还得挨个扫码登陆,三是你就看看百度网盘走报销审计会不会找你吧。

能用钱解决的问题就不是问题,能用钱规避麻烦还能报销就是最合适的路径。

如果你所用的网无法获取公网 IP,自己也懒得琢磨调试,并且很多内网穿透的方法怎么搞都搞不成(比如笔者自己),那也可以考虑飞牛的穿透服务。毕竟具体的网络环境各有各的不同,能用钱解决的是还是尽量别消耗过多的时间精力。在笔者看来,这个价格比玩游戏充月卡便宜多了,就是不知道后续会不会开放端口自定义,这样部分自建服务也好做外网暴露。

不过牵扯到备案的问题,端口自定义功能估计也不会很快对个人用户开放。如果对企业用户开放了自定义端口或者四级域名,部分非保密性的在线业务直接映射出来会方便很多。对于个人用户而言,还是琢磨下反代吧。

部署目的与选型

再回到办公室这台机器上,当时的思路很简单,这台机器不入账计固定资产,所以在保证稳定的情况下越便宜越好。

那最开始想到的自然是搞个二手工作站,基本的需求如下:

  • 必须得有 3 个或者更多的硬盘接口;

  • 处理器必须有核显,不需要单独配独显,规格尽量高;

  • 机箱尺寸尽量小,最好比塔式机箱更小。

在满足以上要求的同时,综合造价尽量便宜,翻了不少的文章,最后选择了 600G1 SFF,彼时购入价格为 185.22 元。肯定会有人说 G3 的价格只有二百,为什么不上更高的,其实点进去看就能发现完全做不到这个价格,是常见那种价格陷阱而且不包邮。当然现阶段 G1 也不建议了,毕竟价格上涨了 25% 有余,不如再加个二三十直接上 G3。

接下来基于这台 600G1 SFF 开始选型。首先是硬盘的选择,当时的打算是两个接口做 RAID1,这个存储池放只需要存档的冻结数据和文件,还有一个接口接个固态,这存储池作为系统盘和需要大量交换的活动数据和文件。基本架构就是考虑容量了,飞牛系统占用分配 48G 绝对够用了,部门总共 11 个人,单时间段的对外动态数据不会超过 150G,考虑到一些备份预留,SSD 有个 480G/500G 足够了。

机械盘这边,手上有一块富余的 2T 硬盘,再添一块二手机械组 RAID1 就行了。直接找了服务器拆机的盘,一块 Intel 480G 固态和一块希捷的 2T 机械,拢共 378 元。

这颗 E3 1265L V3 毕竟还是四代的处理器,彼时入手价格为 104 元,现在价格已经涨了 50%,没有购入必要了。能上消费级主板 E3 V3 是唯一的优势,处理器最后一位是 5 代表有核显,0 则是没有核显。为了方便装机所以买了带核显的版本,而且比起同代基本同规格的 i7 可便宜多了。唯一的缺点可能就是核显规格不太行,但做一个文件服务器使用,实际也并不需要核显性能有多强。

处理器标示的 TDP 有 45W,实测整机的待机功耗在 18W,启动传输情况下的功耗则是在 32W 左右,每月平均耗电差不多在 15 度左右。相比成品 NAS 来说,这个功率也算可以了。飞牛更新之后,远程进入管理页面后,非活动的机械盘并不会起转,毕竟活动数据都在固态上。在办公室备份资料到机械盘,功耗差不多 60W 上下。

内存这边踩了不小的坑,因为这台机器直接加内存会不识别。最初我是 3 根 4G 的 D3 内存,确认了其中一根损坏无法使用撅了退款,以 8G 的总内存运行了小半年。后来有时间了又买了两根补上,折腾一下午都不行,都有把机器砸了的心了,结果又莫名其妙识别了新加的内存。内存总共花了 35.99 元,如果更换陈两根 8G D3,价格会高上不少。而且我估计即便选择 8G D3 同样会有识别问题,考虑到现在价格优势已经完全没了,抄作业还是上更新的设备吧。

另外还需要单独购买硬盘螺丝,算上邮费差不多折合 1 块 1 个,总共需要 8 颗。光驱位的尺寸只适合再装一块固态,但是总共 SATA 口就只给了 3 个,必须再来一张 PCIe 转接卡。至于 3.5 吋的机械硬盘就不要想了,没有能够固定的位置。后续换来新的二手硬盘多走两步替换就行了,总归只是个备份。需要中转的数据都放在 SSD 上,节能而且传输速度快。

手上还有一台零刻 Me mini 飞牛联名款,带了 5 年的专业版穿透服务,如果业务需求不需要机械硬盘的话,这也是个不错的选择。这台机器是当时 Me mini 普通版试用后,置换的带穿透服务的联名款。价格自然离固定资产入库的价格还远得很,双 2.5G 网口也足够内网的带宽开销了。联名款与标准版的机器区别有两处,一是机器顶部外壳的丝印标注了联名款的 LOGO,二是机内 EMMC 预装了飞牛系统。

说白了 600G1 SFF 这台就是屎上雕花,毕竟要便宜还要一定的性能还要机械盘位。在我看来是没有 ME mini 这样一步到位舒服的,顶多还得配个硬盘盒,整体的成本更高一些。而且跟主机一比占地面积小了太多,而且工作站的机箱比这 Xbox Series X 还要大不少。如果是比较小的工位,捡垃圾这思路是真不太行。

而且现在固态价格又起飞了,要是手里多余的固态很多,这么多硬盘接口你就只管插满,剩下的系统来想办法。6 根 256G 的固态好歹都能凑出 1.5T 来,这个容量已经足够绝大多数非影音需求的用户情况了,相信大家随便找找就能找出不少闲置的 M.2 固态硬盘。

面向的场景

具体的工作内容就不展开了,大家可以理解为单一的文件需要分发到很多人,而且无法借各类助 OA 或 IM 软件。在这个情况下降低多层多次传递,通过网盘来保证对应版本文件的分发。

现在飞牛同步也上线了,这样还可以将过程版的文件同步备份,万一工作电脑硬盘灭失还能找个可用的版本出来;还有全部工作完成后定稿文件的存档,也是个人忙完这个项目或远程或在机关进行上传备份。

诚然这些功能飞书、钉钉之类的是可以满足,甚至 WPS 的在线文档都加上身份验证和权限分配的都可以实现类似的功能。但关键在于,投标工作组并不是一个长期机构,而且在线文档没有本地文档直观,使用的上手学习成本依旧存在,反而会降低效率。而且有个链接直接甩给要文件的人,可比我没在电脑旁时、得在手机上找到之前发送的文件再转发出去方便多了。

当然这种东西最重要的就是让大家开始用,哪怕大部分人不看,那至少得有个可用的操作手册供人参考。而且作为辅助工具,对部门大多数人的作用还是资料备份,像笔者这样通过文件分享进行招投标文件分发的人并不是多数。希望之后的企业版,能够将对应的教程集成个图文版本的进去而不是只有实机的首次使用引导。

以主账号共享链接和次数为例,图中的都是已经完成投标和后续流程交接的内容。像联合体投标的项目,访问次数就到了 79 次,二十来个人差不多是这个比例。自行投标的比较大的项目,访问次数则是 31 次,也确实就这么十来个人干活。而针对个人分享的成果性文件,访问次数就是个位数。

以其他账号共享链接和次数为例,他这个账号主要是用于他们组内的文件同步,所以基本都在 20 次以内。当然并不是每次访问都进行完整的下载,个人版没有流量统计的展示,不知道之后企业版会不会有相关展示,中转服务的流量监控统计应该还是很好做的。

再来看外网状态下传输速率表现,绑定专业版穿透的文件服务器跑所在终端速度的上传网速上限是 50Mbps 的南京电信,拉取文件的则是南京联通的千兆宽带。可以看到传输速率基本在在 4MB/s 上下,折算就是 32Mbps 略低于宣传的 40Mbps,差了 20% 左右。但笔者在此期间也看了其他人的穿透传输速度,很多能够达标 40Mbps,应该是本身网络的的情况就这样,单位最近在新拉网线接 AP,后面给这台机器补个无线网卡做好汇聚,表现应该就能顶格了。

绑定高级版穿透的 ME mini 是北京联通,拉取文件则是机关的南京电信。实际传输速率基本在 1.2M/s 左右,折算下来 10Mbps 左右,也是跟标称速率差个 20% 不到。所以两版实际传输速率大家就按八成考虑就行,估计和网络情况、流量统计口径都有关系。

官方穿透还支持第三方应用和 Dokcer 应用的远程访问,以上架官方商店的 OmniTools 为例,在外网环境下直接点击应用图标,就能够直接跳转到 omini-tools. 你的 FNID.5ddd.comomini-tools. 你的 FNID.fnos.net 这两个链接,提供的所有功能都能正常使用。能够远程使用 OminiTools 之后,不需要像原来那样,在新电脑或者其他临时电脑上,安装 WPS 之类的软件或者工具再登录自己的账号。处理下图片和 PDF 内容这种轻量化的需求,在线就可以搞定,走的时候把飞牛账号注销登录就行。

当然像 dosgame web 这种通过 Docker 部署的应用,在 Docker 容器管理页面点击链接的快捷键,也能够通过飞牛穿透开启远程访问。这样也能保证大部分的服务,可以在外网直接设置,不需要进入内网环境才开始验证。像 1Panel 和 Lucky 这些限制公网访问的应用来说,这种模式也不容易遭到攻击,毕竟要从飞牛的管理页面进行跳转,整体的安全性可以接受。

聊聊其他替代方案

实现远程满速访问 NAS 的核心思路是建立一条数据传输通道。不严格而且有重复交叉的可以分为以下大类:代理转发、虚拟局域网/软件定义广域网 SD-WAN、反向代理隧道、端口暴露打洞、商业代理转发、走 IPv6。

这个分类是基于自身认知和理解,所划分粗糙,如果有更精细和准确的划分思路欢迎交流。以下的优缺点评判基于免费版或者最基础价格套餐。

代理转发的代表性工具有 FRP 和 ngrok,优点在于你有最大的可控性,可以根据具体需求进行自定义设置,但前提是需要你有一台对应的 VPS 或者有公网 IP 宽带下的设备作为中转服务器,而且成本并不低,稳定性依赖中转服务器的网络质量;使用 VPS 则是大厂便宜的带宽低,小服务商的便宜高配一定跑路,境外低价服务商速率表现不好且也容易跑路。

虚拟局域网的代表性工具有 Zerotier 和 Tailscale,优点在于配置完成后,下属设备可以像在局域网内互访,但复杂内网或者跨运营商情况下打洞成功率较低,且免费版的功能受限。并且使用 Zerotier 自建 Moon 服务器的话,使用国内云服务器容易封 IP。二者都是基于一个或多个官方或非官方的认证服务器,来认证哪些设备可以解析加入所建立的虚拟局域网,也是多个独立子网集中管理的最佳选择之一。

反向代理隧道是专门给 Cloudflare Tunnel 的一个分类,如果只有 Web 界面应用的话整体配置极其煎蛋,而且 Cloudflare 作为云服务商集成了 DDoS 防护和 Web 防火墙,安全性较高。免费版只支持 http/https,需要稳定暴露其他 TCP/UDP 服务需要付费订阅。而且速度表现依赖于流量被正确路由到国内的节点,而很多时候都要跨境走一道,这时的速度表现就不太行了。这不前两天刚全面崩溃一回,真是成了 Cloudflare 直译「云闪爆发」。不过这算是互联网基础设置崩溃,个人也没啥好的应对方法。

端口暴露打洞是专门给 Lucky 的一个分类,严格来讲是给 STUN 协议的。STUN 是服务于 SD-WAN 协议,使用 Lucky 就是借助了 STUN 协议和外部的 STUN 服务器来打洞,通过 UPnP 暴露端口,从而建立一条 P2P 临时通道。缺点自然也显而易见了,配置复杂学习成本高,而且必须是 NAT1 全锥形网络,更复杂网络环境无法使用,需要借助 Webhook 将时时更新不定期变化的端口。

商业代理转发就是像花生壳 Oray、Cpolar 和 Nascab 这种,与自建 FRP 的原理是相同的,付费能够获得稳定高带宽的服务和及时的技术支持,但其底层架构无法自定义,而且价格相比自建会更高。以花生壳为例,NAS 版最低套餐是 98 元/年,价格与名称与官网的其他版本都不同,但也看不到更具体的服务情况。

走 IPv6 的前提是你得有真正的 IPv6 网址,不结合以上的各个工具,是绝对能跑满上传的。但是关键在于,建设较早的单位内网基本不会给你配置 v6,部分地区的家宽也是在对称性 NAT 环境下的内网假 v6 地址。像笔者单位就就是只有 IPv4,而各地电信用户则是存在大量 v6 NAT6 的情况,不可避免地回到了更原始的思路。不过笔者家中宽带的 v6 连接类型是 Native,搞个虚拟局域网还是可以玩玩的。

所以大家看到了问题在哪么?对啦,就是这些替代方案都需要自配,很难做到开箱即用。相比付费穿透的便利性而言,所谓的其他优势都可以忽略了。不能开箱即用就意味着不适合我的使用场景,类似投标组员这种临时用户不能便利的使用相关的文件服务。当然商业代理转发这种也能做到理论上的开箱即用,但我用的系统就有了对应的付费服务,其他的商业代理转发都是第三方,为啥不用原生的呢?

优点与不足

相比其他的所谓内网穿透方案来说,飞牛穿透的最大优势在于省事且稳定,毕竟哪有花钱的不是。

对于终端用户来说,需要保证的是使用体验而不是所谓成本,能够稳定地使用才是唯一的重点。专业版的每月 1000G 的流量完全能够匹配我们的投标量,之前 8 月份最高我记得也就不到 300 个 G。粗估有关单人的累计下载量上限也就 4-5 个 G 左右,将近 20 个投标项目差不多调动了单位内外超过 100 个人倒也正常。

第二个就是支持直接访问内置应用和 Dokcer 应用,比如笔者通过文件服务器部署的相关服务能够做到开箱即用。像 Sun-Panel、Onmi-Tools 这些应用配置完,点下图标就能在外网正常打开了。docker 应用也是类似情况,多点两下就能在外网访问。

最重要的当然是可以开票,而且是可以开专票。对于对公使用的情况,能开票就是最大的优势。能够用钱解决的问题都不是问你,而且能够报销,我肯定不考虑自己咔咔踩坑。能提供在线网盘的服务,但不需要安装软件也不需要会员,这种更贴近企业的使用需求。如果企业版能够加入临时账号认证这种就更好了,可以分配给每个人不同的账号并记录 IP,这样即便有泄露也方便溯源。

不足也是有的,穿透服务是绑定到单个设备上的,当然这是从企业用户的角度出发,对于绝大多数用户而言这点不算问题。对于企业用户来说,会涉及到异地多台设备同步,不过两台异地机器间纯用穿透同步确实也不太现实。而使用网盘加密中转,总归还是在合规要求上存在风险,毕竟有的锅不能背啊。

最后的一些想法

不管是捡垃圾还是买新品,基础的出发点都是为了少花钱的前提下保证所需功能。捡垃圾有捡垃圾的玩法,从东拼西凑到最终可用,稳定运行;买成品有买成品的玩法,开袋即食简简单单,该有外围设备都有。

零刻和飞牛硬件联盟的首款硬件就是秉承着这个思路,以往的传统 NAS 硬件只提供了 3.5 寸盘位,没有给固态预留的插槽和接口,所以把 NAS 系统装到 EMMC 上成了一个选择。但 ME mini 本身就是全闪化的设备,笔者认为是没有必要留着寿命速度都远低于固态硬盘的 EMMC 存储的。

当然现在飞牛已经支持系统设置备份,而且 Docker 的存储位置可以是非系统盘,可以重建后直接识别原来的设置信息使用的,不用单独 compose。对于需要换机升级的用户而言,这个状态就算是可接受了,不过官方应用最好提供备份功能,这个的实现工作量高了不少,不知道什么时候能更新进来。新款联盟硬件的 ME mini 是单一块硬盘占据一个插槽,还剩下 5 个空余插槽可以插满,把手上闲置的固态凑一凑,这种 4K 性能达标的 NAS,相比全机械的品牌 NAS 更加方便,实际上是另外一种使用状态了。

再回到付费穿透服务,如果你想省心图省事,单独购买服务或者购买硬件联盟产品都是不错的选择。而且现在支持直接打开第三方应用和部分 Docker 容器,缺点可能就只有因为证书的问题会先报警,需要手动确认后再打开对应链接。但正经部署在文件服务器上干活的应用,全都是设置的本地账号,所以也就没太大所谓了。

如果你有百度网盘或阿里云盘会员的话而且只是自己使用,也可以使用系统自带的加密备份。第一台飞牛设备的文件加密上传备份到网盘,再使用另一台飞牛设备从网盘下载备份解密。这样也能变相吃满上行速度,缺点就是加密解密都需要时间,而且需要文件完全下载到本地后,才能对文件进行操作。

所以还是要基于实际需求与显示情况出发,少花钱又要稳定,那自然就是需要消耗更多的经历和学习时间。

还有经同办公室的同事测试,新网的上传速度基本有 100Mbps 上下,所以得弄张无线网卡装上。后面还会有几台跑 AI 服务的机器放办公室,还得再弄张千兆网卡汇聚进来。再搞个虚拟局域网把异地几个工位放的机器都汇集起来,更好的进行管理。而且还会持续续费飞牛的穿透服务,光一个文件分发的便利程度就已经值回票价了,现在还支持官方及第三方应用的自动映射,有个挺省心省力的保证就行了。