进阶技巧

飞牛NAS外网访问全攻略:DDNS + 反向代理

飞牛NAS外网访问全攻略:DDNS + 反向代理

飞牛NAS(fnOS)作为一款新兴的国产NAS系统,凭借其简洁的界面和强大的Docker支持,正在吸引越来越多的玩家。然而,很多用户在完成内网部署后,面临的最大难题是如何在公网环境下稳定、安全地访问家中的NAS。今天,我们就从零开始,手把手教你配置「DDNS + 反向代理」这套黄金组合,彻底打通外网访问的任督二脉。

一、方案选型与前置条件

在动手之前,我们需要明确一个核心原则:没有公网IP,一切都是空谈。DDNS(动态域名解析)解决的是IP变化的问题,而反向代理解决的是端口复用与安全隔离的问题。如果你的宽带没有公网IPv4,请先致电运营商申请,或者考虑使用IPv6 + 内网穿透方案,但本文以最常见的公网IPv4为例。

前置条件清单:

  • 飞牛NAS一台,系统版本建议为0.8.2或更高
  • 一个已备案的域名(国内服务器必须,如果只是家宽访问可暂不强制)
  • 路由器支持端口映射或DMZ主机设置
  • 一个可用的Cloudflare或阿里云DNS账号(用于API动态更新)

二、第一步:在飞牛NAS上部署DDNS服务

fnOS自带DDNS客户端,但默认支持的平台有限。我们推荐使用Docker部署一个通用的DDNS工具,比如 ddns-go,它支持阿里云、腾讯云、Cloudflare等主流服务商。

  1. 打开飞牛NAS的「Docker」应用,在「镜像管理」中搜索 jeessy/ddns-go,下载最新版本。
  2. 创建容器时,需要做如下端口映射:将宿主机的 9876 端口映射到容器的 9876 端口。同时,建议将配置目录挂载到本地,例如 /vol1/docker/ddns-go
  3. 启动容器后,通过浏览器访问 http://你的NAS内网IP:9876,进入配置界面。

在后台配置页面中,你需要填写你的DNS服务商API密钥。以阿里云为例:

  • 登录阿里云控制台,获取 AccessKey IDAccessKey Secret
  • 在ddns-go配置中选择「阿里云」,填入密钥,然后在「Domains」栏填写你的完整域名,例如 nas.example.com
  • 勾选「IPv4」和「IPv6」双栈更新,并把「Webhook」留空即可。

保存后,ddns-go会自动获取你当前宽带的公网IP,并推送至DNS解析记录。你可以通过命令行验证:

ping nas.example.com

如果返回的IP和你在路由器WAN口看到的IP一致,说明DDNS已经生效。

三、第二步:配置反向代理(Nginx Proxy Manager)

反向代理的作用是让所有外部请求先经过一个统一的入口,再按域名或路径转发给内网不同的服务。这里我们使用广受欢迎的 Nginx Proxy Manager(简称NPM),它提供了图形化管理界面,非常适合新手。

  1. 在Docker中搜索 jc21/nginx-proxy-manager,下载镜像。
  2. 创建容器时,需要映射三个端口:
  3. 80 端口:用于HTTP访问
  4. 443 端口:用于HTTPS访问
  5. 81 端口:NPM管理面板
  6. 同时,将数据卷挂载到本地目录,如 /vol1/docker/npm/data
  7. 容器启动后,访问 http://NAS内网IP:81,默认管理员账号为 [email protected],密码为 changeme,首次登录会强制修改密码。

接下来,我们创建反向代理规则。点击「Hosts」→「Add Proxy Host」,填写如下信息:

  • Domain Names:nas.example.com
  • Scheme:选择 http
  • Forward Hostname:填写你的飞牛NAS内网IP,例如 192.168.1.100
  • Forward Port:填写 5666(飞牛NAS的默认Web端口)

保存后,点击该规则右侧的「Edit」,进入「SSL」标签页,选择「Request a new SSL Certificate」,勾选「Force SSL」和「HTTP/2」。NPM会自动通过Let‘s Encrypt申请证书并续期,整个过程只需几分钟。

四、第三步:路由器端口映射与防火墙设置

以上配置完成后,还需要在路由器上做最后的拨号动作。登录你的路由器后台,找到「端口映射」或「虚拟服务器」选项,添加两条规则:

  • 外部端口 80 → 内部IP 192.168.1.10080 端口
  • 外部端口 443 → 内部IP 192.168.1.100443 端口

如果你的运营商封禁了80端口,可以改用其他端口,例如 8443,但访问时需要加上端口号。同时,确保NAS的防火墙或系统防火墙没有拦截来自局域网外部的连接。

五、实战验证与排错

完成上述所有步骤后,在手机流量(非WiFi)下访问 https://nas.example.com,你应该能看到飞牛NAS的登录界面。

常见问题排查:

  • 如果提示「无法访问此网站」,先检查DDNS解析是否正确,用 nslookup nas.example.com 查看返回的IP。
  • 如果返回IP正确但无法连接,检查路由器端口映射是否生效,并确认NPM容器是否运行正常。
  • 如果出现SSL证书错误,检查域名是否正确解析到当前公网IP,且NPM的SSL证书申请是否成功。
  • 别忘了检查飞牛NAS的「控制面板」→「安全」→「防火墙」,确保没有禁止来自外部的HTTP/HTTPS请求。

六、进阶优化建议

  1. 限制访问来源:在NPM中,可以为特定代理设置「Access Lists」,只允许你的家庭固定IP访问敏感服务,比如SSH或Docker管理面板。
  2. 启用Fail2Ban:在NAS上通过Docker部署Fail2Ban,监控NPM的访问日志,对暴力破解IP进行自动封禁。
  3. 备份配置:定期导出NPM的配置文件,防止容器重建后配置丢失。

总结

通过「DDNS + 反向代理」这套组合,你不仅实现了外网访问飞牛NAS的基础需求,还顺带拥有了自动HTTPS加密、端口统一管理等高级特性。整个过程的核心在于DDNS解决了动态IP的寻址问题,而反向代理则让多服务共享一个入口变得优雅且安全。希望本文能帮你顺利开启飞牛NAS的远程访问之旅,从此无论身在何处,数据都触手可及。

💬 评论区
发表评论

暂无评论,来说两句吧