没有公网IPv4,你是怎么在外网访问家中的NAS的?

花精力把NAS弄好了,有的小伙伴还在NAS上搭了影视库,音乐库,书库,这些服务搭建好了之后,在家里用起来很方便。

这时你会想了,要是在外面也能随时连上用,那就爽了呀。

我之前说,为了给手机腾出空间,在NAS上安装了AI智能相册,手机上也装了APP,如果不能在外面随时随地查看,这就没什么意义了。

小伙伴么你们是怎么访问的家中的NAS的呢?

如果用的是成品NAS,一般厂家都会有自家的connect连接,通过厂家提供的中继服务器转发访问,也能用,但是速度肯定不会快的,想看家里的影视资源,还是别想了吧。

其实想要流畅的访问家中的NAS资源,本来应该是个很简单的事,只要有公网IP就很好办。

但是,现在九成家庭宽带都不会给公网IP了吧,像我家里宽带就是移动大内网,说白了光猫获取的所谓公网IP地址,其实就是运营商的大局域网内网IP,在外网用这个IP地址,是访问不到家里的。

可以看下路由器显示的外网IP和在线IP工具查询到的是不是一个网段就知道了,见下图:

微信图片_20250511215454.png

为啥会这样?这涉及到复杂的NAT网络类型,就不展开说了。

我的大内网NAS访问方案

NAS实现外网访问,有很多种方法,比如说老牌的花生壳,现在比较火的节点小包等等,还有各种自建FRP,异地组网等等,这些有的有一定设备和技术门槛,有的需要花钱买会员买流量买带宽,需要大家根据自己的情况选择,这里聊一下我的NAS外网访问方案,给大家一个参考。

弃用方案:花生壳内网穿透

我最早用过花生壳内网穿透,这一类方案对小白比较友好,不需要复杂的配置也不需要懂太多网络知识,安装就能用。

免费版每月1G流量,带宽1Mbps/映射,可以建两条映射,送一个壳域名(有期限),这带宽流量,只能用来登录下NAS管理页面,简单的操作一下,其他就别指望了。

而且用到后来,直接打开页面强制变成花生壳的一个跳转网页,需要点击跳转才能访问自己的服务页面,再后来免费的壳域名也到期没有了,一个二级还是三级的壳域名,卖的比顶级域名还贵,呵呵了。

节点小包之前网络上有不少推广,但是这类的有付费会员和免费体验版的软件,估计差不多,免费版流量和带宽一点点,付费版,要撑得起我肆无忌惮的看电影,得多少费用?我也懒得去用了。

自建FRP,我倒是有条件,云服务器我有,但是轻量云带宽也不高,有啥流量不需要走中继的解决方案吗?我还没研究透。


基础方案:赛博菩萨Cloudflare Tunnels

我的第二个方案,是用Cloudflare的 Tunnels,之前没用过的时候就听人叫Cloudflare赛博菩萨,后来用了之后终于知道为啥这么叫了,套路比国内公司少太多了,它是真菩萨!

我之前在一个小运营商买过一个域名,一年十几块钱那种,托管在Cloudflare上做DNS解析。后来偶然发现它有个Tunnels功能,只需要在自己NAS上安装一下Cloudflared,就可以建立隧道连接。

微信图片_20250512151508.png

可以用子域名绑定端口,而且最友好的是,它走的Cloudflare全球CDN网络节点,直接建立的https连接,连部署证书都省了。

微信图片_20250512151810.png

关键是我完全没找到它的限制在哪,我一个玩客云,一个小主机NAS,各装了一个Cloudflared创建隧道,每个都做了十几个端口映射,多的时候每条隧道有20几个映射,也不知道上限能做多少个。

这个方案除了域名有费用,Cloudflare域名托管和DNS解析,以及Tunnels都是免费的,没有流量限制,也没有带宽限制。

要说缺点,唯一的缺点就是Cloudflare的边缘节点服务器在国内的太少,所以用这种方式访问,网速其实还是不够快,我这里一般用它访问web应用,还可以延迟还能接受,影音应用就算了,得用其他方案。


推荐方案:IPv6 + DDNS

现在的运营商宽带大多已经支持 IPv6,且 IPv6 地址是公网直连的,无需穿透,速度取决于带宽上限。我们在外面需要连接家中NAS的场景,大部分是通过手机,而手机网络,默认也都是支持ipv6的。

大家可以通过IPv6 测试网站,检测一下你的上网环境是否支持IPv6。

微信图片_20250512154141.png

公网IPv6地址240e开头是电信,2048开头是联通,2409开头是移动,如果你也打开了IPv6但是获取的地址是fe80开头,那不是公网的而是你内网的IPv6。

我最开始设备设置好了,也显示有ipv6,但是外网就是连不了,后来才知道那只是内网ipv6,要获得公网ipv6,还需要做一些工作,我也懒得给移动打电话,就自己咸鱼上买了光猫的管理密码,把光猫和路由器做了桥接,再通过路由器配置的IPv6,最终获得到2409开头的公网IPv6地址。

有了公网IPv6,一切就方便多了。

如果没有域名,直接通过http://[IPv6地址]:端口的方式,就可以外网访问(注意IPv6地址要有中括号)。

当然如果有域名那就更方便了,因为这个公网IPv6也不是固定的,过段时间可能会变,NAS上装个DDNS-GO,它会自动跟踪ip变化,更新域名解析。之后只需要用好记的域名访问就可以了。

成本方面,同样只是一个域名成本,一年十几块钱就行,如果实在不想花钱,也有些免费的可以绑定cloudflare的二级域名可以注册,大家如果只是用来做NAS外网连接,这样也行,那就一分钱不用花了。

这个方案,基本上拉满带宽,非常流畅,花钱少或者说都不用花钱,也没有流量限制之类的问题,可以说相当完美了。

要说缺点也是有的,就是外网必须也是IPv6才能访问,但是在外面访问影视资源一般都是用手机了,没有影响。需要IPv4访问其他web应用,我还有Cloudflare Tunnels呢,两者搭配,就没任何问题了。


当然这里面也有一些需要特别注意的,如果大家使用IPv6直连,相当于直接暴露在外网了,有一定安全风险,需要通过路由器的防火墙设置,NAT服务和DMZ主机配置,在保证安全性的情况下,来有限暴露内网端口。

另外务必为 NAS 及部署的各项独立服务应用设置强密码,有些小伙伴安装的是网上大佬自己打包的NAS系统,或者开发的服务应用,有很多默认账号密码的,网上公开的大家都知道,一定要第一时间改掉。

所有外网可访问的服务最好使用反向代理配置SSL证书,启用 HTTPS 加密访问。