剪藏#其名为碰#剪藏

NAS如何实现远程访问(方法篇)

2025 年 8 月 17 日1 分钟
分享Twitter / XTelegram微博
NAS如何实现远程访问(方法篇) 封面

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

Notion image

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

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

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

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

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

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

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

  • 群晖:QuikConnect

  • 飞牛:FN Connect

  • 威联通:myQNAPcloud

  • 铁威马:TNAS.online

  • 极空间:zconnect

  • 绿联:UGOS云服务

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

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

Notion image

方案二 家用宽带DDNS

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

Notion image

我们可以使用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

Notion image

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

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

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

支持IPv6的界面显示如下:

Notion image

如果发现没有开通,可以找装宽带的小哥或者运营商咨询,有可能是光猫、路由器设置没打开或者不支持,也有可能是因为没给你开通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官网,注册账号

Notion image

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

  2. 进入SSH,启动tailscale:

JAVASCRIPT
tailscale up
  1. 从群晖用户界面打开tailscale套件,然后登录账号,并在tailscale网页后台中允许群晖设备加入网络

  2. 在tailscale网页后台中设置密钥永不过期

Notion image

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

Notion image

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

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

Notion image

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

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

Notion image

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

后记

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

我是其名为碰,欢迎关注!

原文地址: https://mp.weixin.qq.com/s?__biz=MzI3MTIyNzk2MA==&mid=2247483965&idx=1&sn=0678eb4c22db6be532876bf67dbd1d47&chksm=eb74b869a180b93411a01b7b0188a82bf38a9e34e46e3282d9ee27b0c0354a0bfb802a7cd773&mpshare=1&scene=1&srcid=0817Fras6G6phW9c6kFUbdx2&sharer_shareinfo=27e521269fc2c536d4b4c250482d8b8f&sharer_shareinfo_first=4eacb6d01e3a3642efe329827068e309#rd

相关文章