一、背景
使用域名解析时,应该有不少小伙伴会遇到域名自动解析到多台服务器的问题。
- 主域名(
1msky.cn
) ⇒ 服务器A - 二级域名(
www.1msky.cn
) ⇒ 服务器A - 二级域名(
test.1msky.cn
) ⇒ 服务器B - 二级域名(
fast.1msky.cn
) ⇒ 服务器C
如果要满足上面需求
我们一般会手动添加解析记录到域名管理里。
这里给大家分享一个二级域名自动解析脚本
,
通过DNSPPOD API来实时设置更新域名解析。
此脚本可达到如下2个效果
1.自动实时更新域名的解析记录(动态DNS),防止域名指向服务器旧的ip
2.二级域名可解析到多台服务器
二、必要条件
- 一级域名
1msky.cn
,且绑定到DNSPOD - Linux主机(被域名指向的服务器)
- 脚本
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
四、多台服务器使用二级域名
如果其他二级域名
需要解析到其他服务器
,
只需将脚本放到该服务器上,并做上述步骤即可实现。
注意: 一个二级域名只能指向同一台哦
五、脚本下载
此处内容需要评论回复后(审核通过)方可阅读。
博主厉害啊
我來學習一下哈
哈哈不错
我来学习一下哈
找了半天终于找到了
大家好啊
大家好啊
学习一下
嘎嘎
嘿嘿
来试试
学习一下
学习使我快乐
我来打卡啦~٩(๑>◡<๑)۶! 给你来句诗~
「盛年不重来,一日难再晨。」
学习一下
我也想学习下..KOOL的DNSPOD不自动解析更换的IP...
OK
emmmmmm, 我想学习一下
欢迎欢迎~