基于 Dynv6 免费域名给VPS搭建DDNS

本文基于Dynv6, 搭配ddns-go实现动态dns域名解析. 现在很多动态IP的VPS或NAT不提供ddns域名了, 所以需要自己搭建.

Dynv6 是国外动态DNS服务商(DDNS), 提供免费服务, 支持IPv4/IPv6, 有多个域名可供选择. 需要邮箱注册, 并验证使用.

官网: https://dynv6.com/

Dynv6 使用介绍

注册完账号, 在My ZonesCreate new Zone 可以创建自己的二级域名.
Name填写想用的二级域名, 比如 ddns-test, 域名后缀 比如选 dynv6.net.
IPv4 Address填写当前VPS服务的IP地址

然后就得到了一个二级域名 ddns-test.dynv6.net, 在 instructions 面板.
Update-URL 为更新域名IP的API.
Benutzername 为 下面用到的 <username> 秘钥.

基于ddns-go 配置自动更新DDNS

安装ddns-go可参考 ddns-go 安装.
安装ddns-go后, 浏览器打开 ddns-test.dynv6.net:9876, 即可配置.
Ps: 如果是搭建在NAT机器, 需要开一个端口映射到9876端口, 然后通过这个端口访问.
ddns-go 配置

  • DNS服务商 选 Callback, URL类似这样:
    http://dynv6.com/api/update?hostname=#{domain}&token=<username>&ipv4=#{ip}

    • #{domain} 为变量, ddns-go会自动输出 Domains配置的域名.
    • <username> 改为上面 Benutzername 位置的 秘钥令牌.
    • #{ip} 为变量, ddns-go会自动输出 VPS当前的IP地址.
  • IPv4 Domains 添加一行 ddns-test.dynv6.net

所以最终的Callback URL, 大概是这样:
如果是IPv4: http://dynv6.com/api/update?hostname=#{domain}&token=XXX&ipv4=#{ip}
如果是IPv6: http://dynv6.com/api/update?hostname=#{domain}&token=XXX&ipv6=#{ip}

然后就可以不用管ip变动了, ddns-test.dynv6.net 会自动更新DNS的IP记录.
以后, 只需要使用 ddns-test.dynv6.net 访问VPS即可.

其他说明

  • 为什么使用 ddns-go
    Dynv6 官方文档, 提供脚本/ddclient 更新DNS的说明, 但配置比较繁琐, 还需要写Crontab定时任务.
    而 ddns-go 简单方便, 定时更新/通知/配置 等常用功能都满足了, 而且不限于Dynv6 一个平台, 推荐使用.
  • Dynv6 的优势
    比用自己的域名安全, 如果用自己域名, 配置Alidns/Dnspod/Cloudflare等平台的秘钥, 万一秘钥被泄露就危险了.
  • 其他的 免费动态dns服务

    • http://www.dynu.com/zh-CN
    • https://dyndnss.net/eng/
    • https://freedns.afraid.org/
    • https://www.duckdns.org/
    • https://www.noip.com/