自组 NAS 的远程访问方案,总有一款适合你!

目前最全的自组 NAS 远程访问方案,你可以从中总挑选一个适合你自己的。

自组 NAS 的远程访问方案,总有一款适合你!

当你有了一台 NAS 之后,总会有这样的需求:不在家的时候该如何访问?对于很多成品的 NAS 来说,已经内置了远程的服务,比如群晖,威联通,极空间,联想等等。这种远程访问的服务本质上是 NAS 厂商提供了一些中转的服务器资源,来帮你实现内网穿透,达到远程访问的效果。这种远程访问方式设置简单,甚至有的也无需设置,就能开箱即用。但由于远程访问服务依赖这些服务器,所以不可避免的访问速度非常受限于这些服务器的带宽,如果同时使用的人数过多,速度自然就会变慢。而对于我们自组的 NAS 来说,也有很多不错的方案可以选择,效果也不一定比这些成品的 NAS 差。

最佳方案 - 公网 IP

如果你可以向你的宽带运营商申请到公网 IP,那这也是最好的远程访问方案了,远程访问速度基本可以跑满你的上行带宽。

公网 IP 如何申请?

打电话给你的运营商客服,理由就说你的家里需要安装监控,看孩子、看老人都可以 😂,有些地区的运营商很给力,几分钟就能设置好,也有的需要你填表格,还得写保证书之类的(之前我申请过联通的,需要自己打印一张保证书并签名,说明申请公网 IP 的用途),每个地区每家运营商都有所区别,具体可以详细咨询运营商客服。相对来说电信、联通比较容易,移动通常很难申请到。

如果可以到申请公网 IP,也同时让你的运营商帮你把光猫改成桥接,这样做的好处有两个:一是光猫的性能通常并不好,容易成为网络访问的瓶颈,你可以用自己的路由器来进行拨号上网。二是自己买的路由器通常界面相对光猫来说比较友好,设置端口映射比较简单。

申请到公网 IP 并改完桥接之后该如何设置?

首先你需要确认你的路由器现在已经申请到了公网 IP。到你的路由器管理后台,查看 WAN 接口分配到的 IP 地址,以及访问 https://ip.hao86.com 查看你的 IP,如果这两个 IP 一致,那你的这个 IP 地址就是公网 IP。你可以直接在浏览器地址栏输入这个 IP,就能访问到你的路由器管理页面了。

接下来就是设置端口转发(映射),作用就是把你访问公网 IP 的这个请求,转发到你的内网的 NAS 上面。举个例子,你的内网群晖的访问端口是 5000,如果通过公网 IP 来访问,你可以使用自己定义的端口(尽量不要使用群晖默认的端口来映射,比如你可以将远程访问的端口设置为 8000)来映射到群晖。具体各个品牌的路由器设置大同小异。很多常见的成品路由器是开启 DMZ 主机功能,然后设置 NAT 转发。如果你使用 OpenWRT 来作为主路由,那就可以直接在防火墙中设置端口转发,设置起来也都比较简单。

tzJAMi_WK7BjX

注意安全!

公网 IP 虽然效果是最好的,但这种方式是直接将你的内网设备暴露在了公网上面,所以也增加了很多安全风险,在使用的时候也需要注意安全。

  • 对于映射到公网的服务,务必使用高强度的密码。如果是自带默认密码的服务,一定要把密码改掉!
  • 如果服务支持二次验证,可以开启二次验证(比如群晖里的 双重验证)来增加安全性。
  • 对于映射到公网的服务,不要使用默认的端口,尽量改成其他的端口,这样可以避免很多比较低级的恶意访问。
  • 只将自己必需的服务映射出去,非必要的服务不要映射。因为多一次映射,就多一份风险。
  • 可以买个域名,将自己的公网 IP 通过 DDNS 映射到域名上,并且申请 HTTPS 证书,使用域名来访问自己的服务,这样可以保证你的数据传输过程中是比较安全的。

