黑群晖 NAS 瞎折腾 篇二:自用的两款DDNS解析域名小程序

2021-01-21 19:15:20 30点赞 405收藏 38评论

创作立场声明:自己用着还不错的,就是单纯的分享出来,有的是借鉴其他大佬。


在用的DDNS解析服务有两个,一个超级简单(不管是X86还是ARM都可以用),一个最全(四个解析服务商,IPV4和IPV6都支持,只能X86使用,需要docker)。



用DDNS解析服务的前提(这里用阿里云域名解析,其他的域名也可以):

1.阿里云域名,在网页阿里云官网设置(申请域名,申请ACCESS KEY, 域名解析),请百度或者看其他人的文章,其他域名基本一样。

2.有公网IPV4或者有IPV6(移动肯定是IPV6)。具体查是不是IPV4和IPV6,可以问度娘。

3.还得有NAS。(黑群晖,群晖,威联通铁威马,unraid,freenas,u-nas,OMV等都行)

一、最简单的一个DDNS解析部署(只适合阿里云,还是IPV4,不过这个X86和ARM都可以使用)。


黑群晖 NAS 瞎折腾 篇二:自用的两款DDNS解析域名小程序

1、进去群晖,点开控制面板,然后看又上角,不是基本模式字样了 点击一下高级模式。


黑群晖 NAS 瞎折腾 篇二:自用的两款DDNS解析域名小程序

2、找到系统下面的任务计划,点开任务计划。


黑群晖 NAS 瞎折腾 篇二:自用的两款DDNS解析域名小程序


3、点击新增,选择 计划的任务,里面的 用户自定义的脚本。


黑群晖 NAS 瞎折腾 篇二:自用的两款DDNS解析域名小程序


4、常规:任务名字随便改,其他的就默认就好。


黑群晖 NAS 瞎折腾 篇二:自用的两款DDNS解析域名小程序


5、计划:只需要更改运行频率就可以(选多长时间运行一次,自己选择,我选的是10分钟),其他默认就行。


黑群晖 NAS 瞎折腾 篇二:自用的两款DDNS解析域名小程序

6、任务设置:直接把下面的代码复制进去用户自定的脚本(更改里面 双引号里面【你的什么什么】 就行,一共改四个引号里面的)。


#!/bin/sh

aliddns_name="你的域名前缀"

aliddns_domain="你的域名"

aliddns_ak="你的AccessKeyId"

aliddns_sk="你的AccessKeySecret"

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

aliddns_dns="8.8.8.8"

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 瞎折腾 篇二:自用的两款DDNS解析域名小程序


7、选择刚刚弄好的任务,手动运行一下,就把IP地址解析到域名了(不放心了,可以去域名后台看下解析成功了没)。

二、最全的一个DDNS解析部署,带操作界面(docker运行,X86使用)。



黑群晖 NAS 瞎折腾 篇二:自用的两款DDNS解析域名小程序



黑群晖 NAS 瞎折腾 篇二:自用的两款DDNS解析域名小程序


1、点开DOCKER容器,点开注册表,搜索ddns-go,双击下载就可以。


黑群晖 NAS 瞎折腾 篇二:自用的两款DDNS解析域名小程序


2、点开映像,双击刚刚下载的映像。


黑群晖 NAS 瞎折腾 篇二:自用的两款DDNS解析域名小程序


3、容器名字随便改(自己好记住的名称就行),然后点开高级设置,别急着点下一步。


黑群晖 NAS 瞎折腾 篇二:自用的两款DDNS解析域名小程序


4、点开端口设置,容器端口不要改,本地端口改一个自己能记住的(不要和其他端口冲突)。


黑群晖 NAS 瞎折腾 篇二:自用的两款DDNS解析域名小程序


