本教程仅适用于解析托管在DNSPod平台上的域名,其他平台托管的域名请自行通过搜索引擎查找教程。

本教程前两个步骤通用,通过第三方插件或NAS&路由器自带插件设置可参考前两步获取Token&添加记录。

2022年2月15日:补充群晖设置教程

获取DNSPod Token

1、打开并登录控制台-API密钥

注意这里一定要选择”DNSPod Token”而非”腾讯云API密钥”。

2、点击创建密钥,这里可能会进行安全验证,按照提示验证即可。
安全验证
3、设置密钥名称,这里根据需要随便填就好。
设置名称
4、记录密钥ID及Token

注意:Token仅在创建时展示一次,忘记的话请重新创建
完成创建密钥
如果用于DDNS请不要设置IP白名单

添加解析记录

1、打开并登录解析控制台
解析控制台
2、找到对应的域名点击管理,这里以oed.im为例
设置解析
3、设置解析记录
点击添加记录填写对应信息后点击保存完成添加。

主机记录:若直接解析主域名,请填@,若解析子域名,请填对应的值例如www。
记录值:随便填一个IPv4,例如127.0.0.1(若使用IPv6,请随便填一个IPv6地址,例如fe80::0)
记录类型:默认为A即可(若使用IPv6请选择AAAA记录)
线路类型:无特殊需求默认即可
权重:默认不用填
TTL:无特殊需要默认即可
添加解析记录

设置DDNS

通过腾讯云DDNS插件设置(OpenWrt)

1、登录OpenWrt,找到系统(System)→软件包(Software),将下方软件包的地址放入从网络安装的输入框中,点击确认(ok)完成安装。 ipk安装地址:https://openwrt-tencentddns-1301800460.cos.ap-guangzhou.myqcloud.com/luci-app-tencentddns_0.1.0-1_all.ipk
网络安装
安装确认
如果安装过程中报错255,请通过ssh登录OpenWrt执行以下命令,执行前请先前往软件包安装wget(wget-ssl)
安装wget

1
2
wget --no-check-certificate https://openwrt-tencentddns-1301800460.cos.ap-guangzhou.myqcloud.com/luci-app-tencentddns_0.1.0-1_all.ipk
opkg install luci-app-tencentddns_0.1.0-1_all.ipk

安装或执行完成后即可在后台看到插件
插件界面
2、勾选启用,填写相关信息,并选择相应配置,最后点击保存并应用
配置信息
3、应用后等待一会刷新,当看到UPDATED(x.x.x.x)后说明配置成功
配置成功

群晖(Synology)NAS设置DDNS

DSM7.0及以上建议通过腾讯云API设置DDNS并自动部署免费证书,具体可参考:群晖设置DDNS并实现腾讯云免费SSL证书的自动申请与部署

打开控制面板

登陆后打开控制面板,点击外部访问→DDNS
控制面板

新增DDNS

按提示填写相关信息后点击测试联机,正常情况下状态会显示“正常”,然后点击确定保存即可
新增DDNS

服务供应商:DNSPod.cn(若国际站选择DNSPod.com)
主机名称:填写你要设置DDNS的域名
用户名/电子邮件:填写密钥ID,参照教程第一节获取
密码或密钥:填写Token,参照教程第一节获取

爱快设置DDNS教程

1、登录爱快后台,点击高级应用→动态域名→添加
爱快动态域名
2、按照界面提示填写相关信息
爱快DDNS

通过定时任务设置DDNS

通过定时任务+curl访问接口设置DDNS,受接口限制,暂不支持IPv6

获取域名ID

登录控制台,找到并点击对应的域名,在管理页面找到并点击域名设置获取域名ID
域名ID

获取记录ID

1)、通过控制台获取
在管理页面找到操作日志,“值”后面括号内数字极为记录ID
控制台获取记录ID
2)、通过记录列表接口获取
ssh连接服务器通过curl请求接口获取

1
curl -X POST https://dnsapi.cn/Record.List -d 'login_token=LOGIN_TOKEN&format=json&domain_id=域名ID&sub_domain=子域名&record_type=A'

LOGIN_TOKEN:是由 ID,Token 组合而成的,用英文的逗号分割。
若设置IPv6记录,请将record_type=A改为record_type=AAAA
(暂不支持IPv6,先写着,毕竟马上就支持了)

例如:

1
curl -X POST https://dnsapi.cn/Record.List -d 'login_token=TokenID,Token&format=json&domain_id=86025807&sub_domain=test&record_type=A'

2、在返回数据中找到记录ID
返回记录ID

测试DDNS接口相关参数是否正确

ssh连接服务器通过curl请求接口测试

1
curl -X POST https://dnsapi.cn/Record.Ddns -d 'login_token=LOGIN_TOKEN&format=json&domain_id=域名ID&record_id=记录ID&record_line=线路类型&sub_domain=子域名&lang=en'

线路类型若无特殊需求默认即可

例如:

1
curl -X POST https://dnsapi.cn/Record.Ddns -d 'login_token=TokenID,Token&format=json&domain_id=86025807&record_id=953765245&record_line=默认&sub_domain=test&=en'

LOGIN_TOKEN:是由 ID,Token 组合而成的,用英文的逗号分割。

当返回状态码为1时说明操作成功。
ddns操作成功

设置定时任务

这里以centos为例,其他系统除安装方式外配置方式大体相同,大家可自行通过搜索引擎查找。

安装crontabs服务并设置开机自启
1
2
3
yum install crontabs
systemctl enable crond
systemctl start crond
配置定时规则
1
vim /etc/crontab
1
*/5 * * * * root curl -X POST https://dnsapi.cn/Record.Ddns -d 'login_token=TokenID,Token&format=json&domain_id=86025807&record_id=953765245&record_line=默认&sub_domain=test&=en'

配置规则

脚本内容根据实际情况填写,上面只是示例
规则很简单,从注释中可以看到左到右分别是 分钟(059)、小时(023)、天(131)、月(112)、星期(0~6)、用户名、要定时执行的命令或者脚本。
每多长时间记得在前面加一个’*/‘如上面的示例
注意:不要忘记中间的空格

保存生效
1
crontab /etc/crontab
查看任务
1
crontab -l

查看任务

查看结果

不出意外的话应该已经更新成功了,大家可以前往控制台查看效果。
更新成功详情
更新成功日志