飞牛设备通过域名配合DNSS穿透教程
本文最后更新于9 天前,其中的信息可能已经过时,如有错误请发送邮件到859811039@qq.com

本教程适用于飞牛NAS等搭载fnOS系统的设备,涵盖公网远程访问(DDNS+域名)局域网访问(本地DNS)两种核心场景,通过域名配合DNS配置,实现无需记忆复杂IP地址、安全稳定的访问体验。教程兼顾新手友好性,步骤清晰可落地,同时标注关键注意事项和常见问题排查。

一、前期准备

在开始配置前,需完成以下基础准备工作,避免后续操作卡顿:

  • 飞牛设备:确保已正常开机、联网,能通过局域网IP登录后台(默认一般为 192.168.x.x)。
  • 域名:已注册并完成实名认证(推荐腾讯云、阿里云等主流服务商,支持免费DDNS;也可选择eu.org等免费域名)。
  • 网络环境:
  • 公网访问需具备公网IP(IPv4或IPv6均可,IPv6更易获取且无需端口映射);
  • 局域网访问需确保所有设备在同一局域网段;
  • FRP穿透需准备一台拥有公网IP的服务器(云服务器或VPS均可)。
  • API凭证(公网访问用):从域名服务商获取AccessKey ID/Secret(如腾讯云的SecretId/SecretKey、阿里云的AccessKey),用于授权飞牛设备自动更新DNS解析。
  • 工具准备:飞牛设备需安装Docker(用于部署dnsmasq、Nginx及FRP客户端);公网服务器需准备FRP软件(从FRP GitHub下载对应系统版本)。

二、场景一:公网远程访问(推荐原生DDNS+域名)

适合需要在外网(如公司、出差地)访问飞牛设备的场景,核心利用飞牛原生DDNS功能自动同步公网IP与域名的映射,无需手动更新解析。

步骤1:域名服务商基础配置

  1. 登录域名管理平台(以腾讯云为例),进入「云解析DNS」控制台,确认域名已完成实名认证(未实名无法解析)。
  2. 获取API凭证:进入账号中心→「API密钥管理」,创建并保存SecretId和SecretKey(后续配置需用到,请勿泄露)。
  3. (可选)申请免费SSL证书:在域名平台申请免费HTTPS证书(如腾讯云SSL、阿里云SSL),下载PEM格式证书文件(含fullchain.pem和privkey.pem),用于后续安全访问。
  4. 飞牛15版本开始以后的飞牛获取证书,可以选择从Let’sEncrypt获取。

步骤2:飞牛设备原生DDNS配置

  1. 登录飞牛设备后台:在局域网内通过浏览器访问 http://飞牛局域网IP:端口(默认端口可在设备说明书中查询),输入账号密码登录。
  2. 进入DDNS配置页面:依次点击「控制面板」→「远程访问」→「DDNS」→「新增」。
  3. 填写配置信息:
    1. 服务商:选择你的域名托管平台(如「腾讯云」「阿里云」);
    2. 主机名/域名:填写完整域名(如 nas.yourdomain.fun);
    3. 用户名/ID:填入步骤1获取的SecretId(腾讯云)或AccessKey ID(阿里云);
    4. 密码/秘钥:填入对应的SecretKey或AccessKey Secret;
    5. IP类型选择:有公网IPv4则开启「外部IPv4」并设为「自动」;有IPv6则开启「外部IPv6」;无公网IPv4则关闭,避免冲突。
  4. 测试并保存:点击「测试连接」,显示「测试成功」说明配置通路正常,点击「确定」保存设置。此时飞牛会自动在域名服务商后台创建解析记录,无需手动添加。

步骤3:SSL证书配置(可选,提升安全性)

  1. 在飞牛后台依次点击「设置」→「安全性」→「证书」→「新增」。
  2. 上传证书文件:将下载的fullchain.pem(证书链)和privkey.pem(私钥)分别对应填入,点击「确定」保存。
  3. 关联远程访问:在「证书→服务配置」中,选择「远程访问备用」,关联刚上传的域名证书。
  4. 飞牛15版本开始以后的飞牛获取证书,可以选择从Let’sEncrypt获取。

步骤4:路由器端口转发(仅公网IPv4需要)

