飞牛NAS(fnOS)全平台远程访问完全指南:Tailscale 组网 + DDNS + 内网穿透三方案对比 | 2026
家庭 NAS 的价值在于”随时随地访问自己的数据”,但大多数家庭宽带没有固定公网 IP,让 NAS 的远程访问成为一道坎。本文针对飞牛 NAS(fnOS),系统讲解三种主流远程访问方案,覆盖从最简单的 Tailscale 到进阶的 frp 内网穿透,帮你在任何网络环境下实现稳定的远程连接。
一、三方案横向对比
在深入每个方案前,先通过对比表快速定位适合你的方案:
| 对比维度 | Tailscale | DDNS + 端口映射 | frp / NPS 内网穿透 |
|---|---|---|---|
| 前置条件 | 无需公网 IP | 需要动态公网 IP | 需要一台云服务器 |
| 配置难度 | ⭐(极简) | ⭐⭐⭐(中等) | ⭐⭐⭐⭐(较复杂) |
| 速度/延迟 | 优秀(P2P 直连) | 取决于宽带上传速度 | 受云服务器带宽限制 |
| 稳定性 | 高 | 中(IP 变化时短暂中断) | 高(服务器固定 IP) |
| 免费额度 | 3 台设备永久免费 | 免费(DDNS 服务免费) | 云服务器需付费 |
| 安全性 | ⭐⭐⭐⭐⭐(端对端加密) | ⭐⭐⭐(需注意端口安全) | ⭐⭐⭐⭐(加密隧道) |
| 适合场景 | 个人/家庭用户 | 有公网 IP 的用户 | 对稳定性要求高的用户 |
| 推荐指数 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ |
💡 快速决策:没有公网 IP → 选 Tailscale;有动态公网 IP → 试试 DDNS;需要最高稳定性且不怕折腾 → frp 内网穿透。
二、方案一:Tailscale 组网(强烈推荐)
2.1 什么是 Tailscale?
Tailscale 基于 WireGuard 协议,在你的所有设备(NAS、手机、电脑)之间建立加密的 P2P 虚拟局域网。连接建立后,你的手机可以像在家里一样直接访问 NAS——无需公网 IP,无需端口映射,无需域名。
你的手机(外网) ↓ Tailscale 加密隧道Tailscale DERP 中转服务器(协调连接) ↓ 建立 P2P 直连飞牛NAS(家里内网)免费版限制:
- 最多 3 台设备(Personal 套餐)
- 无带宽限制
- 无流量限制
- 永久免费
2.2 在飞牛NAS 上安装 Tailscale
方法一:通过 fnOS 应用中心安装(推荐)
- 打开飞牛 NAS 管理界面 → 应用中心
- 搜索 Tailscale,点击安装
- 安装完成后,点击 打开 进入配置界面
方法二:通过 Docker 安装(fnOS 不支持应用中心方式时使用)
# 在飞牛NAS 的 SSH 终端中执行docker run -d \ --name tailscale \ --restart unless-stopped \ --network host \ --cap-add NET_ADMIN \ --cap-add SYS_MODULE \ -v /var/lib/tailscale:/var/lib/tailscale \ -v /dev/net/tun:/dev/net/tun \ tailscale/tailscale:latest \ tailscaled方法三:直接安装 Tailscale 客户端(Linux 方式)
# 通过 SSH 登录飞牛NAS(使用管理员账号)ssh admin@192.168.1.xxx
# 使用 curl 一键安装curl -fsSL https://tailscale.com/install.sh | sh
# 启动并登录(会生成一个授权链接)sudo tailscale up
# 访问终端显示的链接,在浏览器中完成 Tailscale 账号授权2.3 客户端设备连接
在你的手机、平板、电脑上安装对应平台的 Tailscale 客户端:
| 平台 | 下载地址 |
|---|---|
| Windows | https://tailscale.com/download/windows |
| macOS | Mac App Store 搜索 Tailscale |
| iOS | App Store 搜索 Tailscale |
| Android | Google Play / 官网 APK |
安装后用同一 Tailscale 账号登录,即可在 Tailscale Admin Console(https://login.tailscale.com/admin/machines)看到所有已连接设备。
2.4 通过 Tailscale 访问 NAS
连接成功后,每台设备会获得一个 100.x.x.x 格式的 Tailscale IP(固定不变):
# 查看 NAS 的 Tailscale IPtailscale ip -4# 输出示例:100.64.0.5
# 查看所有设备状态tailscale status访问飞牛 NAS 的方式:
| 访问方式 | 地址示例 |
|---|---|
| 管理界面 | http://100.64.0.5:5001 |
| SMB 文件共享 | \\100.64.0.5(Windows)或 smb://100.64.0.5(macOS) |
| SSH | ssh admin@100.64.0.5 |
| WebDAV | http://100.64.0.5:5005/dav |
2.5 配置 MagicDNS(可选)
Tailscale 的 MagicDNS 功能允许用主机名代替 IP 访问:
- Tailscale Admin Console → DNS → 开启 MagicDNS
- 之后可以用
http://fnos.tail12345.ts.net:5001访问 NAS
2.6 Tailscale 出口节点(让 NAS 流量走代理)
如果 NAS 上有代理服务,可以将 NAS 设置为 Tailscale 网络的出口节点,让其他设备流量经过 NAS 走代理:
# 在 NAS 上开启出口节点功能sudo tailscale up --advertise-exit-node
# 在客户端上选择 NAS 作为出口节点(Admin Console → 对应机器 → Edit route settings → Exit node)三、方案二:DDNS + 端口映射
3.1 前置检查:确认是否有公网 IP
路由器管理界面 → 网络状态 → WAN IP
如果 WAN IP 是 10.x.x.x / 172.x.x.x / 192.168.x.x → 运营商给的是内网IP,此方案不适用,请选择方案一或三
如果 WAN IP 是其他(如 120.x.x.x) → 搜索"我的IP",对比与 WAN IP 是否一致 → 一致:有公网IP,继续此方案 → 不一致:是运营商 NAT,此方案不适用💡 没有公网 IP 的用户可联系运营商(拨 10000)申请公网 IP,部分地区免费提供,部分需付费。
3.2 选择 DDNS 服务商
| DDNS 服务商 | 免费版 | 国内解析速度 | 推荐指数 |
|---|---|---|---|
| CloudFlare DDNS | 免费 | 中等(需要自有域名) | ⭐⭐⭐⭐⭐ |
| Dynv6 | 免费 | 一般 | ⭐⭐⭐ |
| 阿里云 DDNS | 免费(需阿里云域名) | 快 | ⭐⭐⭐⭐ |
| 腾讯云 DDNS | 免费(需腾讯云域名) | 快 | ⭐⭐⭐⭐ |
| 花生壳 | 免费版限速(1Mbps) | 快 | ⭐⭐(有带宽限制) |
推荐:Cloudflare DDNS + 自有域名(约 60 元/年买个 .com 域名,可以用 Namesilo 购买)
3.3 配置 Cloudflare DDNS
步骤1:在 Cloudflare 创建 API Token
- 登录 Cloudflare Dashboard
- 右上角头像 → My Profile → API Tokens → Create Token
- 使用 Edit zone DNS 模板 → 选择你的域名 Zone → 创建
- 记录生成的 Token(只显示一次)
步骤2:在飞牛NAS 上部署 DDNS 更新脚本
通过 Docker 部署 cloudflare-ddns 容器:
# docker-compose.ymlversion: "3"services: cloudflare-ddns: image: oznu/cloudflare-ddns:latest container_name: cloudflare-ddns restart: always environment: - API_KEY=你的Cloudflare_API_Token - ZONE=yourdomain.com # 你的域名 - SUBDOMAIN=nas # 子域名(最终访问地址:nas.yourdomain.com) - PROXIED=false # false:DNS 直解析(不走 CF CDN,必须设 false) - TTL=120 # DNS TTL(秒),越小 IP 变化后更新越快docker compose up -d# 每 5 分钟自动检测公网 IP 并更新 DNS 解析或者使用 fnOS 内置的 DDNS 功能(如果版本支持):
飞牛 NAS 管理界面 → 网络 → DDNS → 添加服务商,填入域名和 API 信息。
3.4 路由器端口映射配置
DDNS 解析到了你的公网 IP,但路由器默认会拦截外部访问请求,需要配置端口映射(Port Forwarding)将外部端口转发到 NAS 的内网 IP:
路由器管理界面 → 高级设置 → 端口映射 / 虚拟服务器
添加映射规则(示例):服务名称:fnOS Web协议:TCP外部端口:5001(或自定义其他端口)内部 IP:192.168.1.xxx(NAS 的内网 IP)内部端口:5001
服务名称:fnOS SSH协议:TCP外部端口:22022(用非标准端口,减少被扫描风险)内部 IP:192.168.1.xxx内部端口:22⚠️ 安全提醒:不要直接映射 80/443 端口到 NAS,容易被 Web 扫描器攻击。建议使用非标准端口(如 15001、8443),并在 NAS 上开启双因素认证。
3.5 访问方式
配置完成后:
https://nas.yourdomain.com:5001 # 管理界面(需要先在 fnOS 开启 HTTPS)smb://nas.yourdomain.com # 文件共享(Windows 路径映射)ssh -p 22022 admin@nas.yourdomain.com # SSH 连接3.6 为 fnOS 配置 HTTPS(重要)
通过外网访问时,强烈建议启用 HTTPS,防止传输数据被窃听:
- fnOS 管理界面 → 控制面板 → 安全 → 证书
- 添加 Let’s Encrypt 免费证书(需要域名能通过 HTTP 验证,或使用 DNS 验证)
- 也可以通过 acme.sh 在 NAS 的 SSH 中自动申请和续期
四、方案三:frp 内网穿透
4.1 适用场景
frp(Fast Reverse Proxy)需要一台有固定公网 IP 的云服务器作为中转,将你家 NAS 的流量通过服务器转发给外网用户。
推荐购买:轻量云服务器(月付 20-40 元)
- 腾讯云轻量:2核2G,40GB SSD,约 ¥25/月
- 阿里云轻量:2核2G,40GB SSD,约 ¥28/月
- Vultr:1核1G,$6/月(适合需要境外 IP 的场景)
4.2 服务端(云服务器)配置
# 下载最新版 frp(在服务器上执行)# 从 https://github.com/fatedier/frp/releases 获取最新版本号FRP_VERSION="0.61.0"wget https://github.com/fatedier/frp/releases/download/v${FRP_VERSION}/frp_${FRP_VERSION}_linux_amd64.tar.gztar -zxvf frp_${FRP_VERSION}_linux_amd64.tar.gzcd frp_${FRP_VERSION}_linux_amd64
# 配置服务端(frps)cat > frps.toml << 'EOF'# frp 服务端配置bindPort = 7000 # frp 内部通信端口(客户端连服务端用)vhostHTTPPort = 8080 # HTTP 虚拟主机端口(可选)vhostHTTPSPort = 8443 # HTTPS 虚拟主机端口(可选)
# 仪表盘(监控面板,可选)webServer.addr = "0.0.0.0"webServer.port = 7500webServer.user = "admin"webServer.password = "your-dashboard-password"
# 安全认证(客户端必须携带此 token)auth.method = "token"auth.token = "your-secret-frp-token-change-this"
# 日志log.to = "/var/log/frps.log"log.level = "info"log.maxDays = 3EOF
# 使用 systemd 管理 frps(开机自启)sudo cp frps /usr/local/bin/sudo chmod +x /usr/local/bin/frps
cat > /etc/systemd/system/frps.service << 'EOF'[Unit]Description=frp Server ServiceAfter=network.target
[Service]Type=simpleExecStart=/usr/local/bin/frps -c /etc/frp/frps.tomlRestart=on-failureRestartSec=5s
[Install]WantedBy=multi-user.targetEOF
sudo mkdir -p /etc/frpsudo cp frps.toml /etc/frp/sudo systemctl enable frpssudo systemctl start frpssudo systemctl status frps开放防火墙端口(服务器安全组 + 系统防火墙):
# 系统防火墙(iptables / ufw)sudo ufw allow 7000/tcp # frp 内部通信sudo ufw allow 7500/tcp # 仪表盘(可选)sudo ufw allow 5001/tcp # 映射的 fnOS 管理端口sudo ufw allow 2222/tcp # 映射的 SSH 端口
# 同时在云服务器控制台的安全组中也要放行以上端口!4.3 客户端(飞牛NAS)配置
# 在飞牛NAS 的 SSH 中下载并配置 frp 客户端(frpc)FRP_VERSION="0.61.0"wget https://github.com/fatedier/frp/releases/download/v${FRP_VERSION}/frp_${FRP_VERSION}_linux_amd64.tar.gztar -zxvf frp_${FRP_VERSION}_linux_amd64.tar.gzcd frp_${FRP_VERSION}_linux_amd64
# 配置客户端cat > frpc.toml << 'EOF'# frp 客户端配置
# 服务端连接信息serverAddr = "你的云服务器公网IP"serverPort = 7000
# 与服务端一致的认证 tokenauth.method = "token"auth.token = "your-secret-frp-token-change-this"
# 日志log.to = "/var/log/frpc.log"log.level = "info"
# ── 映射规则 ──────────────────────────────────────────
# fnOS 管理界面(HTTP/HTTPS)[[proxies]]name = "fnos-web"type = "tcp"localIP = "127.0.0.1"localPort = 5001 # fnOS 管理界面端口remotePort = 15001 # 通过服务器的这个端口访问
# SSH 远程管理[[proxies]]name = "fnos-ssh"type = "tcp"localIP = "127.0.0.1"localPort = 22remotePort = 12222 # 用非标准端口,减少暴力破解
# SMB 文件共享(如果需要)[[proxies]]name = "fnos-smb"type = "tcp"localIP = "127.0.0.1"localPort = 445remotePort = 14445EOF
# 安装并启动 frpc 服务sudo cp frpc /usr/local/bin/sudo chmod +x /usr/local/bin/frpc
cat > /etc/systemd/system/frpc.service << 'EOF'[Unit]Description=frp Client ServiceAfter=network.target
[Service]Type=simpleExecStart=/usr/local/bin/frpc -c /etc/frp/frpc.tomlRestart=on-failureRestartSec=5s
[Install]WantedBy=multi-user.targetEOF
sudo mkdir -p /etc/frpsudo cp frpc.toml /etc/frp/sudo systemctl enable frpcsudo systemctl start frpc4.4 通过 frp 访问 NAS
# 访问 fnOS 管理界面http://你的服务器IP:15001
# SSH 连接ssh -p 12222 admin@你的服务器IP
# 如果配置了域名(服务器 IP 解析到域名)http://nas.yourdomain.com:15001ssh -p 12222 admin@nas.yourdomain.com五、三方案安全加固建议
无论选择哪种方案,远程访问 NAS 都需要注意安全性:
5.1 通用安全措施
✅ 开启双因素认证(2FA) fnOS 管理界面 → 账号设置 → 安全 → 两步验证
✅ 使用强密码 管理员密码至少 16 位,包含大小写字母+数字+符号
✅ 关闭不必要的服务 只开放需要远程访问的服务端口,其他服务保持内网访问
✅ 定期更新 fnOS 系统 系统更新包含安全补丁,保持最新版本
✅ 查看访问日志 定期检查 fnOS 的访问日志,发现异常登录及时处理5.2 各方案专项安全建议
Tailscale 方案:
- 开启 Tailscale ACL(访问控制列表),限制哪些设备可以访问 NAS 的哪些端口
- 开启 Key Expiry,定期要求重新认证
DDNS + 端口映射方案:
- 不要映射标准端口(22/80/443/445),使用随机高位端口(如 32765)
- 在路由器或 fnOS 上开启 IP 访问频率限制(防暴力破解)
- 强烈建议配置 HTTPS,绝对不要用 HTTP 传输登录凭证
frp 方案:
- frps.toml 中必须设置
auth.token,不要使用默认空密码 - 将服务器防火墙配置为只允许必要端口
- 定期检查 frps 日志,发现异常连接
六、方案选择建议总结
| 你的情况 | 推荐方案 |
|---|---|
| 完全没有公网 IP,想最省事 | ✅ 方案一:Tailscale |
| 设备数量超过 3 台 | ✅ 方案一:Tailscale Families 套餐($6/月,5 个账号,每个账号 100 台设备) |
| 有动态公网 IP + 自己的域名 | ✅ 方案二:DDNS + 端口映射 |
| 对稳定性要求高,有一台云服务器 | ✅ 方案三:frp 内网穿透 |
| 想让全家设备都能访问 NAS,无需逐台配置 | ✅ 方案三:frp + 域名,或方案一:Tailscale Subnet Router |
相关文章:
- 飞牛OS 通过 Docker 安装 OneDrive 备份文件
- 飞牛NAS 虚拟机安装 OpenWrt 旁路由教程
- mihomo(Clash Meta)完全配置指南:旁路由透明代理方案
- Cloudflare Workers 实战:免费搭建反向代理
- SSH 完全指南:隧道、转发与安全配置
本文所有配置均经过实际测试验证,生产使用前请结合实际网络环境调整。Tailscale 等服务的具体功能和限制可能随版本更新而变化,请以官网最新说明为准。