优秀的备选方案 - zerotier

如果你的宽带是移动这样的大内网,很难申请到公网 IP,那其实也没关系,可以试试 zerotier 这种方案。这种方案我之前写文章介绍过,具体可以看这里:使用 Zerotier 进行内网穿透

虽然这种方案的速度可能并不如公网 IP 那么快,但是这种方案也有其优点,就是安全性相对公网 IP 来说较好,因为远程接入的设备在 zerotier 后台都可以由自己控制,哪些设备允许授权访问,哪些设备没有被授权,自己都一清二楚。

Zerotier 还可以通过路由映射功能,来达到内外网访问无须修改访问 IP。简单来说,就是你在外面访问的时候,只要打开 zerotier 开关,连上你的网络,就可以直接输入你的设备内网地址和端口,所有的内网设备和服务都可以直接访问,无须像公网 IP 那样逐个映射端口。这也是 zerotier 非常值得推荐的地方。

傻瓜式的方案 - Tailscale

还有种和 zerotier 类似的方案,就是 Tailscale。这种方案是基于 WireGuard 的 VPN 服务,原理也是把你的设备都连到同一个虚拟的网络里面,然后你的设备都可以互相访问了。和 zerotier 不同的地方是:这种方案依赖 Tailscale 的服务器来提供中转,而 zerotier 会优先尝试两台设备间直连,如果可以直连,那就无须中转。因此 zerotier 的远程体验在某些时候相对 Tailscale 要好一些。

Tailscale 的优点在于设置非常简单,在每台设备上都使用相同的账号登陆,就可以互相访问了,非常适合对带宽要求不高的用户。

自建中转服务器方案 - frp,nps

如果你有一定的 Linux 基础,而且拥有自己的云服务器和域名,那可以试试自建一个自己的中转服务,比如 frp,nps。这类服务方案也比较多,挑一个好用的就行。

这种方案的优点是如果你的服务器速度比较理想,那自建的效果就比较好,甚至也不比公网 IP 效果差。而且也可以使用域名来访问,将你的服务端口也可以隐藏起来。缺点是自建有一定门槛,上手难度比较高。

具体搭建方法,网上也有非常多的教程,而且都有官方的文档可以参考,我这里就不赘述。

我自己也搭了一个 nps 服务器,使用体验也非常不错,而且客户端部署非常简单,支持使用我提供的二级 https 域名,如果你想使用我这个服务器,欢迎私聊!

无须自建服务器的反代方案 - Cloudflare Zero Trust Tunnels

常规的反代方案都需要一台中转服务器,比如上面说的 frp,nps 等等。如果你没有公网 IP 和服务器,而且能希望映射出去服务可以通过域名访问,那可以试试 Cloudflare Zero Trust Tunnels。这个我也写了教程,具体可以参考:内网穿透新技能 - Cloudflare Zero Trust

这种方案的设置稍微复杂一些,不过这种方案也有个比较好的地方,就是可以将你映射到公网的服务加上二次验证。比如我的 NASBT 服务,NAS 服务我加了二次验证,BT 服务由于我需要使用远程客户端连接,客户端不支持二次验证,所以就没有添加。这种映射出去的服务,无须打开 zerotier 这样的开关就可以直接访问域名使用,对于日常访问也足够了,非常适合对带宽需求并不高的远程管理这种场景。

付费方案

如果你对上述的方案都不满意,那也可以考虑使用付费方案,我在这里也推荐一个比较便宜,非常具有性价比的方案 -- DDNSTO

虽然我没使用过这个方案,但这个方案的价格实在具有性价比,一年仅 26 元(4 Mbps),4 Mbps 对于大多人或者大多数场景来说,远程访问已经够用了。这个价格买不了吃亏,买不了上当,而且买之前可以体验 7 天,值得试试!

如需定制 NAS,可以扫码添加我的微信沟通。提供从硬件到软件的技术支持!