【DNS解析】如何设置DDNS(动态域名解析)

2022-06-29 22:40:11 浏览数 (1)

本教程仅适用于解析托管在DNSPod平台上的域名,其他平台托管的域名请自行通过搜索引擎查找教程。 本教程前两个步骤通用,通过第三方插件或NAS&路由器自带插件设置可参考前两步获取Token&添加记录。获取DNSPod Token

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

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

1、点击创建密钥,这里可能会进行安全验证,按照提示验证即可。

安全验证安全验证

2、设置密钥名称,这里根据需要随便填就好。

设置名称设置名称

3、记录密钥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.myzijiebao.com/luci-app-tencentddns_0.1.0-1_all.ipk

网络安装网络安装
安装确认安装确认

如果安装过程中报错255,请通过ssh登录OpenWrt执行以下命令,执行前请先前往软件包安装wget(wget-ssl)

安装wget安装wget
代码语言:txt复制
wget --no-check-certificate https://openwrt-tencentddns-1301800460.cos.ap-guangzhou.myzijiebao.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 启用 DNSPod DDNS

群晖(Synology)NAS设置DDNS

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

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

控制面板控制面板

新增DDNS

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

新增DDNS新增DDNS

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

爱快设置DDNS教程

1、登录爱快后台,点击高级应用→动态域名→添加

爱快动态域名爱快动态域名

2、按照界面提示填写相关信息

爱快DDNS爱快DDNS

通过定时任务设置DDNS

通过定时任务 curl访问接口设置DDNS,受接口限制,暂不支持IPv6获取域名ID

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

域名ID域名ID

获取记录ID

1)、通过控制台获取

在管理页面找到操作日志,“值”后面括号内数字极为记录ID

控制台获取记录ID控制台获取记录ID

2)、通过记录列表接口获取

ssh连接服务器通过curl请求接口获取

代码语言:txt复制
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,先写着,毕竟马上就支持了)

例如:

代码语言:txt复制
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返回记录ID

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

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

代码语言:txt复制
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'

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

例如:

代码语言:txt复制
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操作成功ddns操作成功

设置定时任务

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

代码语言:txt复制
yum install crontabs
systemctl enable crond
systemctl start crond
配置定时规则
代码语言:txt复制
vim /etc/crontab
代码语言:txt复制
*/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'
配置规则配置规则

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

保存生效
代码语言:txt复制
crontab /etc/crontab
查看任务
代码语言:txt复制
crontab -l
查看任务查看任务
查看结果

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

更新成功详情更新成功详情
更新成功日志更新成功日志

0 人点赞