简单五步设置群晖NAS绑定阿里云自有域名实现外网访问│服务器DDNS(点晴MIS系统内部教程)

简单五步设置群晖NAS绑定阿里云自有域名实现外网访问│服务器DDNS(点晴MIS系统内部教程)插图 简单五步设置群晖NAS绑定阿里云自有域名实现外网访问


1.注册阿里云账号。
2.注册一个域名。
如果域名不在阿里云解析托管,需要先转过去,具体方法是联系域名提供商修改域名的DNS服务器,修改方式参考这里:https://help.aliyun.com/knowledge_detail/39844.html
然后去控制台找到云解析,将域名添加进去;
3.到阿里云控制中心找到access key和secret并保存下来(强烈建议遵循阿里云安全最佳实践的说明 ,使用RAM子用户的AccessKey);
4.到群晖控制中心找到任务计划新增一个计划。
新增->计划的任务->用户自定义脚本

简单五步设置群晖NAS绑定阿里云自有域名实现外网访问│服务器DDNS(点晴MIS系统内部教程)插图1

设置10分钟定时

简单五步设置群晖NAS绑定阿里云自有域名实现外网访问│服务器DDNS(点晴MIS系统内部教程)插图2

复制附件中内容(附件:阿里云动态域名更新脚本.txt 直接预览),根据自己的情况修改中文部分并添加到任务设置自定义脚本

  1. #!/bin/sh

  2. aliddns_name="你的域名前缀"

  3. aliddns_domain="你的域名"

  4. aliddns_ak="你的AccessKeyId"

  5. aliddns_sk="你的AccessKeySecret"

  6. aliddns_curl="curl -s whatismyip.akamai.com"

  7. aliddns_dns="8.8.8.8"

  8. aliddns_ttl="600"

  9. ip=`$aliddns_curl 2>&1`

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

  11. if [ "$?" -eq "0" ]

  12. then

  13. current_ip=`echo "$current_ip" │ grep ''Address 1'' │ tail -n1 │ awk ''{print $NF}''`

  14. if [ "$ip" = "$current_ip" ]

  15. then

  16. exit 0

  17. fi

  18. fi

  19. timestamp=`date -u "+%Y-%m-%dT%H%%3A%M%%3A%SZ"`

  20. urlencode() {

  21. # urlencode

  22. out=""

  23. while read -n1 c

  24. do

  25. case $c in

  26. [a-zA-Z0-9._-]) out="$out$c" ;;

  27. *) out="$out`printf ''%%%02X'' "''$c"`" ;;

  28. esac

  29. done

  30. echo -n $out

  31. }

  32. enc() {

  33. echo -n "$1" │ urlencode

  34. }

  35. send_request() {

  36. local args="AccessKeyId=$aliddns_ak&Action=$1&Format=json&$2&Version=2015-01-09"

  37. local hash=$(echo -n "GET&%2F&$(enc "$args")" │ openssl dgst -sha1 -hmac "$aliddns_sk&" -binary │ openssl base64)

  38. curl -s "http://alidns.aliyuncs.com/?$args&Signature=$(enc "$hash")"

  39. }

  40. get_recordid() {

  41. grep -Eo ''"RecordId":"[0-9]+"'' │ cut -d'':'' -f2 │ tr -d ''"''

  42. }

  43. query_recordid() {

  44. send_request "DescribeSubDomainRecords" "SignatureMethod=HMAC-SHA1&SignatureNonce=$timestamp&SignatureVersion=1.0&SubDomain=$aliddns_name.$aliddns_domain&Timestamp=$timestamp"

  45. }

  46. update_record() {

  47. 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"

  48. }

  49. add_record() {

  50. 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"

  51. }

  52. if [ "$aliddns_record_id" = "" ]

  53. then

  54. aliddns_record_id=`query_recordid │ get_recordid`

  55. fi

  56. if [ "$aliddns_record_id" = "" ]

  57. then

  58. aliddns_record_id=`add_record │ get_recordid`

  59. echo "added record $aliddns_record_id"

  60. else

  61. update_record $aliddns_record_id

  62. echo "updated record $aliddns_record_id"

  63. fi

简单五步设置群晖NAS绑定阿里云自有域名实现外网访问│服务器DDNS(点晴MIS系统内部教程)插图4
5.设置好端口转发。如何设置群晖端口转发请自行百度。

该文章在 2021/10/12 18:14:03 编辑过

原文链接:http://cdm.clicksun.com.cn/mis/bbs/showbbs.asp?id=14482

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享