男人的三大玩具:软路由、充电头和NAS

20251128-125905.webp

PS:为步入中年提前做准备

但是当搭建了三大巨头之一的NAS之后,我们往往不会满足于现状,远程访问是我们会遇到的第一个大问题。这篇文章就来讨论一下,NAS应该如何远程访问,以及每种方法的优劣。

注意,本文只是进行技术探讨,给出一个NAS远程访问的方法论,并不手把手展示全部技术细节,因为具体实现的方法多种多样,NAS的品牌也很多,没有一个统一的方法,网上也有很多教程,但是我会在关键地方给出必要的技术细节。

如果有机会,后期我会考虑出几篇具体的技术实现教程。

方案一 使用官方提供的远程访问服务

对于一些成品NAS,官方是提供了自带的远程访问服务,数据通过官方的服务器进行传送。这种方案优点是快速、便捷且相对安全,适合新手用户和嫌折腾的用户。

各家成品NAS的官方远程访问服务:

  • 群晖:QuikConnect
  • 飞牛:FN Connect
  • 威联通:myQNAPcloud
  • 铁威马:TNAS.online
  • 极空间:zconnect
  • 绿联:UGOS云服务

但是,往往这些服务给的带宽很低,并且有可能收费。而且对于NAS DIY用户来说,这些服务更是无法使用到了。

那么就止步于此了吗?对于拥有三大爱好的男人来说:

20251128-125939.png

方案二 家用宽带DDNS

家中每年交着成百上千的宽带费用,怎么能够不利用起来!但是运营商分配的公网IP地址通常是动态变化的,我们无法得知下一次会被分配到什么地址。怎么办呢?

20251128-125956.webp

我们可以使用DDNS服务(动态域名解析,Dynamic Domain Name Server),将域名动态地指向公网IP地址,当IP发生变化时,会即时调整域名解析到的地址。

这种方案的前提:

  • 拥有公网IPv4地址,或者拥有IPv6地址
  • 拥有一个域名
  • 路由器或者NAS支持DDNS

第一步 准备一个公网IP地址

如果前期已经找运营商开通了公网IPv4地址,那就可以直接使用IPv4地址。如果没有也没关系,可以看下面的IPv6,也不建议去开通IPv4,现在运营商的公网IPv4地址已经不太好开通了,并且开通了会对家庭宽带的安全性造成威胁,所以不是很推荐使用IPv4。

因为IPv4地址池较小(IPv4只有32位),可以很容易被穷举出来,互联网上有大量的扫描器在24h不间断探测暴露在公网上的服务,即便有的运营商给的公网IP是动态变化的,但也可以很快被黑客们扫描到,进而发起攻击。

那么如何查看是否支持公网IPv4地址呢?

百度搜索IP

20251128-130030.webp

然后进入路由器,查看WAN口上的IP。如果两者一致,则证明本地获取到的运营商IP和出口IP一致,也就是拥有公网IP。

在IPv6普及的今天,一般来说家用宽带都已经开通了IPv6服务,可以通过下面这个网址检测是否支持IPv6:

https://www.test-ipv6.com/

支持IPv6的界面显示如下:

20251128-130103.png

如果发现没有开通,可以找装宽带的小哥或者运营商咨询,有可能是光猫、路由器设置没打开或者不支持,也有可能是因为没给你开通IPv6,这里就不啰嗦了,网上也有很多开通教程。

IPv6我是支持开通的,因为它对于网络环境的提升是有帮助的,而且IPv6地址池很大(IPv6有128位),很难被穷举出来,即便穷举出来了,IPv6会因为租期到了更换为下一个IPv6地址,并且大部分路由器的防火墙默认会对IPv6进栈流量进行拦截(iKuai路由器除外,默认全通)。

第二步:配置DDNS

首先在域名服务商处创建API密钥或者token。

DDNS功能的可用途径:

  • 路由器自带的
  • NAS自带的
  • 脚本

如果你是WinNas,可以尝试我开发的这款基于腾讯云的DDNS脚本:https://github.com/vastroc/Win-DDNS

注意:这种方案整体不推荐

