本文最后更新于 2024-06-28,文章内容可能已经过时。

前言

大家好,这里是可爱的Cherry。

今天我们开始新一篇NAS玩法——外网访问。

每一个拥有NAS的玩家,都会遇到一个老生常谈的问题,那就是如何在互联网端访问我们的NAS。Cherry将继续延续上一篇的模式,期望通过通俗易懂的一篇文章,将各类情况分门别类,并直接给到大家最简单的方法。


首先,在对自己的网络情况进行分类之前,我们得知道我们属于哪一类。因此先做一套题,测测你的网络是怎样。

第一步,打开https://www.test-ipv6.com,看看你属于下面那幅图 null null

🔻下面这张图,让你一目了然自己属于哪种网络结构。 null


场景一:有固定公网IP

这一栏其实都没有存在的必要,拥有固定IP的网络,通过IP地址就可以实现外网访问,唯一可能存在的问题就是ipv6固定,但是需要访问的地方只有ipv4.

这种情况建议开手机热点,因为所有手机流量都拥有ipv6地址。

如果涉及到域名使用的,只需要到域名供应商处添加域名解析即可。


场景二:有动态公网IP

一旦拥有了动态的公网IP,外网访问就变得简单了起来,无论是IPV6或是IPV4,在动态公网的情况下都是一样进行操作。唯一的区别就是你需不需要去和运营商battle。

那么,在开始前,我们先来了解一下什么是DDNS(动态域名解析)。

例如: 昨天的你忘带钱,别人叫你高帅 今天你挥金如土,别人赞扬你是高富帅 明天的你没洗头,小姐姐只说你高富 后天的你成了失恋的舔狗,好基友叫你可怜虫 但无论如何,你始终没有忘记自己的名字——高富帅。

高富帅就是一个域名,无论你的小名(ip)如何变动,你身上流淌着的血液是不会褪色的,而现在,我给你那把激活你血脉的钥匙——DDNS(动态域名解析)。

DDNS的服务几乎可以在任意一款路由器/路由系统中看到,软路由如ikuai、op可解析到自己的域名,硬路由如tp、华硕等甚至都提供了路由器的域名供使用。而大部分成品NAS也都提供了DDNS功能,

在软件层面,最常见的就是lucky、ddns-go、ddnsto、aliyun-ddns等。

具体的操作模式也很简单,那就是获取域名服务商的api授权token,然后允许DDNS定时获取ip,并通过API将ip反馈给域名服务商。

一、你不了解公网IP以及网络知识

🔻首先打开你的路由器,以tplink为例,来到路由器设置,上网设置,基本设置里。一般来说如果你要求过桥接,这里就是采用拨号上网的模式,即你自己输入自己的宽带账号密码,否则则是DHCP。在这里你可以看到自己的ip地址,如果是172\192打头的,一般都是内网地址,请看情况三。 null 🔻购买一个域名,常见的有阿里云、腾讯云等,188用10年的域名,还不是美滋滋。 null 🔻解析域名,域名前缀可以填准备使用的二级域名,如nas,或者syno等。 null 🔻申请域名供应商的api许可,还是以阿里云为例。 null null null

二、你知道公网IP是什么,并有一定的网络知识

🔻以阿里云为例,在accesskey中获取key和secret,通过赋予子账号权限对域名解析进行实时操作。 null 🔻以群晖为例,先增加自定义供应商,按照图片内容输入,然后新建一个ddns,选自定义厂家,主机名称填在阿里云解析力设置的域名前缀即可。 null null 🔻以爱快为例,支持如下的供应商解析。 null 🔻以DDNS-GO为例,支持如下的供应商解析。 null


场景三:无公网IP

最复杂的情况来了,也是广大NAS玩家最头疼的部分,一旦设备无法获取公网ip,动态域名解析对我们来说就成了摆设。

但同样的,该场景下的软件和方式,却是百花齐放,各平台为了解决这一问题都拿出了很多的方案。目前主流大致有以下两大原理实现,一是内网穿透,二是异地组网。

一、有自己的VPS

这种情况下一般建议使用内网穿透为主,将端口通过vps的固定ip进行转发,从而使用访问内网的服务,但是这种方式的缺点就是每一个端口都需要单独配置,有点类似反代的意思。 🔻常用软件如下: Frp frp分为frpc(客户端)和frps(服务端)两套系统,无UI配置界面,需要一台有公网IP的服务器作为服务中转站,frps服务端上配置开放和映射的端口,frpc客户端上配置访问的端口,而且每一台客户端需要手动同步端口,操作繁琐且有技术要求。但是好处是比较稳定。 Nps nps同样是一款轻量级、高性能、功能强大的内网穿透代理服务器。相比较于frp,提供了较好的WebUI,支持tcp、udp流量转发,支持如http、https、socks等技术任何协议。

二、没有VPS

没有VPS的话,选择的余地会更多,如果愿意花钱,可以购买一些中转服务器作为转发,如sakura就是其中的佼佼者。

但同时,在没有VPS的情况下,我们更多的会选择一些异地组网工具,这些工具的可以让多台可以访问公网的终端,通过虚拟局域网技术进行组成,特别是在有P2P模式的加层下,流量速度可以大幅度提升,而且不需要单独开放端口,就像真的局域网一样操作。

1.1 愿意花钱

Sakura frp sakura是一款基于frp的升级版项目,官方提供免费的流量,每日签到都可以获取内网穿透流量,如果对流量需求大的,可以购买套餐。该项目的好处就是不需要独立的vps作为中转服务器。 花生壳 向日葵的组网工具,免费版本网速是在不行,但是有提供免费的域名,如果肯花钱,上花生壳还是比较稳定的,而且官方配件也很多,物理开机啥的都挺不错。

1.2 想自己折腾的

null Zerotier ZeroTier是一款经典的虚拟网络工具,支持点对点网络到多云网状基础设施。访问官方注册并登陆账号以后,可以下载对应的客户端。免费版本支持1个管理账号,25个节点,不限制网络,但时不支持单点登录。Zerotier的配置更加灵活,使用官方节点planet,也支持自建节点moon。 Tailscale Tailscale是Zerotier的同类产品,使用技术却并不相同,需要google或者github认证登录。可以自动进行NAT穿透,每一个客户端都是一个独立账号,允许分享自己节点以获得访问权限,因此使用上会比Zerotier更傻瓜一些,但配置方面比Zerotier会少一些。 Twingate Twingate是一款基于安全访问的异地组网工具,同样需要google、github、微软、领英等账号登录。优点是可以直接配置一个IP段进入虚拟局域网,而不需要每次都新增,特别适合如PVE、ESXI等大量虚拟机环境下使用。 Cloudflare Tunnel Tunnel是cloudflare提供的一款内网穿透服务,由cf提供了中转服务,并且可以自定义一些域名。相比较于其它方案,该方案两大优势,一是免费、二是可以开放80、443等屏蔽端口。 但是缺点也很明显,就是访问慢,但可以通过cf优选服务进行一定程度的解决。

三、远程桌面

这其实又是另外一个需求了,很多人对操作NAS并不需要其中的很多服务,仅仅需要打开NAS的操作系统即可,因此如向日葵、todesk、teamviwer等等老牌桌面远程工具,依旧是我们的首选。

当然,也有免费的开源平替项目,比如rustdesk。

rustdesk 一款开源的TeamViewer远程桌面平替方案,和frp类似,自建的话也需要一台有公网IP的服务器作为服务中转站,好处是完全可视化的操作界面,