如何为动态 IP|NAT VPS 部署固定域名

tengxunyun cera

现在动态 IP 以及 NAT VPS 主机越来越受欢迎,一方面满足了业务的需求,但另一方面也带来一个问题,就是 IP 不固定不好开展业务。比如建个站指向好了,下一刻主机却 IP 变了,此时便要去更新 DNS,更新了过一段时间发现 IP 又变了,又去更新 DNS,如此反复,十分累人。本文将探讨当 IP 发生变动时如何自动更新域名指定 IP。

目前的思路是 VPS 主机自动检测外网 IP 变动,当变了时自动去更新 DNS 记录。在这思路下,方案是可以通过运行脚本检测,并通过 DNS API 触发更新,支持 API 更新的有 CloudFlare、阿里云解析等 DNS 托管。以下以 CloudFlare 为例说明。

脚本说明

直接放上脚本:

#!/bin/bash

# 根据实际修改以下字段值
auth_email="[email protected]"    # CloudFlare 注册邮箱
auth_key="c2547eb745079dac9320b638f5e225cf483cc5cfdda41"   # API Key
zone_name="example.com"   # 要做指向的根域名
record_name="www.example.com"   # 要做指向的记录

# 根据需要修改
ip=$(curl -s http://ipv4.icanhazip.com)   # 获取外网 IP
ip_file="ip.txt"  # IP 自动检测记录
id_file="cloudflare.ids"  # CloudFlare 验证文件
log_file="cloudflare.log"  # CloudFlare API 执行日志

# 日志格式
log() {
    if [ "$1" ]; then
        echo -e "[$(date)] - $1" >> $log_file
    fi
}

# 检测
log "Check Initiated"

if [ -f $ip_file ]; then
    old_ip=$(cat $ip_file)
    if [ $ip == $old_ip ]; then
        echo "IP has not changed."
        exit 0
    fi
fi

if [ -f $id_file ] && [ $(wc -l $id_file | cut -d " " -f 1) == 2 ]; then
    zone_identifier=$(head -1 $id_file)
    record_identifier=$(tail -1 $id_file)
else
    zone_identifier=$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones?name=$zone_name" -H "X-Auth-Email: $auth_email" -H "X-Auth-Key: $auth_key" -H "Content-Type: application/json" | grep -Po '(?<="id":")[^"]*' | head -1 )
    record_identifier=$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones/$zone_identifier/dns_records?name=$record_name" -H "X-Auth-Email: $auth_email" -H "X-Auth-Key: $auth_key" -H "Content-Type: application/json"  | grep -Po '(?<="id":")[^"]*')
    echo "$zone_identifier" > $id_file
    echo "$record_identifier" >> $id_file
fi

update=$(curl -s -X PUT "https://api.cloudflare.com/client/v4/zones/$zone_identifier/dns_records/$record_identifier" -H "X-Auth-Email: $auth_email" -H "X-Auth-Key: $auth_key" -H "Content-Type: application/json" --data "{\"id\":\"$zone_identifier\",\"type\":\"A\",\"name\":\"$record_name\",\"content\":\"$ip\"}")

if [[ $update == *"\"success\":false"* ]]; then
    message="API UPDATE FAILED. DUMPING RESULTS:\n$update"
    log "$message"
    echo -e "$message"
    exit 1 
else
    message="IP changed to: $ip"
    echo "$ip" > $ip_file
    log "$message"
    echo "$message"
fi

直接下载脚本

# wget --no-check-certificate https://zhujiwiki.comhttps://tc-gz-1252597704.cosgz.myqcloud.com/uploads/2018/07/CloudFlareDDNS/cloudflare-update-record.sh > /root/ddns.sh

定期执行

比如上述脚本保存到 /root/ddns.sh,先增加执行权限

# chmod +x /root/ddns.sh   

手动单次执行:

# bash ddns.sh

利用 Crontab 任务定期指定:

# crontab -e

键盘上敲 i 进入编辑,添加如下字段:

*/5 * * * * bash /root/ddns.sh

这段代码的意思是每 5 分钟执行一次检测。

cera cloudiplc

相关推荐

NextArray测评|优惠码|达拉斯VPS|2核|1G内存|20GB SSD|100G HDD|100Mbps|不限流量|1.99刀每月

#NextArray#发来邮件,说自家在美国达拉斯机房有虚拟主机、VPS、独立服务器出售中,母鸡采用10Gbps端口。VPS默认是#100Mbps#端口不限流量,可以加钱最高升至10Gbps端口,按月付款,支持#paypal#,提供免费 DDoS 保护,额外增加1个IP1美元,有需要的朋友可以关注一下。 NextArray怎么样?NextArray好不好?NextArray成立于2019年,主营美国达拉斯机房的共享虚拟主机、云虚拟主机、VPS、专用服务器业务。接受 PayPal、信用卡/借记卡、比特币付款。   美国达拉斯VPS NextArray美国VPS,#达拉斯#机房,选择HDD硬盘的话就是大硬盘VPS CPU 内存 存储 带宽 流量 IPv4 价格 购买 1核 1 GB 20GB SSD或100GB SATA 100Mbps 不限 1个 $1.99/月 点击直达 2核 2 GB 40GB SSD或100GB SATA 100Mbps 不限 1个 $4.99/月 点击直达 3核 4 GB 60GB SSD或100GB SATA 100Mbps 不限 1个 $5.99/月 点击直达     -> CPU Performance Test …

HaloCloud评测|优惠码|日本软银|100M|奈飞|香港Azure|1000M带宽

#HaloCloud#怎么样?HaloCloud好不好?HaloCloud是一个于2019下半年建立的商家,主要提供日本软银vps,#广州移动#VDS,株洲联通VDS,广州移动独立服务器,Halo邮局服务,Azure香港1000M带宽月抛机器等。可以解锁奈飞等流媒体,有需要看奈飞的朋友可以入手 官网:https://www.halocloud.net vps套餐: 日本软银VPS 套餐 cpu 内存 带宽 流量 硬盘 IP 价格 购买 日本软银 500M VPS 2核 2048 Mb 500Mbps 5000GB 60Gb 1 独立 IP ¥399.00元/月 立即订购 日本软银 1000M VPS 4核 4096 Mb 1000Mbps 10000GB 60Gb 1 独立 IP ¥699.00元/月 立即订购  

Millenial测评|优惠码|5刀每月|1核|1G内存|5G硬盘|512G流量|1Gbps|原生IP|香港

#Millenial#.Host,简写域名MLNL.Host,HostHongKong.Net老板2021年新创建的品牌,Millenial是由他和搭档Jay创建的英国公司,他们碰巧是幽默感很差的千禧一代所以得名千禧主机,数据中心位于香港粉岭,主要提供香港大带宽NAT VPS和KVM VPS,#DDOS#保护型VPS接入了毛子商家DDG的防御,其NAT VPS和标准网络套餐,接驳HGC直连中国大陆,速度不错。目前新品牌开业促销,最高优惠55%,有需要的可以看看。 PS:主机资讯拿到了第一手lg测速地址,有兴趣的可以自行测试路由。目前来看,电信、联通回程走HGC直连,移动走香港NTT,速度不错。不过这个配置价格感觉略高了,有原生IP需求的话可以看看,注意不要选成DDoS Protected的机型了,防御机型全球绕路。 标准网络套餐: CPU:1核(i7-3770) 内存:1G 硬盘:5G(开机实际可用为1.3G,swap分配了2G) 流量:512G/月(1Gbps)大陆直连为#100Mbps# 价格:$5/月 原价$8.5/月 购买链接 LookGlass测速地址: 标准网络:hk.lg.mlnl.host DDOS保护的网络:hkd.lg.mlnl.host   目前来看,本人对CPU和硬盘I/O不是很满意,感觉哪里有待提高,根据官方的TOS的一些细节,站长猜测有一定的限制导致的: 电信回程: 移动回程 全国PING测速

玄天云|香港CN2|4M带宽|月付60元|美国CN2|12M带宽|月付60元|罗马尼亚

#玄天云#怎么样,玄天云好不好,今天收到一个一家叫玄天云的商家的投稿,以下是商家自述:玄天云是一家国人自营商家,主要经营罗罗马尼亚抗投诉无视版权,美国高防,香港云,日本云,国内云/独立服务器业务,高防虚拟空间采用Hyper-V虚拟架构,搭配一对一面板,机房包括罗马尼亚,美国高防,香港,日本,国内等业务,最低方案仅40元,性价比还是不错的。 官方网站 点击进入玄天云官方网站 促销方案 罗马尼亚:10G防御内容宽松抗投诉无视版权 香 CPU:4核 内存:1G 硬盘:20G 流量:不限 带宽:20Mbps IP:一个 IP 价格:100元/月 购买连接:点此直达 测试IP:89.40.73.1 测试IP:180.215.220.1 测试IP:118.107.14.1 测试IP:172.247.223.1 今天正好收到商家发来的机器,测评如下

微信扫一扫,分享到朋友圈

如何为动态 IP|NAT VPS 部署固定域名