POST

飞牛 DDNS:公网 IP 变了,域名还能跟上

动态域名解析的原理和配置,以及没有公网 IPv4 时该怎么办。

家庭宽带的公网 IP 通常是动态的:重启光猫、运营商换地址,IP 就变了。如果你用域名访问 NAS,IP 一变,域名就指错地方了。

DDNS(动态域名解析)就是解决这个问题的:定时检测 IP,变了就自动更新域名的解析记录。

原理

DDNS 客户端跑在 NAS 上,做两件事:

  1. 定期获取当前公网 IP;
  2. 如果和 DNS 记录不一致,调用 DNS 服务商的 API 更新记录。

整个过程自动完成,你只需要在域名服务商那里准备好 API 凭据。

常见实现

  • 路由器自带 DDNS:很多路由支持阿里云、腾讯云等;
  • NAS 上跑脚本:用 API 定时更新;
  • Docker 工具:如 ddns-go 这类镜像,图形化配置。

飞牛本身的应用中心/社区里也有相关方案,具体以你当前版本为准。

配置要点

以阿里云为例,大致需要:

  • 一个域名,托管在阿里云解析;
  • AccessKey(建议用子账号,只给 DNS 权限);
  • 要更新的记录(比如 nas.example.com);
  • 更新间隔(一般 5~10 分钟)。

脚本或工具就是调用「修改解析记录」的接口,把值换成当前 IP。

没有公网 IPv4 怎么办

这是现在很多家庭的现实:宽带是 CGNAT,没有公网 IPv4。

这时候 DDNS 有两种变通:

  • IPv6 DDNS:如果宽带有 IPv6,给 AAAA 记录做动态更新;
  • 内网穿透:用 FN Connect、Tailscale、Cloudflare Tunnel 等,根本不依赖公网 IP。

所以 DDNS 不是万能的,先确认自己到底有没有公网地址。

常见的坑

API 权限过大:用主账号 AccessKey 有风险,建议子账号最小权限。

更新太频繁:容易被服务商限流,5~10 分钟一次足够。

只更新 A 记录:如果走 IPv6,要更新 AAAA。

光猫重新拨号后 IPv6 前缀变了:AAAA 记录也要跟着更新。

用 DDNS 暴露了管理端口:安全风险高,尽量配合防火墙或 VPN。

小结

DDNS 解决的是「IP 变了怎么办」,但它只对有公网地址的场景有效。

如果家里没有公网 IP,别在 DDNS 上花时间,直接上内网穿透方案更实际。

👁 - 次浏览

留言

← 返回首页