若使用公网IPv4访问,需在路由器中配置端口转发,将外部访问端口映射到飞牛设备的内部端口:

  1. 登录路由器管理后台(通常为192.168.1.1192.168.0.1)。
  2. 找到「端口转发」「虚拟服务器」或「NAT映射」功能,添加转发规则:
    1. 外部端口:自定义(如8080,避免使用80、443等常用端口,防止被运营商屏蔽);
    2. 内部IP:飞牛设备的局域网IP(如192.168.0.107);
    3. 内部端口:飞牛设备的访问端口(默认HTTP端口或HTTPS端口);
    4. 协议:选择「TCP」或「TCP+UDP」。
  3. 保存规则,确保路由器防火墙未拦截该外部端口。

步骤5:公网访问测试

  1. 断开局域网网络(如手机切换为流量),打开浏览器输入:
    1. HTTP访问:http://你的域名:外部端口(如 http://nas.yourdomain.fun:8080);
    2. HTTPS访问:https://你的域名:HTTPS端口(如 https://nas.yourdomain.fun:443,需完成步骤3证书配置)。
  2. 能正常打开飞牛登录页面,说明公网访问配置成功。

三、场景二:局域网访问(本地DNSS+域名,无需公网IP)

适合仅在局域网内访问飞牛设备的场景(如家庭、办公室),通过部署本地DNS服务器,实现用自定义域名访问设备内的各类项目(如Emby、QBittorrent),无需记忆IP和端口。

步骤1:Docker部署dnsmasq和Nginx

  1. 登录飞牛后台,进入「应用中心」,搜索并安装「Docker」。
  2. 创建Docker配置文件:在飞牛存储目录中新建文件夹(如 /vol1/docker/dns-nginx),内部创建「nginx」和「dnsmasq」两个子文件夹,分别用于存放Nginx和dnsmasq的配置文件。
  3. 编写docker-compose.yml文件:在 /vol1/docker/dns-nginx 目录下创建该文件,内容如下(需替换路径为你的实际路径): services: nginx: image: nginx:1.25.1 container_name: nginx volumes: - ./nginx/conf/nginx.conf:/etc/nginx/nginx.conf - ./nginx/conf/conf.d:/etc/nginx/conf.d - ./nginx/html:/usr/share/nginx/html - ./nginx/log:/var/log/nginx ports: - 80:80 networks: - network restart: unless-stopped dnsmasq: image: jpillora/dnsmasq:1.1.0 container_name: dnsmasq volumes: - ./dnsmasq/opt/dnsmasq.conf:/etc/dnsmasq.conf environment: - HTTP_USER=root - HTTP_PASS=123456 # 后续访问dnsmasq管理页的密码,可修改 ports: - 53:53/udp - 5380:8080 networks: - network depends_on: - nginx restart: unless-stopped networks: network: driver: bridge
  4. 启动容器:在Docker后台导入上述docker-compose.yml文件,点击「启动」,等待Nginx和dnsmasq容器正常运行。

步骤2:配置本地DNS(dnsmasq)

  1. 访问dnsmasq管理页:在浏览器输入 http://飞牛局域网IP:5380,输入账号root和密码123456(对应docker-compose.yml中的配置)登录。
  2. 修改dnsmasq配置:在配置编辑区添加以下内容(替换为你的域名和飞牛IP): log-queries resolv-file=/etc/resolv.conf server=114.114.114.114 # 公共DNS,可保留 server=223.5.5.5 strict-order # 核心解析规则:将自定义域名指向飞牛IP address=/yourdomain.com/192.168.0.107 # 替换为你的域名和飞牛局域网IP address=/emby.yourdomain.com/192.168.0.107 # 二级域名,对应飞牛内的Emby服务 address=/qbittorrent.yourdomain.com/192.168.0.107 # 二级域名,对应QBittorrent服务 stop-dns-rebind
  3. 保存配置:点击「Save」保存,dnsmasq会自动重启生效。

步骤3:配置路由器DHCP(统一局域网DNS)

为避免每台设备手动设置DNS,需在路由器中配置DHCP,让局域网设备自动获取本地DNS(即飞牛IP):

  1. 登录路由器管理后台,找到「DHCP服务器」设置。
  2. 修改DNS服务器:将「首选DNS服务器」改为飞牛设备的局域网IP(如192.168.0.107);「备用DNS服务器」可留空或设为公共DNS。
  3. IPv6设置(可选):若开启IPv6,需将IPv6的首选DNS改为飞牛IPv6地址,获取协议设为SLAAC,关闭DHCPv6(避免DNS冲突导致安卓设备无法访问)。
  4. 保存设置,重启路由器(部分路由器无需重启即可生效)。

