加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell脚本实现GoDaddy中IPv6的动态域名解析(DDNS)_可在路由中

发布时间:2020-12-16 01:39:37 所属栏目:安全 来源:网络整理
导读:首先谈一下个人的需求,家里路由拿到了运营商的外网ipv6地址,于是想着将路由的各种服务通过DDNS放到外网上来,这才有下面的动态域名解析折腾。废话不多说,进入正题。 1、首先在godaddy中注册域名,这一点不是本文重点,先掠过。 2、配置DNS,如图: (注意

  首先谈一下个人的需求,家里路由拿到了运营商的外网ipv6地址,于是想着将路由的各种服务通过DDNS放到外网上来,这才有下面的动态域名解析折腾。废话不多说,进入正题。

1、首先在godaddy中注册域名,这一点不是本文重点,先掠过。

2、配置DNS,如图:

  (注意第二条router的解析记录,正是需要通过脚本调用官方api动态更新这一条解析,我这里是ipv6地址,所以是AAAA,如果是ipv4那么选择A类型。)

3、进入?https://developer.godaddy.com/keys?创建key和Secret并记录下来。

3、shell脚本内容:

  

#!/bin/bash

#这里是你购买的域名
mydomain="domain.xyz"
#这里是dns配置中的类型
myhostname="router"
#这里key和Secret之间注意有个冒号
gdapikey="你的key:你的Secret"
logdest="local7.info"
#另外注意,我这里的ipv6地址,所以使用的是AAAA类型解析,如果是ipv4那么下面所有的AAAA需改为A


#这里的地址也是为ipv6服务,ipv4地址为https://api.ipify.org
myip=`curl -s "https://api6.ipify.org"`
dnsdata=`curl -s -X GET -H "Authorization: sso-key ${gdapikey}" "https://api.godaddy.com/v1/domains/${mydomain}/records/AAAA/${myhostname}"`
gdip=`echo $dnsdata | cut -d , -f 1 | tr -d " | cut -d ":" -f 2`
echo "`date ‘+%Y-%m-%d %H:%M:%S‘` - Current External IP is $myip,GoDaddy DNS IP is $gdip"

if [ "$gdip" != "$myip" -a "$myip" != "" ]; then
  echo "IP has changed!! Updating on GoDaddy"
  curl -s -X PUT "https://api.godaddy.com/v1/domains/${mydomain}/records/AAAA/${myhostname}" -H "Authorization: sso-key ${gdapikey}" -H "Content-Type: application/json" -d "[{"data": "${myip}"}]"
  logger -p $logdest "Changed IP on ${hostname}.${mydomain} from ${gdip} to ${myip}"
fi

?

  到这里已经差不多了,有一定基础的朋友可以在Linux环境(比如路由中)分步测试脚本,如果没有问题可以在godaddy的dns管理页面及时看见修改结果,本脚本在padavan中测试成功,预计在类openwrt的路由中应该都能运行。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读