5、点开高级设置,自动重新启动打对勾,创建快捷方式(http://nas的IP:刚刚设置的本地端口号),然后下一步下一步知道创建好容器,最后点开桌面快捷方式。


黑群晖 NAS 瞎折腾 篇二:自用的两款DDNS解析域名小程序


6、①DNS服务商(你自己申请的是哪个域名就选择哪个),然后把申请的ACCESS KEY 填到下面就行。

②IPV4和IPV6只能选一个,另一个不用的一定不要启动,获取IP方式默认就好,然后把域名填入Domains里面就行。

③其他配置:要是需要外网访问这个页面了,最好设置一个用户名和密码。


黑群晖 NAS 瞎折腾 篇二:自用的两款DDNS解析域名小程序


7、进docker里,双击DDNS-GO这个容器,然后点开日志,出现更新域名成功,就是解析好了。可以愉快的域名访问自己的个人服务器了。



总结

用了好几年的黑群晖,这是两款稳定好用的IP自动更新解析的小程序了,其他的也用很多,但是最后只剩这俩了,希望对其他小伙伴有所帮助。

本人已经开始支持正版了黑群晖 NAS 瞎折腾 篇二:自用的两款DDNS解析域名小程序 ,群晖220J(备份黑群晖用),威联通453bmini(备份黑群晖,跑其他程序)。


展开 收起
38评论

  • 精彩
  • 最新
  • 更正一下楼主,ddns-go 网络里面设置为host,可以同时ddns v4和v6。

    校验提示文案

    提交
    有时间试试

    校验提示文案

    提交
    收起所有回复
  • 感觉第一个更方便,就是不支持ipv6

    校验提示文案

    提交
    第二个也挺不错的

    校验提示文案

    提交
    web端设置不比,玩脚本强?

    校验提示文案

    提交
    收起所有回复
  • 不明白群晖自带的全套帮你搞掂的ddns不用,非得反反复复地写阿里云脚本,都2021年了,ddns还是件很复杂的事吗

    校验提示文案

    提交
    群晖没有带阿里ddns。有腾讯的ddns,但有科学上网时有时候会失败。 目前群晖的不能ddns ipv6。

    校验提示文案

    提交
    群晖原生支持腾讯ddns,不支持阿里的。目前也不支持ipv6

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 请问一下那个“域名前缀”是什么,我在使用dynv6+ddns update2时IP6v也有这个选项

    校验提示文案

    提交
    域名前缀,就是解析时候的“@”和“www”,就好比域名xxx.com,
    前缀是@时候---是xxx.com
    前缀是www时候---是去看看

    校验提示文案

    提交
    收起所有回复
  • 群辉不是自带DDNS解析服务吗?为什么你们都不用自带的啊?

    校验提示文案

    提交
    自带的没有aliyun,只有腾讯云

    校验提示文案

    提交
    那个自带的会抽风,我就是受害者 [大囧]

    校验提示文案

    提交
    收起所有回复
  • 兄弟,现在还查私设web服务器么,之前看到2019年末有帖子说被上海电信查封了的用户,现在咋样 安全吗

    校验提示文案

    提交
    自己用应该没事的,公开分享到网络上就不清楚了,不过备案一下也不难吧,去备案一下就是了

    校验提示文案

    提交
    好像个人动态IP没法备案吧,那些帖子都是19年年末的,私设web服务器被封,都是魔都的有说大北和湖南的也有,现在也不知道啥情况 弄得我全是ip加端口访问,不敢ddns,再搜也没别的帖子讨论这问题了

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 我是直接路由器动态域名解决

    校验提示文案

    提交
    我的小米路由器没有,又不想刷机,就用docker

    校验提示文案

    提交
    你是ipv4吧?我的ipv6在华硕路由器上没有ddns。

    校验提示文案

    提交
    收起所有回复
  • Ipv6和ipv4不互通有方法解决么,移动只有ipv6地址,单位只有ipv4访问不了

    校验提示文案

    提交
    连手机热点,要不就要花钱,没有其他办法

    校验提示文案

    提交
    花什么钱。。。。

    校验提示文案

    提交
    还有4条回复
    收起所有回复
  • 马克一下 ,字数

    校验提示文案

    提交
  • 老哥,为啥我选的ipv6 一直获取不到ipv6地址,点链接是能获取的

    校验提示文案

    提交
    你设置时不能用桥接模式,用与host相同网络有效果。

    校验提示文案

    提交
    收起所有回复
  • 按照楼主教程用ddns-go能访问,但是速度只有几百k/s……不知道哪里出问题了

    校验提示文案

    提交
  • ddns-go 试试看看。win域名被阿里要求转出了,哎

    校验提示文案

    提交
  • 因为全屋科学上网了,试过群晖内置ddns老是把我的二级域名搞成海外。然后换回路由器挂3322全解决了

    校验提示文案

    提交
  • ddns go 有些端口能访问,比如5703端口,外网显示无网络是什么原因,大佬帮解决下

    校验提示文案

    提交
  • 看了ddns-go的说明,ipv6解析必须设置成docker与host机相同才行。ipv4桥接可以,ipv6桥接不行。

    校验提示文案

    提交
  • 拔了硬盘之后ddnsgo显示拒绝访问怎么办

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
405
扫一下,分享更方便,购买更轻松