步骤4:配置Nginx反向代理(映射服务端口)

通过Nginx将不同二级域名映射到飞牛内的对应服务端口,实现无端口访问:

  1. ./nginx/conf/conf.d 目录下新建配置文件(如 fnos.conf),内容如下: server { listen 80; server_name fnos.yourdomain.com; # 飞牛管理页二级域名 location / { proxy_pass http://192.168.0.107:5666; # 替换为飞牛管理页的实际IP和端口 proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } # 新增Emby服务映射(示例) server { listen 80; server_name emby.yourdomain.com; location / { proxy_pass http://192.168.0.107:8096; # Emby默认端口 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; } }
  2. 重启Nginx容器:在Docker后台找到nginx容器,点击「重启」使配置生效。

步骤5:局域网访问测试

在局域网内的任意设备(电脑、手机)浏览器中输入:

  • 飞牛管理页:http://fnos.yourdomain.com
  • Emby服务:http://emby.yourdomain.com

能正常打开对应服务页面,说明局域网域名访问配置成功。

四、场景三:公网远程访问(无公网IP,FRP穿透方案)【强烈添加新人用户,可惜需要购买有公网的服务器】

适合家庭宽带无公网IP(多数运营商默认不分配公网IP)的场景,核心通过FRP(Fast Reverse Proxy)内网穿透工具,将飞牛设备服务通过公网服务器暴露至互联网,配合域名实现稳定访问。FRP需分别部署服务端(公网服务器)和客户端(飞牛设备),推荐用Docker部署客户端以简化操作并保障开机自启。

步骤1:FRP服务端配置(公网服务器)

  1. 下载FRP软件:登录公网服务器,从FRP GitHub Releases下载对应系统版本(如Linux x86_64),解压后获取frps(服务端程序)和frps.ini(服务端配置文件)。
  2. 编辑服务端配置文件:打开frps.ini或者frps.toml(新版本是后面这个),填入以下基础配置(可根据需求调整端口和认证信息):[common] bind_port = 7000 # FRP服务端监听端口,用于与客户端通信 token = frp@123456 # 客户端连接认证令牌,建议修改为复杂密码 dashboard_port = 7500 # 管理面板端口(可选) dashboard_user = admin # 管理面板账号(可选) dashboard_pwd = admin123 # 管理面板密码(可选)
  3. 启动FRP服务端:执行命令启动服务端,建议配置为系统服务确保开机自启:# 临时启动(测试用) ./frps -c frps.ini # 配置为Linux系统服务(长期使用) sudo nano /etc/systemd/system/frps.service在服务文件中填入以下内容(替换路径为实际FRP存放路径):[Unit] Description=FRP Server Service After=network.target [Service] Type=simple ExecStart=/path/to/frps -c /path/to/frps.ini Restart=on-failure [Install] WantedBy=multi-user.target执行以下命令启用并启动服务:sudo systemctl daemon-reload sudo systemctl start frps sudo systemctl enable frps
  4. 开放服务器端口:在云服务器控制台的安全组中,开放7000(FRP通信端口)、7500(管理面板端口,可选)及后续映射的服务端口(如8081)。

步骤2:飞牛设备FRP客户端配置(Docker部署)

  1. 创建FRP客户端配置文件:在飞牛存储目录中新建/vol1/docker/frp文件夹,在该目录下创建frpc.ini配置文件,内容如下(替换对应参数):[common] server_addr = x.x.x.x # 公网服务器的公网IP server_port = 7000 # 与FRP服务端bind_port一致 token = frp@123456 # 与服务端token一致 use_encryption = true # 启用传输加密(提升安全性) use_compression = true # 启用数据压缩(提升传输效率) # 飞牛管理页穿透配置(映射HTTP服务) [feiniu-web] type = http local_ip = 127.0.0.1 # 飞牛本地IP(固定为127.0.0.1,Docker容器内访问宿主) local_port = 5666 # 飞牛管理页默认端口(可根据实际修改) remote_port = 8081 # 公网服务器暴露的端口(自定义,避免被屏蔽) custom_domains = nas.yourdomain.fun # 绑定的域名(需与后续DNS解析一致)
  2. 用Docker启动FRP客户端:登录飞牛Docker后台,点击「创建容器」,按以下参数配置:镜像:搜索并选择snowdreamtech/frpc(轻量稳定的FRP客户端镜像);
  3. 容器名称:自定义为frpc-feiniu
  4. volumes挂载:添加挂载项,本地路径选择/vol1/docker/frp(看自己的文件保存目录设置),容器路径填写/etc/frp或者/etc/frp/frpc.toml【后面这个是新版本的frp配置】(映射配置文件目录);
  5. 重启策略:选择「除非停止」(确保飞牛重启后自动恢复穿透服务);
  6. 点击「创建」启动容器,查看容器日志确认无报错(显示「start proxy success」即为正常)。

步骤3:域名解析配置(配合FRP访问)

  1. 登录域名管理平台(如腾讯云、阿里云),进入「云解析DNS」控制台;
  2. 添加解析记录:新建一条A记录,主机记录填写nas(对应frpc.ini中的custom_domains前缀),记录值填写公网服务器的公网IP,TTL设置为10分钟(快速生效);
  3. 保存记录,等待5-10分钟让解析生效。

步骤4:FRP穿透访问测试

  1. 断开局域网网络(如手机切换为流量),打开浏览器输入:http://nas.yourdomain.fun:8081(域名+公网暴露端口);
  2. 若能正常打开飞牛登录页面,说明FRP穿透配置成功;
  3. (可选)SSL证书配置:若需HTTPS访问,可在公网服务器部署Nginx反向代理,将HTTP请求转为HTTPS,或直接在FRP服务端配置HTTPS(参考FRP官方文档)。

四、常见问题排查

  1. 域名解析不生效?
  2. 等待TTL生效:DNS解析变更后需等待5-10分钟(TTL设置为10分钟更易生效);
  3. 清除本地DNS缓存:Windows运行 ipconfig /flushdns,Linux运行 systemd-resolve --flush-caches
  4. 检查DDNS状态:飞牛后台DDNS列表若显示「异常」,重新核对API凭证和域名拼写。
  5. 公网访问提示403/404?
  6. 403:检查飞牛设备防火墙是否拦截外部端口,或访问权限是否设置正确;
  7. 404:确认端口转发规则中的内部端口与飞牛服务端口一致,域名解析记录正确。
  8. 安卓设备无法通过IPv6访问?
  9. 关闭路由器DHCPv6,开启SLAAC和RDNS,确保安卓设备能获取到飞牛的IPv6 DNS地址。
  10. HTTPS访问提示不安全?
  11. 检查证书格式:确保上传的是PEM格式完整证书链(含中间证书);
  12. 证书域名匹配:确认证书绑定的域名与访问域名一致。
  13. FRP穿透连接失败?
  14. 端口未开放:检查公网服务器安全组是否开放7000端口及映射的服务端口;
  15. 配置不匹配:核对frps.ini与frpc.ini中的server_port、token是否一致;
  16. 网络限制:部分运营商可能屏蔽7000等常用端口,可修改为10000以上端口重试;
  17. 容器问题:查看飞牛FRP客户端容器日志,确认配置文件路径映射正确。

五、注意事项

  • API凭证安全:请勿向他人泄露SecretId/SecretKey等API信息,避免域名被恶意解析;
  • 免费证书续期:免费SSL证书有效期通常为3个月,需提前在域名平台续期并重新上传至飞牛设备;
  • 端口选择:避免使用80、443、8080等常用端口(部分运营商会屏蔽),选择10000-65535之间的端口更稳定;
  • IPv6优势:若家庭宽带支持IPv6,优先使用IPv6解析,无需配置端口转发,访问更便捷安全;
  • FRP安全配置:必须设置token认证,避免未授权设备连接;建议启用use_encryption和use_compression参数,提升传输安全性和效率;
  • 公网服务器维护:定期更新FRP软件版本修复安全漏洞;监控服务器带宽和流量,避免因流量过载导致访问卡顿;
  • FRP多服务映射:若需穿透飞牛内多个服务(如Emby、QBittorrent),可在frpc.ini中新增多个服务段落,配置不同的服务名称、local_port和custom_domains。
欢迎各位来阅读!
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