【干货】VPS故障时自动切换IP的方法

用godaddy实现ddns或服务器故障自动切换

通过修改域名对应的IP地址可以在网站故障时实现自动IP切换

如果使用其他dns,需参考dns服务商提供的API

1、获取godaddy的API
1.1 访问如下网址:

https://developer.godaddy.com/keys

1.2 登陆后创建KEY:

创建时选“Product”不要选ote

注意:此页面只显示一次,需保存好key和secret
2、拷贝如下脚本,修改相关内容,保存为cdns.sh,上传至服务器或路由器,开启执行权限
#根据你自己的信息修改如下内容
domain="your_domain_here.com"   # 需更新的域名,比如iytc.net
name="@"                                    # 需更新的A记录名称,比如要更新test.iytc.net,此处填写test
key="your key here"                      # 你的godaddy Key
secret="your secret here"               # 你的godaddy Secret

currentIp=$1

headers="Authorization: sso-key $key:$secret"


result=$(curl -v -k -X GET -H "$headers" \
         "https://api.godaddy.com/v1/domains/$domain/records/A/$name")


dnsIp=$(echo $result | grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b")
#echo "dnsIp======="$dnsIp



if [ "$dnsIp" != "$currentIp" ]; then
        request='[{"data":"'$currentIp'","ttl":600}]'
        nresult=$(curl -i -k -v  -X PUT \
        -H "$headers" \
        -H "Content-Type: application/json" \
        -d $request "https://api.godaddy.com/v1/domains/$domain/records/A/$name")

fi
3、使用方法
./cdns.sh ip地址

比如要将对应的dns IP地址改为11.22.33.44,则执行

./cdns.sh 11.22.33.44
4、应用
4.1 路由器ddns

你可以在ip改变时执行脚本,将域名指向的IP地址更新为新的IP地址

4.2 网站故障自动切换

监控某个网站(比如定时ping),当发现故障时执行此脚本修改域名的A记录指向备份网站的IP地址,实现故障自动切换

发表评论

邮箱地址不会被公开。 必填项已用*标注