这种方案整体不推荐!无论是IPv4还是IPv6,只要暴露公网,都会对家庭网络造成很大威胁,虽然IPv6很难被穷举探测,但是使用DDNS服务后,就相当于直接告诉了别人自己的IPv6地址,具有极大的安全隐患。

安全建议:

  • 防火墙设置仅允许特定地址和端口被远程访问
  • 修改NAS的默认端口号,尽量改到高端口,降低被扫描的风险
  • 开启双因子验证,防止账号被爆破
  • 开启爆破封锁策略

方案缺点:

  1. 将NAS直接暴露到公网对数据的威胁风险极高。
  2. 家用宽带运营商会封锁80、443等常见端口。但是也不推荐使用这些端口,会增加被扫描的风险。
  3. 如果使用IPv6进行映射,那么只能在支持IPv6的网络中实现远程访问。经测试,手机流量一般都是支持IPv6的。

方案三:DDNS + VXN

我们可以通过在直接暴露公网的基础上对NAS传输信道加密——套一层微批恩。好处是只需要暴露微批恩的端口,NAS的所有服务端口都在内网。

该方案同样可以借助路由器、NAS或者脚本实现。

可以使用的协议或服务:

  • L2TP/IPsec
  • WireGuard
  • OpenVXN

安全建议:

  • 使用安全性高的微批恩协议
  • 改用高端口
  • 启用UDP

方案缺点:使用麻烦且还是直接暴露公网,综合体验不如方案四

方案四:异地组网

该方案是最推荐的,墙裂推荐!原因如下:

  • 不需要公网IP(但有IPv6更好),无需担心公网IP被扫描和泄露问题
  • 不需要将服务器直接暴露公网
  • 不需要在防火墙中开启服务端口
  • 不需要域名,没有额外开销
  • 安装和使用简单,有多端app
  • 可以将NAS作为出口节点,实现异地上网
  • 可以将NAS作为子网路由,实现对局域网内其他设备的远程访问

常见异地组网方案:tailscale(推荐)、贝锐蒲公英、爱快SD-WAN、节点小宝、星空组网、飞鼠组网...

群晖上使用tailscale的具体方法:

  1. 登录tailscale官网,注册账号

20251128-130235.webp

  1. 下载tailscale群晖版安装包:https://pkgs.tailscale.com/stable/#spks,然后从群晖套件中心手动安装tailscale
  2. 进入SSH,启动tailscale:

    tailscale up
  3. 从群晖用户界面打开tailscale套件,然后登录账号,并在tailscale网页后台中允许群晖设备加入网络
  4. 在tailscale网页后台中设置密钥永不过期

20251128-130325.webp

  1. 群晖任务计划中,新增用户定义的脚本,设置自动更新:tailscale update --yes

20251128-130341.png

  1. (选)允许通过NAS访问局域网内其他设备:
tailscale up --advertise-routes 192.168.xxx.xxx/24 --accept-routes=true

然后在tailscale网页后台中对NAS设备启用Subnet routes 192.168.xxx.xxx/24

20251128-130408.webp

  1. (选)开启出口节点:
tailscale up --advertise-exit-node

然后在tailscale网页后台中对NAS设备启用Use as exit node选项

20251128-130430.webp

官方文档:https://tailscale.com/kb/1131/synology

后记

以上所有方案本质都是在将NAS的数据通过公网进行传输,那么这个过程必然就存在着风险,只是暴露风险等级不同,所以有必要对NAS的安全基线进行加固,后面我会出一期NAS安全基线加固的基本方法。

仅有一条评论

  1. [...]我们的张三同学自从上一期知道了男人的三大玩具之一NAS后,也想搞一台自己的NAS,于是废寝忘食,经过不懈努力,终于搭建好了自己人生中的第一台NAS。上一期讲了NAS如何实现远程访问,评论区很多朋友也提出了自己的方案和建议,对文章内容进行了优化和完善。https://vastroc.com/nas/nas-remote-access文中提到的所有方案本质都是在将NAS的数据通过公网进行传输,那么这个[...]

发表评论

本站总访问量