3180 字
16 分钟

飞牛NAS(fnOS)全平台远程访问完全指南:Tailscale 组网 + DDNS + 内网穿透三方案对比 | 2026

家庭 NAS 的价值在于”随时随地访问自己的数据”,但大多数家庭宽带没有固定公网 IP,让 NAS 的远程访问成为一道坎。本文针对飞牛 NAS(fnOS),系统讲解三种主流远程访问方案,覆盖从最简单的 Tailscale 到进阶的 frp 内网穿透,帮你在任何网络环境下实现稳定的远程连接。


一、三方案横向对比#

在深入每个方案前,先通过对比表快速定位适合你的方案:

对比维度TailscaleDDNS + 端口映射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 应用中心安装(推荐)

  1. 打开飞牛 NAS 管理界面 → 应用中心
  2. 搜索 Tailscale,点击安装
  3. 安装完成后,点击 打开 进入配置界面

方法二:通过 Docker 安装(fnOS 不支持应用中心方式时使用)

Terminal window
# 在飞牛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 方式)

Terminal window
# 通过 SSH 登录飞牛NAS(使用管理员账号)
ssh admin@192.168.1.xxx
# 使用 curl 一键安装
curl -fsSL https://tailscale.com/install.sh | sh
# 启动并登录(会生成一个授权链接)
sudo tailscale up
# 访问终端显示的链接,在浏览器中完成 Tailscale 账号授权

2.3 客户端设备连接#

在你的手机、平板、电脑上安装对应平台的 Tailscale 客户端:

平台下载地址
Windowshttps://tailscale.com/download/windows
macOSMac App Store 搜索 Tailscale
iOSApp Store 搜索 Tailscale
AndroidGoogle Play / 官网 APK

安装后用同一 Tailscale 账号登录,即可在 Tailscale Admin Consolehttps://login.tailscale.com/admin/machines)看到所有已连接设备。

2.4 通过 Tailscale 访问 NAS#

连接成功后,每台设备会获得一个 100.x.x.x 格式的 Tailscale IP(固定不变):

Terminal window
# 查看 NAS 的 Tailscale IP
tailscale 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)
SSHssh admin@100.64.0.5
WebDAVhttp://100.64.0.5:5005/dav

2.5 配置 MagicDNS(可选)#

Tailscale 的 MagicDNS 功能允许用主机名代替 IP 访问:

  1. Tailscale Admin Console → DNS → 开启 MagicDNS
  2. 之后可以用 http://fnos.tail12345.ts.net:5001 访问 NAS

2.6 Tailscale 出口节点(让 NAS 流量走代理)#

如果 NAS 上有代理服务,可以将 NAS 设置为 Tailscale 网络的出口节点,让其他设备流量经过 NAS 走代理:

Terminal window
# 在 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

  1. 登录 Cloudflare Dashboard
  2. 右上角头像 → My ProfileAPI TokensCreate Token
  3. 使用 Edit zone DNS 模板 → 选择你的域名 Zone → 创建
  4. 记录生成的 Token(只显示一次)

步骤2:在飞牛NAS 上部署 DDNS 更新脚本

通过 Docker 部署 cloudflare-ddns 容器:

Terminal window
# docker-compose.yml
version: "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 变化后更新越快
Terminal window
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,防止传输数据被窃听:

  1. fnOS 管理界面 → 控制面板安全证书
  2. 添加 Let’s Encrypt 免费证书(需要域名能通过 HTTP 验证,或使用 DNS 验证)
  3. 也可以通过 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 服务端(云服务器)配置#

Terminal window
# 下载最新版 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.gz
tar -zxvf frp_${FRP_VERSION}_linux_amd64.tar.gz
cd 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 = 7500
webServer.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 = 3
EOF
# 使用 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 Service
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/frps -c /etc/frp/frps.toml
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
EOF
sudo mkdir -p /etc/frp
sudo cp frps.toml /etc/frp/
sudo systemctl enable frps
sudo systemctl start frps
sudo systemctl status frps

开放防火墙端口(服务器安全组 + 系统防火墙):

Terminal window
# 系统防火墙(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)配置#

Terminal window
# 在飞牛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.gz
tar -zxvf frp_${FRP_VERSION}_linux_amd64.tar.gz
cd frp_${FRP_VERSION}_linux_amd64
# 配置客户端
cat > frpc.toml << 'EOF'
# frp 客户端配置
# 服务端连接信息
serverAddr = "你的云服务器公网IP"
serverPort = 7000
# 与服务端一致的认证 token
auth.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 = 22
remotePort = 12222 # 用非标准端口,减少暴力破解
# SMB 文件共享(如果需要)
[[proxies]]
name = "fnos-smb"
type = "tcp"
localIP = "127.0.0.1"
localPort = 445
remotePort = 14445
EOF
# 安装并启动 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 Service
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/frpc -c /etc/frp/frpc.toml
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
EOF
sudo mkdir -p /etc/frp
sudo cp frpc.toml /etc/frp/
sudo systemctl enable frpc
sudo systemctl start frpc

4.4 通过 frp 访问 NAS#

Terminal window
# 访问 fnOS 管理界面
http://你的服务器IP:15001
# SSH 连接
ssh -p 12222 admin@你的服务器IP
# 如果配置了域名(服务器 IP 解析到域名)
http://nas.yourdomain.com:15001
ssh -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

相关文章

本文所有配置均经过实际测试验证,生产使用前请结合实际网络环境调整。Tailscale 等服务的具体功能和限制可能随版本更新而变化,请以官网最新说明为准。

飞牛NAS(fnOS)全平台远程访问完全指南:Tailscale 组网 + DDNS + 内网穿透三方案对比 | 2026
https://971918.xyz/posts/docs/fnos-remote-access-guide/
作者
九所长
发布于
2026-07-12
许可协议
CC BY-NC-SA 4.0