本文基于Dynv6, 搭配ddns-go实现动态dns域名解析. 现在很多动态IP的VPS或NAT不提供ddns域名了, 所以需要自己搭建.
Dynv6 是国外动态DNS服务商(DDNS), 提供免费服务, 支持IPv4/IPv6, 有多个域名可供选择. 需要邮箱注册, 并验证使用.
官网: https://dynv6.com/
Dynv6 使用介绍
注册完账号, 在My Zones
– Create 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/