通过阿里云的API接口,为动态公网IP实现动态域名绑定(DDNS)
通过阿里云的API接口,为动态公网IP实现域名绑定(DDNS)
go get github.com/lonord/aliyun-ddns
如果需要编译其他平台的二进制文件(比如为树莓派编译),进入目录,使用build.sh
来编译
./build.sh -l=arm # 编译arm版linux的二进制文件
aliyun-ddns --help
Usage of ./dist/darwin/amd64/aliyun-ddns:
-domain string
Domain name (like google.com)
-key string
Access Key ID
-region string
Region ID (default "cn-hangzhou")
-rr string
Resource record (RR)
-secret string
Access Key Secret
-type string
Domain type (A,CNAME,MX,etc...) (default "A")
-v Show version
指定DNS解析的根域名,也可以通过环境变量ALIDNS_DOMAIN
来设置
阿里云API服务访问key,也可以通过环境变量ALIDNS_ACCESS_KEY
来设置
可选参数
阿里云API服务地区,一般选择最近的区域,默认为cn-hangzhou
,(服务区域ID可以在阿里云官网找到),也可以通过环境变量ALIDNS_REGION
来设置
指定需要动态更新的主机记录,也可以通过环境变量ALIDNS_RR
来设置
阿里云API服务访问密钥,也可以通过环境变量ALIDNS_ACCESS_SECRET
来设置
可选参数
指定需要动态更新的主机记录的类型(A,CNAME,MX等),默认为A
,也可以通过环境变量ALIDNS_DDMAIN_TYPE
来设置
例如每10分支更新一次subdomain.abc.com
这个域名的DDNS记录,在/etc/cron.d/
下创建一个文件updatedns
# The first element of the path is a directory where the debian-sa1
# script is located
PATH=/root/bin:/usr/sbin:/usr/sbin:/usr/bin:/sbin:/bin
ALIDNS_REGION=cn-shanghai
ALIDNS_ACCESS_KEY=xxxxxxxxxxx
ALIDNS_ACCESS_SECRET=xxxxxxxxxxxxx
ALIDNS_DOMAIN=abc.com
ALIDNS_DDMAIN_TYPE=A
ALIDNS_RR=subdomain
5-55/10 * * * * root aliyun-ddns | logger -i -t update-dns
MIT