飞牛NAS外网访问全攻略:DDNS + 反向代理
写在前面:为什么需要外网访问?
飞牛NAS作为家庭数据中枢,最核心的价值在于“随时随地访问”。但运营商分配的公网IP往往动态变化,加上光猫NAT和路由器防火墙的层层阻隔,想要从外网流畅访问NAS,必须解决两个问题:动态IP解析和端口转发。本文将手把手教你用DDNS + 反向代理组合拳,实现稳定、安全、带域名绑定的外网访问方案。
第一步:环境准备与网络拓扑理解
开始前,请确认以下条件:
- 飞牛NAS已接入路由器,并获取固定内网IP(建议在路由器DHCP中绑定MAC与IP,例如192.168.1.100)
- 拥有一个域名(可在阿里云、腾讯云、Cloudflare等注册,国内域名需备案)
- 光猫已改为桥接模式,或已获取路由器PPPoE拨号权限(关键!否则无法端口转发)
网络数据流示意:外网用户 → 域名解析 → 路由器公网IP → 端口转发 → NAS内网IP → 反向代理 → 对应服务。
第二步:配置DDNS(动态域名解析)
飞牛NAS系统内置DDNS功能,但第三方服务商(如阿里云)需要API密钥。这里以阿里云为例,展示通用配置方法。
2.1 获取阿里云AccessKey
登录阿里云控制台,鼠标悬停右上角头像,进入“AccessKey管理”,创建子用户AccessKey(仅授予AliyunDNSFullAccess权限,降低泄露风险)。记录AccessKey ID和Secret。
2.2 在飞牛NAS中配置DDNS
打开飞牛NAS控制台,进入 系统设置 → 网络 → DDNS,点击“添加”:
- 服务商:选择“自定义”或“Aliyun”(若内置)
- 域名:填写你的完整域名,例如
nas.example.com - 用户名:填写AccessKey ID
- 密码/密钥:填写AccessKey Secret
- 更新间隔:建议300秒
保存后,系统会自动将域名解析到当前公网IP。验证方法:在NAS终端执行 ping nas.example.com,看是否返回你的公网IP。
第三步:路由器端口转发
由于DDNS只解决“域名→IP”映射,还需将外网端口映射到NAS内网。登录路由器管理页,找到 端口转发/虚拟服务器 规则:
- 外部端口:建议使用非标准端口(如8443),避免被运营商封禁80/443
- 内部IP:192.168.1.100
- 内部端口:需与反向代理监听端口对应(见下节)
以群晖/华硕路由器为例,添加规则:
外部端口 8443 → 内部IP 192.168.1.100 内部端口 8443(协议TCP)
第四步:部署反向代理(Nginx Proxy Manager)
反向代理的核心价值:用统一入口管理多个服务(如NAS管理界面、Jellyfin、Nextcloud),并实现HTTPS证书自动续期。推荐使用Nginx Proxy Manager(NPM),它提供Web图形化配置。
4.1 安装NPM
在飞牛NAS的Docker中搜索 jc21/nginx-proxy-manager,创建容器并映射端口:
- 80端口 → 用于HTTP重定向(映射到路由器外部80,若被封则改其他端口)
- 443端口 → HTTPS入口(映射到路由器外部443或8443)
- 81端口 → NPM管理界面(仅内网访问)
4.2 配置SSL证书
首次登录NPM管理界面(http://192.168.1.100:81),默认账号 [email protected] / changeme。进入 SSL Certificates → Add SSL Certificate,选择“Let's Encrypt”:
- Domain Names:填写
nas.example.com - 勾选“Force SSL”和“HTTP/2”
等待证书签发成功(需确保80/443端口已映射且域名解析生效)。
4.3 创建代理主机
进入 Hosts → Proxy Hosts → Add Proxy Host:
- Domain Names:
nas.example.com - Forward Hostname/IP:
192.168.1.100 - Forward Port:
5666(飞牛NAS默认管理端口) - 勾选“Block Common Exploits”
- 在SSL标签页,选择刚创建的证书,开启“Force SSL”
保存后,外网访问 https://nas.example.com 即可进入飞牛NAS界面。同理,为Jellyfin(端口8096)创建 https://nas.example.com/jellyfin 的二级路径代理,或使用子域名 jellyfin.example.com。
第五步:安全加固与故障排查
5.1 必须做的安全设置
- 修改飞牛NAS默认SSH端口为2222,禁止root直接登录
- 在NPM中添加“Access List”,仅允许指定IP段或国家访问
- 开启飞牛NAS的防火墙,只放行80/443/8443端口
- 定期备份NPM配置文件(Docker卷挂载目录)
5.2 常见问题排查
问题1:外网访问超时
先确认 ping nas.example.com 是否返回正确公网IP;再检查路由器端口转发是否生效(可用在线端口扫描工具);最后在NAS上执行 curl -I https://nas.example.com 看是否有响应。
问题2:HTTPS证书签发失败
多为端口未通或域名未解析。执行 telnet nas.example.com 80 测试连通性。若国内服务器需确保80端口未被运营屏蔽,否则改用DNS验证方式签发证书。
问题3:访问NAS界面后样式错乱
反向代理默认会修改Host头,需在NPM的Advanced配置中加入:
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
总结
通过DDNS + 反向代理的组合,你已实现三大目标:域名固定访问(不惧IP变动)、统一入口管理多个服务、自动HTTPS加密传输。这套方案不仅适用于飞牛NAS,也适用于任何Linux服务器。最后提醒:外网暴露意味着风险,务必定期更新系统补丁、监控登录日志,将“安全第一”刻在心上。现在,试着从手机4G网络访问你的NAS吧,那种掌控数据的感觉,值得你花一小时配置。
暂无评论,来说两句吧