HKC / synology · 2021年 1月 18日 0

简单设置群晖NAS绑定阿里云域名

方法一:

1.注册阿里云账号。
2.注册一个域名。
3.到阿里云控制中心找到access key和secret并保存下来

001

002
4.到群晖控制面板找到任务计划新增一个计划。
新增->计划的任务->用户自定义脚本

003

任务名称自己随便设置

004

运行频率推荐选择10分钟

005

复制下面的内容到自定义的脚本

一定要修改前边汉字部分!一定要修改前边汉字部分!一定要修改前边汉字部分!

006

#!/bin/shaliddns_name=”你的域名前缀”
aliddns_domain=”你的域名”
aliddns_ak=”你的AccessKeyId”
aliddns_sk=”你的AccessKeySecret”

aliddns_curl=”curl -s whatismyip.akamai.com”
aliddns_dns=”223.5.5.5″
aliddns_ttl=”600″

ip=`$aliddns_curl 2>&1`

current_ip=`nslookup $aliddns_name.$aliddns_domain $aliddns_dns 2>&1`

if [ “$?” -eq “0” ]
then
current_ip=`echo “$current_ip” | grep ‘Address 1’ | tail -n1 | awk ‘{print $NF}’`
if [ “$ip” = “$current_ip” ]
then
exit 0
fi
fi

timestamp=`date -u “+%Y-%m-%dT%H%%3A%M%%3A%SZ”`

urlencode() {
# urlencode <string>
out=””
while read -n1 c
do
case $c in
[a-zA-Z0-9._-]) out=”$out$c” ;;
*) out=”$out`printf ‘%%%02X’ “‘$c”`” ;;
esac
done
echo -n $out
}
enc() {
echo -n “$1″ | urlencode
}
send_request() {
local args=”AccessKeyId=$aliddns_ak&Action=$1&Format=json&$2&Version=2015-01-09”
local hash=$(echo -n “GET&%2F&$(enc “$args”)” | openssl dgst -sha1 -hmac “$aliddns_sk&” -binary | openssl base64)
curl -s “http://alidns.aliyuncs.com/?$args&Signature=$(enc “$hash”)”
}
get_recordid() {
grep -Eo ‘”RecordId”:”[0-9]+”‘ | cut -d’:’ -f2 | tr -d ‘”‘
}
query_recordid() {
send_request “DescribeSubDomainRecords” “SignatureMethod=HMAC-SHA1&SignatureNonce=$timestamp&SignatureVersion=1.0&SubDomain=$aliddns_name.$aliddns_domain&Timestamp=$timestamp”
}
update_record() {
send_request “UpdateDomainRecord” “RR=$aliddns_name&RecordId=$1&SignatureMethod=HMAC-SHA1&SignatureNonce=$timestamp&SignatureVersion=1.0&TTL=$aliddns_ttl&Timestamp=$timestamp&Type=A&Value=$ip”
}
add_record() {
send_request “AddDomainRecord&DomainName=$aliddns_domain” “RR=$aliddns_name&SignatureMethod=HMAC-SHA1&SignatureNonce=$timestamp&SignatureVersion=1.0&TTL=$aliddns_ttl&Timestamp=$timestamp&Type=A&Value=$ip”
}
if [ “$aliddns_record_id” = “” ]
then
aliddns_record_id=`query_recordid | get_recordid`
fi
if [ “$aliddns_record_id” = “” ]
then
aliddns_record_id=`add_record | get_recordid`
echo “added record $aliddns_record_id”
else
update_record $aliddns_record_id
echo “updated record $aliddns_record_id”
fi

选中任务,点击运行,然后就可以使用您的域名访问NAS了。

方法二:

1.注册阿里云账号。
2.注册一个域名。
3.到阿里云控制中心找到access key和secret并保存下来

001

002

4.设置域名解析

登录阿里云控制台域名服务,设置域名解析,添加一个A记录到任意IP

例如:设置 A 记录 hkcnas.com 到 1.1.1.1

008

5.Docker镜像下载并启动容器

安装并打开Docker的注册表,搜索aliyun。下载 chenhw2/aliyun-ddns-cli

009

选择刚刚下载的映像,选择启动,进入高级设置

010

在高级设置 > 环境中修改以下内容,并点击应用保存

011

AKID 填写刚刚创建的 AccessKeyID

AKSCT 填写刚刚创建的 AccessKeySecret

DOMAIN 填写你解析的域名

REDO 填写 600

其他保持默认

确认信息→点击应用

012

点击容器页面,可看到容器已启动成功,查看详情,在日志中可看到已解析成功

013

赞赏

微信赞赏支付宝赞赏