1. 为什么你需要IPv6动态域名解析?

家里装了千兆宽带,路由器PPPoE拨号上网,明明申请了公网IPv6地址,结果每次断电重启就变——这可能是很多家庭网络管理员最头疼的问题。我去年给父母家装智能摄像头时就遇到过这个麻烦:远程查看时发现域名解析失效,连夜开车去处理,结果只是路由器重启导致IPv6地址变化。

传统IPv4的DDNS(动态域名解析)方案大家可能都用过,但IPv6环境下很多商业服务商并不支持。手动更新DNS记录?且不说操作繁琐,光是半夜被叫醒处理解析问题就够崩溃的。这就是为什么我们需要ddns-go这样的开源工具——它能自动检测IPv6变化,实时同步到域名解析记录。

2. ddns-go到底能做什么?

这个不到10MB的小工具堪称IPv6网络管理的瑞士军刀。我实测它在树莓派上内存占用不到30MB,却实现了三大核心功能:

2.1 全自动地址监控

  • 支持通过网卡直接获取IPv6地址
  • 可设置检测频率(实测最低可设10秒)
  • 智能识别临时地址和固定地址

2.2 多平台多架构支持

在我的测试环境中,这些设备都运行良好:

  • x86架构的Ubuntu服务器
  • ARM架构的树莓派4B
  • 甚至淘汰的旧手机刷的Armbian系统

2.3 主流DNS服务商全覆盖

目前支持包括:

服务商API类型特殊要求
阿里云AccessKey需RAM权限控制
CloudflareAPI Token需Zone权限
DNSPodID/Token需开通DNSPod服务

3. 手把手安装配置指南

3.1 环境准备

以Ubuntu 22.04为例,先确认基础环境:

# 检查IPv6是否启用
ip -6 addr show eth0
# 安装依赖
sudo apt update && sudo apt install -y wget tar

3.2 安装ddns-go

下载最新版本(当前为v6.6.9):

wget https://github.com/jeessy2/ddns-go/releases/download/v6.6.9/ddns-go_6.6.9_linux_x86_64.tar.gz
tar -zxvf ddns-go_*.tar.gz
chmod +x ddns-go

3.3 服务化安装

推荐用这个参数组合:

./ddns-go -s install -f 60 -cacheTimes 30 -l :9876
  • -f 60:每分钟检查IP变化
  • -cacheTimes 30:每30次检查(即30分钟)强制同步DNS
  • -l :9876:Web管理端口

4. 阿里云DNS配置实战

4.1 获取AccessKey

  1. 登录阿里云控制台
  2. 进入「RAM访问控制」>「用户」
  3. 创建新用户并勾选「OpenAPI调用访问」
  4. 记住生成的AccessKey ID和Secret

重要提示:Secret只在创建时显示一次,务必立即保存

4.2 Web界面配置

访问http://服务器IP:9876:

  1. DNS服务商选择「阿里云」
  2. 填入刚才获取的AccessKey
  3. 在「IPv6」选项卡:
    • 关闭IPv4功能
    • 获取方式选「通过网卡获取」
    • 域名填写home.example.com(需提前购买)
  4. 点击「保存」

5. 进阶技巧与排错

5.1 多域名配置技巧

在Domains栏可以这样填写:

home.example.com, camera.home.example.com, nas.home.example.com

ddns-go会自动为所有子域名创建AAAA记录

5.2 常见问题排查

  • 问题1:Web界面无法访问

    • 检查防火墙:sudo ufw allow 9876/tcp
    • 确认服务运行:ps aux | grep ddns-go
  • 问题2:解析不更新

    # 查看日志
    journalctl -u ddns-go -f
    # 手动触发检测
    curl http://localhost:9876/check
    

6. 安全加固建议

6.1 最小权限原则

在阿里云RAM策略中限制:

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "alidns:DescribeDomainRecords",
        "alidns:UpdateDomainRecord"
      ],
      "Resource": "acs:alidns:*:*:domain/example.com"
    }
  ]
}

6.2 网络防护

建议配合这些措施:

  • 修改默认Web端口(如-l :17456)
  • 启用Basic Auth认证
  • 配置Nginx反向代理+HTTPS

7. 与其他工具对比

测试了三款主流工具的表现:

工具名称IPv6支持服务商支持资源占用配置复杂度
ddns-go✔️12家30MB简单
ddclient✔️8家50MB复杂
inadyn❌5家25MB中等

实际使用半年后,ddns-go的稳定性最让我惊喜——期间路由器重启27次,域名解析始终准确无误。现在给客户部署智能家居系统时,这套方案已经成为我的标准配置。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