首页 > 编程知识 正文

aliddns ipv6linux系统下配置阿里DDNSIPv6,debian系统配置ipv6

时间:2023-05-04 17:01:33 阅读:158090 作者:4831

IPv6越来越完善,家里的宽带和手机也分配了IPv6全球单播地址,手机分为/64,宽带分为/56。 测试一下运营商内外的连接性也还可以。 我几乎可以跑得满带宽。 IPv6终于可以使用了。 一切都是公共网络,再也不需要渴望ipv4或通过内部网。

可以适用

本教程适用于各种基于linux的系统,包括ubuntu、centos、openwrt和群晖。 本文只讨论IPv6,不讨论IPv4。

代码

aliddnsipv6_ak='蚂蚁AccessKey ID '

aliddnsipv6_sk='蚂蚁Access Key Secret '

使用aliddnsipv6_name1='辅助域名前缀,例如nas.rousongs.com,在此输入nas '

aliddnsipv6_domain='域名,在此处填写rousongs.com '

aliddnsipv6_ttl='600 '

if [ '$aliddnsipv6_name1'='@' ]

then

aliddnsipv6 _ name=$ aliddnsipv6 _ domain

else

aliddnsipv6 _ name=$ aliddnsipv6 _ name1. $ aliddnsipv6 _ domain

fi

now=`date `

die ()。

echo $1

}

ipv6s=` ipaddrshoweth0| grep ' inet6. * global '|awk ' { print $2} '|awk-f '/' { print $1} '|die $ ii

for ipv6 in $ipv6s

do

#ipv6=$ipv6

布莱克

echo $ipv6

current _ IPv6=` nslookup-query=AAAA $ aliddnsipv6_ name 21 `

#echo $current_ipv6

current _ IPv6=` echo ' $ current _ IPv6 '|grep ' address : '|tail-n1|awk ' {打印$ nf } `

echo $current_ipv6

if [ '$?' -eq '0' ]

then

current _ IPv6=` echo ' $ current _ IPv6 '|grep ' address : '|tail-n1|awk ' {打印$ nf } `

echo $current_ipv6

if [ '$ipv6'='$current_ipv6' ]

then

echo 'skipping '

fi

# fixwhenarecordremovedbymanualdnsisalwaysupdateerror

else

unset aliddnsipv6_record_id

fi

timestamp=` date-u ' % y-% m-% dt % h %:% m %:% SZ ' `

urlencode () }

# urlencode

out=' '

while read -n1 c

do

case $c in

[a-za-Z0-9._-]out='$out$c ';

out='$out`printf '%%X' ''$c ' ';

欧洲航空

echo -n $out

}

enc ()。

echo -n '$1' | urlencode

}

send_request

local args=' access keyid=$ aliddnsipv6 _ AK action=$1format=JSON $2version=2015-01-09 '

local hash=$ (echo-n ' get/$ (enc ' $ args ' )|openssldgst-sha1-hmac ' $ aliddnsipv6_ sk '-binary|OpenSSL

curl-s ' http://Ali DNS.aliyuncs.com/$ args signature=$ (enc ' $ hash ' ) '

}

get_recordid

grep-EO ' ' recordid ' : ' [0-9] '|cut-d ' : '-F2|tr-d ' '

}

query_recordid

send _ request ' describesubdomainrecords ' ' signature method=hmac-sha1 signature nonce=$ timestampsignatureversion=1.0

}

update_record

send _ request ' updatedomainrecord ' ' RR=$ aliddnsipv6_ name1recordid=$1signature method=hmac-sha1 signature nonce vonce

}

add_record

send _ request ' adddomainrecorddomainname=$ aliddnsipv6 _ domain ' ' RR=$ aliddnsipv6 _ name1signature method=hmac-hmac

}

#add support */* and @/@ record

if [ ' $ aliddnsipv6 _ record _ id '=' ' ]

then

aliddnsipv6 _ record _ id=` query _ recordid|get _ recordid `

# echo---------aliddnsipv6 _ record _ id

fi

if [ ' $ aliddnsipv6 _ record _ id '=' ' ]

then

aliddnsipv6 _ record _ id=` add _ record|get _ recordid `

echo ' added record $ aliddnsipv6 _ record _ id '

else

update _ record $ aliddnsipv6 _ record _ id

echo ' updated record $ aliddnsipv6_ record _ id '

fi

配置

将上述代码另存为aliddns.sh。 需要变更的项目如下。

aliddnsipv6_ak='蚂蚁AccessKey ID '

aliddnsipv6_sk='蚂蚁Access Key Secret '

使用aliddnsipv6_name1='辅助域名前缀,例如nas.rousongs.com,在此输入nas '

aliddnsipv6_domain='主域名'

第19行左右ipv6s=ip addr show eth0`,eth0为网卡名称,修改为对应的网卡名称。

然后,将该文件放在任意位置,在当前目录中输入./aliddns.sh并运行。

计划任务

1、群晖、群晖设置---按计划任务设置即可。

2、OpenWrt等linux都可以使用crontab执行计划任务。 见https://www.rousongs.com/1262.html

http://www.zxbblog.com

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。