在外面怎么连家里的NAS?DDNS、内网穿透、IPv6三条路我都试过,说说哪条适合你

事情起因是国庆出去玩,我妈突然要给我发一段视频,60多MB,微信压得稀碎。我说你等我回去拷,她说不行现在就要。我家里那台N100小主机上跑着飞牛NAS,照片视频全在里面,可我在外面,家里NAS谁也够不着。那天在酒店折腾到半夜,愣是没连上。回来我就下决心把远程访问这条道打通,前前后后试了三条路,坑一个没少踩。这篇把我试过的都写出来,你可以对着自己家的情况直接抄作业。
先把大概结论放前面:家里宽带能拿到公网IP的,走DDNS最舒服;拿不到的,要么用飞牛自带的fn Connect这种中转,要么花点钱自建frp。IPv6算个偏方,能用但不保熟。下面一条条说。
先搞明白一件事:你家宽带有没有公网IP
这是所有方案的分水岭,不搞清楚这个,后面全白搭。NAS在家里是内网设备,地址长192.168.x.x这样,这个地址在外面的互联网上是不存在的,就像小区内部的房间号,快递员(公网)看不懂。想让外面的人访问到它,要么给它一个「全世界都认识」的门牌(公网IP),要么找个中间人帮你转一手(内网穿透)。
查公网IP的办法:登进你家路由器管理页(一般是192.168.1.1,不会进的看我之前写的登录入口那篇),找到WAN口状态,记下IP地址。再打开百度搜「IP」,把搜索结果里的IP和WAN口IP对一下:两个一样,恭喜你有公网IP;路由器上显示100.64.x.x或者两个对不上,就是没有。
这里有个新手最容易栽的坑:100.64开头的地址。它长得像公网IP,其实是运营商的大内网(叫CGNAT,载波级NAT),整个小区或者整片区域共用一个公网出口。我看到自己家是100.64.9.115的时候还高兴了半天,以为成了,端口映射做了仨小时死活不通,后来才知道这玩意压根不是公网。
我家是移动宽带,默认就是这种大内网。打10086问能不能给公网IP,客服MM很客气地说「您的区域不支持」,挂了电话我又打了一次换个说法,说是要装监控必须公网才能看,这次给登记了,说48小时有人联系。结果真给改了——所以移动的公网IP是能要来的,话术很重要,报装监控比说挂NAS成功率高。电信联通一般也行,电信打10000说「申请公网IP」,大部分地区直接给。
第一条路:公网IP+DDNS,体验最好但要动手
拿到公网IP别高兴太早,还有个麻烦:这IP是动态的,运营商会不定期换(我家大概两周变一次)。你总不能每换一次就重新记一遍地址。DDNS就是干这个的——有个客户端程序守在家里,IP一变就自动把新地址更新到一个域名上,你在外面永远记域名就行。
我的搞法零成本:域名不买,用免费的。飞牛系统自带DDNS功能,在设置里找到「远程访问」,里面支持填阿里云、腾讯云DNSPod这些的密钥,也支持免费的no-ip。我用的腾讯云DNSPod的免费二级域名方案:微信公众号里搜「DNSPod」,用它的免费域名解析服务,家里的飞牛填上ID和Token,保存。之后不管IP怎么跳,域名 xxx.dnspod.net 永远指着我家。
光有域名还不行,外面来的请求得知道进哪扇门。两个设置必须做:
- 光猫改桥接+路由器拨号。不然公网IP落在光猫上,端口映射得去光猫里做,超级密码那关能把人折腾死。改桥接的完整过程我写在这篇里,改完路由器WAN口直接拿公网IP,映射在路由器做就行。
- 路由器端口映射:进路由器「端口映射/虚拟服务器」,外部端口随便填个大点的(比如52345),内部IP填NAS的内网地址,内部端口填飞牛的HTTPS端口(默认5663)。这里提醒一句,千万别把3389、22这种知名端口直接暴露出去,我把5663改成52345就是为了不被扫描器盯上。
做完这两步,我在酒店手机浏览器输入 https://xxx.dnspod.net:52345,飞牛的登录页唰一下就出来了。那一刻的感觉,值回所有折腾。速度也是三条路里最快的,我家上行300Mbps,在外面看NAS里存的蓝光电影直接拖进度条,不转圈。
丑话说前面:这条路的安全责任全在你自己。端口暴露在公网上,每天全世界的扫描器都在敲你的门。必须做的三件事:飞牛后台开强制HTTPS、把管理员密码改成16位随机串、有条件的话在路由器上限制来源IP(如果你常去的地方IP固定)。我开了飞牛的登录失败锁定,5次错误锁半小时,图个安心。
第二条路:内网穿透,没有公网IP的主流解法
公网IP要不来怎么办?总不能不玩了吧。这时候就得找个「中间人」:你在外面的流量先到一台有公网IP的服务器,家里NAS主动跟这台服务器保持一条通道,流量顺着通道倒回来。这就是内网穿透。
最省事的是飞牛官方的fn Connect。飞牛系统设置里点开「远程访问」,勾上fn Connect,它自动给你分配一个 xxxx.fnconnect.cn 的地址,手机装飞牛的App「fn Connect」扫码绑定,完事。全程不用碰任何网络设置,五分钟搞定,我妈那个年纪的人都能用。缺点是走官方服务器中转,速度看脸:我实测晚高峰下载8MB/s上下,白天能到15MB/s,看4K原盘会卡,看照片、下文档、在线看转码后的视频够用。免费版够日常,重度使用可以考虑他们的付费加速。
嫌官方中转慢、又想自己掌控的,上frp。思路是你花十几块钱买个月抛的云服务器(各家云厂商轻量服务器都行,1核1G足够),服务器上跑frps,家里NAS用Docker跑frpc,配置里写清楚把服务器的某个端口转到NAS的5663。frp的配置网上教程一搜一大把,我只说三个我踩过、教程里一般不提的坑:
- token两边必须一致,第一次配的时候frpc日志一直报
login to server failed,查了半小时,最后发现是token里有个字符复制时丢了。建议token别自己手打,直接复制。 - 一定要配stcp,别用裸tcp。裸tcp等于把NAS端口挂在一台小水管服务器上,谁扫到谁能试密码。stcp模式要多配一个「访问端」的密钥,外面访问的人也得跑个客户端带密钥才连得上,安全性高一个量级。
- 服务器带宽是天花板。1核1G的机器一般就3-5Mbps带宽,看照片没问题,看视频想都别想。想看得买带宽升级或者买按流量的,算下来不如直接上DDNS。
另外提一嘴蒲公英、花生壳这类成品盒子方案,优点是图形界面点点点,缺点是免费版限速到1Mbps、还强制实名。给长辈用或者彻底不想折腾的可以买,追求体验的我不推荐。
第三条路:IPv6,免费的偏方
这两年运营商默认开IPv6了,每台设备都能分到一个公网IPv6地址,理论上不需要穿透就能直接访问。我试过,确实能通,但限制比想象中多,只适合当备胎。
能用的前提有三个:你家宽带有IPv6(路由器WAN口信息里能看到2408、240e开头的地址就是有了,移动是240e,电信2408);你在外面用的手机流量也得有IPv6(移动联通4G/5G基本都有,但连别人家WiFi就不一定);家里NAS的IPv6地址会变,得配合DDNS的IPv6模式。三个条件同时满足,直连速度跟公网IPv4一样快,白嫖。
坑在哪?一是很多路由器默认把IPv6防火墙全关着(或者全开拦截),你要进路由器手动放行NAS的端口,各家叫法不一样,有的叫「IPv6防火墙」,有的藏在「安全设置」里。二是访问端环境不受你控制——你在外面连个商场WiFi,IPv6大概率没有,这条路当场断。所以我的建议是IPv6配好放着当备份,主力还是靠前两条。
三条路怎么选,一张表说清
| 方案 | 前提 | 成本 | 速度 | 折腾度 | 适合谁 |
| 公网IP+DDNS | 能要到公网IP | 0元 | 最快(跑满上行) | 高 | 有公网IP、愿意做安全加固 |
| fn Connect | 无 | 免费/付费 | 中(8-15MB/s) | 几乎为零 | 所有飞牛用户的首选起点 |
| 自建frp | 一台云服务器 | 10元+/月 | 低(服务器带宽卡死) | 中高 | 没有公网IP又想要自主可控 |
| IPv6直连 | 两端都有IPv6 | 0元 | 快 | 中 | 当备用通道 |
我现在的组合是:DDNS当主力(要来的公网IP不能浪费),fn Connect给家里其他人的手机用(他们不会输端口号),IPv6配好没删(万一哪条路挂了顶上)。三套并存不冲突,多几条道心里踏实。
最后按顺序给你捋一遍动手路径:先查路由器WAN口有没有公网IP,没有就打运营商电话要(报装监控);要到了就DDNS+端口映射这条路走到黑,记得先改桥接;实在要不来,飞牛用户直接开fn Connect,五分钟就有;追求速度再考虑frp。NAS买回来只会家里用,等于浪费了一半的价值——远程这块打通了,照片、电影、文档走到哪带到哪,你就再也回不去了。

发表评论