Transkey

DDNS自动解析脚本分享
一、背景使用域名解析时,应该有不少小伙伴会遇到域名自动解析到多台服务器的问题。主域名(1msky.cn)  ...
扫描右侧二维码阅读全文
04
2019/09

DDNS自动解析脚本分享

一、背景

DDNS-diagram1.png
使用域名解析时,应该有不少小伙伴会遇到域名自动解析到多台服务器的问题。

  • 主域名(1msky.cn)  ⇒ 服务器A
  • 二级域名(www.1msky.cn)  ⇒ 服务器A
  • 二级域名(test.1msky.cn)  ⇒ 服务器B
  • 二级域名(fast.1msky.cn)  ⇒ 服务器C

如果要满足上面需求
我们一般会手动添加解析记录到域名管理里。

这里给大家分享一个二级域名自动解析脚本
通过DNSPPOD API来实时设置更新域名解析。

此脚本可达到如下2个效果

1.自动实时更新域名的解析记录(动态DNS),防止域名指向服务器旧的ip
2.二级域名可解析到多台服务器


二、必要条件

  1. 一级域名1msky.cn,且绑定到DNSPOD
  2. Linux主机(被域名指向的服务器)
  3. 脚本ddns_update.sh

三、脚本使用方法

① 从DNSPod获取API ID与Token

方法参考传送门

② 脚本ddns_update.sh上传至服务器,权限追加,修改内容

chown u+x /root/sh/ddns_update.sh
vim /root/sh/ddns_update.sh

## 脚本内容修改如下部分
# 设置用户参数
arID="xxxxx"
arToken="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"


# 填写账户的API ID/token
# 检查更新域名 
# 格式:arDdnsCheck "主域名" "二级CNAME"
arDdnsCheck "1msky.cn" "test"   # 解析test.1msky.cn到本服务器
arDdnsCheck "1msky.cn" "www"    # 解析www.1msky.cn到本服务器
arDdnsCheck "1msky.cn" "image"  # 解析image.1msky.cn到本服务器

③ 前往 DNSPOD 追加3条解析记录

test.1msky.cn   -> 8.8.8.8
www.1msky.cn    -> 8.8.8.8
image.1msky.cn  -> 8.8.8.8

④ 设置crontab每分钟定时更新域名解析

## 打开crontab
crontab -e

## 插入如下内容
* * * * * /bin/bash /root/sh/ddns_update.sh >/dev/null 2>&1

上面/root/sh/ddns.sh改成自己的脚本路径


三、确认脚本运行效果

## 取得服务器的外网IP
[root@mytest handsome]# curl ifconfig.io  
13.231.43.244

## 解析正常: www.1msky.cn -> 13.231.43.244
[root@mytest handsome]# dig www.1msky.cn +short
13.231.43.244  

## 解析正常: image.1msky.cn -> 13.231.43.244
[root@mytest handsome]# dig image.1msky.cn +short
13.231.43.244

四、多台服务器使用二级域名

如果其他二级域名需要解析到其他服务器
只需将脚本放到该服务器上,并做上述步骤即可实现。

注意: 一个二级域名只能指向同一台哦


五、脚本下载


此处内容需要评论回复后(审核通过)方可阅读。


阿里云中国版注册就送¥2000,可开香港区机房CN2专线,【点击注册】。
阿里云国际版注册就送$10,国际机房CN2专线,无需备案,【点击注册】。

Last modification:September 26th, 2019 at 10:53 am
如果觉得我的文章对你有用,请随意赞赏

4 comments

  1. 平少

    我也想学习下..KOOL的DNSPOD不自动解析更换的IP...

    1. Transkey
      @平少

      OK

  2. Danger

    emmmmmm, 我想学习一下

    1. Transkey
      @Danger

      欢迎欢迎~

Leave a Comment