黑群晖 NAS 瞎折腾 篇二:自用的两款DDNS解析域名小程序
是返乡过年?还是就地过年?最新一届#双面过节指南#开始啦!本次征稿活动分为A面返乡和B面就地,大家可以根据自己的情况,分享自己的春节攻略,优秀的投稿文章还有可能能获得优厚的大奖哦,快点击查看活动详情<<<
创作立场声明:自己用着还不错的,就是单纯的分享出来,有的是借鉴其他大佬。
在用的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都可以使用)。
1、进去群晖,点开控制面板,然后看又上角,不是基本模式字样了 点击一下高级模式。
2、找到系统下面的任务计划,点开任务计划。
3、点击新增,选择 计划的任务,里面的 用户自定义的脚本。
4、常规:任务名字随便改,其他的就默认就好。
5、计划:只需要更改运行频率就可以(选多长时间运行一次,自己选择,我选的是10分钟),其他默认就行。
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
7、选择刚刚弄好的任务,手动运行一下,就把IP地址解析到域名了(不放心了,可以去域名后台看下解析成功了没)。
二、最全的一个DDNS解析部署,带操作界面(docker运行,X86使用)。
1、点开DOCKER容器,点开注册表,搜索ddns-go,双击下载就可以。
2、点开映像,双击刚刚下载的映像。
3、容器名字随便改(自己好记住的名称就行),然后点开高级设置,别急着点下一步。
4、点开端口设置,容器端口不要改,本地端口改一个自己能记住的(不要和其他端口冲突)。
5、点开高级设置,自动重新启动打对勾,创建快捷方式(http://nas的IP:刚刚设置的本地端口号),然后下一步下一步知道创建好容器,最后点开桌面快捷方式。
6、①DNS服务商(你自己申请的是哪个域名就选择哪个),然后把申请的ACCESS KEY 填到下面就行。
②IPV4和IPV6只能选一个,另一个不用的一定不要启动,获取IP方式默认就好,然后把域名填入Domains里面就行。
③其他配置:要是需要外网访问这个页面了,最好设置一个用户名和密码。
7、进docker里,双击DDNS-GO这个容器,然后点开日志,出现更新域名成功,就是解析好了。可以愉快的域名访问自己的个人服务器了。
总结
用了好几年的黑群晖,这是两款稳定好用的IP自动更新解析的小程序了,其他的也用很多,但是最后只剩这俩了,希望对其他小伙伴有所帮助。
本人已经开始支持正版了 ,群晖220J(备份黑群晖用),威联通453bmini(备份黑群晖,跑其他程序)。

电脑访问时连手机再访问,可以把手机没成热点,就是费流量。
按照楼主教程用ddns-go能访问,但是速度只有几百k/s……不知道哪里出问题了
我的小米路由器没有,又不想刷机,就用docker
我是直接路由器动态域名解决
老哥,为啥我选的ipv6 一直获取不到ipv6地址,点链接是能获取的
我说的备案是备案域名,不是备案公网ip
好像个人动态IP没法备案吧,那些帖子都是19年年末的,私设web服务器被封,都是魔都的有说大北和湖南的也有,现在也不知道啥情况 弄得我全是ip加端口访问,不敢ddns,再搜也没别的帖子讨论这问题了
那个自带的会抽风,我就是受害者
群晖自带那个会抽风
用过一段时间就会知道,群晖dnspod我用的是
自己用应该没事的,公开分享到网络上就不清楚了,不过备案一下也不难吧,去备案一下就是了
兄弟,现在还查私设web服务器么,之前看到2019年末有帖子说被上海电信查封了的用户,现在咋样 安全吗
那也没办法呀~移动大内网。没公网ip 只能走穿透。穿透还要看中转带宽。 我电信只有30m
电信的上传50,移动一两百
没有办法。我因为这事儿,特地拉了根电信的宽带
自带的没有aliyun,只有腾讯云
群辉不是自带DDNS解析服务吗?为什么你们都不用自带的啊?
域名前缀,就是解析时候的“@”和“www”,就好比域名xxx.com,
前缀是@时候---是xxx.com
前缀是www时候---是http://www.xxx.com
请问一下那个“域名前缀”是什么,我在使用dynv6+ddns update2时IP6v也有这个选项
马克一下 ,字数
群晖自带的好像没有aliyun吧,腾讯云倒是有,这个有一台在用
有时间试试
群晖原生支持腾讯ddns,不支持阿里的。目前也不支持ipv6
花什么钱。。。。
连手机热点,要不就要花钱,没有其他办法
群晖没有带阿里ddns。有腾讯的ddns,但有科学上网时有时候会失败。 目前群晖的不能ddns ipv6。
Ipv6和ipv4不互通有方法解决么,移动只有ipv6地址,单位只有ipv4访问不了
不明白群晖自带的全套帮你搞掂的ddns不用,非得反反复复地写阿里云脚本,都2021年了,ddns还是件很复杂的事吗
web端设置不比,玩脚本强?
更正一下楼主,ddns-go 网络里面设置为host,可以同时ddns v4和v6。
第二个也挺不错的