Openwrt上通过ddns-scripts实现dnspod域名的基于ipv6的ddns

上一篇文章中,我们通过ddns-scripts和一个外部的.php文件,实现了dnspod上的ipv4的ddns功能。

最近有了ipv6的ddns的需求,于是在上文的基础上小改了一下,现在dnspod上的ipv6的ddns也没问题了。

 

How?

1.在上一篇文章的基础上,修改了一下dnspodupdate.php中的“’record_type’=>’A”为“’record_type’=>’AAAA’”,也可以直接下载:dnspodupdate6.zip,并上传到一个外网的空间上。

2.修改路由器里的/usr/lib/ddns/dynamic_dns_functions.sh,把位于约75行的

current_ip=$(ifconfig $ip_interface | grep -o 'inet addr:[0-9.]*' | grep -o "$ip_regex")

改为

current_ip=$(ifconfig $ip_interface | grep 'Global' | grep -o 'addr: [0-9a-f:]*' | cut -c7-)
#我的grep和cut是现学现卖的,有没有更好的写法?

不过这样一来,以“接口”来获取ip的就只能获取ipv6的地址了,如果要获取ipv4的地址,“”就选“网络”吧。

3.打开/usr/lib/ddns/services,添加一行

"dnspod.com_ipv6" "http://www.xxxxx.com/api/dnspodupdate6.php?username=[USERNAME]&password=[PASSWORD]&domain=[DOMAIN]&myip=[IP]"
#注意这里的http://www.xxxxx.com/要改

4.更改/etc/config/ddns的配置,service_name选dnspod.com_ipv6,再填上各种参数,这样就完成了~


发表评论