家里宽带和大多数移动网络的公网 IP 都不固定。运营商断线重拨或设备重启后,可能会分配新地址。域名如果还指向旧 IP,访问自然失败。阿里云动态域名的思路并不复杂:一个小程序定期检查本机公网 IP,发现变化后调用阿里云云解析的接口,更新对应的 A 记录。域名不变,访问的人也察觉不到。

适用场景
- 出门在外,想连回家里的 NAS 或群晖取照片、看下载进度
- 用树莓派搭了小网站或测试服务,偶尔需要从外网访问
- 外出时查看家中监控摄像头的画面
- 办公室有一台机器需要远程访问,又不想每次都手动改解析
案例:一台 NAS 的远程访问问题
以下为示例场景,数字为假设。北京的张先生用群晖 NAS 存放家庭照片,并把域名 nas.example.com 解析到家中宽带的公网 IP。宽带大约每两三天重拨一次,IP 随之变化。他之前每次都要登录云解析控制台手动改记录,但常常忘了,结果外出时打不开。
后来他在 NAS 上启用了 DDNS 功能,服务商选阿里云,每 10 分钟检测一次公网 IP。IP 一变,程序就自动更新 A 记录。之后三个月里 IP 变了 9 次,他没有再手动改过一次。外出访问时,最长的中断时间大约是一个检测周期加上 DNS 缓存时间。
配置前的准备
- 域名托管:域名的 DNS 解析需要托管在阿里云云解析 DNS 中,否则后面的接口调用无从谈起。
- RAM 子账号:别直接用主账号的 AccessKey。新建一个 RAM 子账号,只授予查询和修改解析记录的权限。万一密钥泄露,影响范围会小很多。
- 密钥保管:AccessKey ID 和 AccessKey Secret 只填在设备的 DDNS 设置里,不要写进公开的代码、文档或截图。
- 确认公网 IP:去路由器后台查看 WAN 口地址。如果显示的是 100.64.0.0/10 段的地址,说明运营商用了运营商级 NAT,外部无法直接访问。这种情况下动态域名帮不上忙,需要向运营商申请公网 IP,或者改用内网穿透方案。
三步完成配置
- 添加初始记录:在云解析控制台给域名添加一条 A 记录。比如主机记录填 home,记录值填当前公网 IP,TTL 设为 600 秒。
- 填写 DDNS 设置:在路由器或 NAS 的 DDNS 页面选择阿里云,依次填入域名、主机记录、AccessKey ID 和 AccessKey Secret。如果设备没有内置这个功能,可以在一台常开的电脑或软路由上运行开源的阿里云 DDNS 脚本,再配一个定时任务。
- 测试同步:手动重启光猫或路由器拨号,等新 IP 分配下来后,在另一台电脑上执行 nslookup home.example.com。返回的地址如果和当前公网 IP 一致,就说明同步正常。
检测间隔与解析生效时间
检测间隔决定 IP 变化后最晚多久能被发现。一般设为 5 到 10 分钟比较合适。间隔太短,API 调用次数会增多;间隔太长,中断时间也会拉长。
TTL 决定其他 DNS 服务器缓存解析结果的时长。TTL 越短,新地址生效越快,但解析查询的压力也越大。家庭场景通常设为 600 秒。检测间隔和 TTL 叠加起来,IP 变化后的中断时间通常在十几分钟内。如果业务对中断时间很敏感,就应该考虑固定公网 IP 或专线。
常见问题
免费版能否使用较短的 TTL?
云解析免费版对 TTL 的最小值有限制,具体数值以官方控制台和文档为准。设置前先去控制台确认一下。
域名是否需要备案?
只用于家庭内网访问或个人远程管理,通常不需要备案。如果要用域名在中国大陆的服务器上对外提供网站访问,则需要完成 ICP 备案。
DDNS 能否保护设备安全?
不能。动态域名只负责更新地址。NAS 和路由器的管理后台仍然暴露在公网上,所以要启用 HTTPS,设置强密码,关闭不需要的端口,并开启双因素认证。
注意事项
- AccessKey 应定期轮换,轮换后记得同步更新设备上的配置,否则同步会静默失败。
- RAM 子账号的权限只限于目标域名的解析记录,不要顺手加上其他权限。
- API 调用的计费规则可能调整,使用前请查阅阿里云官方说明。
- 同一个域名下如果有多条记录,修改前先确认主机记录名称,免得误改其他服务的解析。