分类: ROS
作者: 熊茂祥
 
使用ROS为内网IPv6设备更新DDNS

在日常工作中因某些IPv6设备不支持DDNS更新,或者管理员没有权限操作这个IPv6设备,导致使用感变差。本项目利用ROS对接,
阿里云DNS/DNSPOD来帮助内网IPv6设备更新DDNS,让用户随时掌控最新IP,根治IPv6地址变化不方便使用的问题,使用感up!

关于本项目:
1.本项目完全免费,并公开脚本源码。
2.直接对接DNSPOD官方服务器进行更新。(无需借助任何第三方服务器,安全无忧!)
3.使用本站服务转发ALIDNS官方服务器进行更新。
4.被绑定DDNS设备无需任何操作,填补ROS目前为内网V6设备更新DDNS解决方案的空白。
5.检测子域名不存在时自动创建。
6.日志记录更新流程,方便排查错误。

使用条件:
1.ROS系统版本为6.45.6或更高,安装并启用IPv6组件。
2.已知DDNS绑定设备的MAC地址。
3.由于目前V6并没有统一标准,环境不一定兼容,如发现异常请与我联系排查。
本文有2个附件
标签: ros, ip, v6, ddns, dnspod

评论作者: alantang
你好,请教多个子网如何分配ipv6给网内设备?目前试只能一个子网分配IPV6地址
评论作者: yklsporject
#aliyun Access Key
#ros 7.2 ipv6 aliyun ddns 改了一下拿去吧

:local id \"填id\"

:local secret \"填key\"

#domain

:local domain \"填自己得域名\"

:local record \"www\"

#PPPoE-out

:local pppoe \"pppoe-out1\"

:local ipaddr [/ipv6 dhcp-client get [find interface=$pppoe status=bound] prefix]

:set ipaddr [:pick $ipaddr 0 [:find $ipaddr \"/\"]]

:global aliip

:if ($ipaddr != $aliip) do={

:local result [/tool fetch url=\"http://u.myxzy.com/alidns/\\?id=$id&secret=$secret&domain=$domain&record=$record&type=AAAA&ip=$ipaddr\" as-value output=user];

:if ($result->\"status\" = \"finished\") do={

:if ($result->\"data\" = \"0\") do={

:set aliip $ipaddr

:log info \"alidns update ok\";

} else={

:log info \"alidns update error\";

}

}

}
评论作者: 熊茂祥
引用 灰客帅三 说过的话:
只获取到ipv6前面一段数值,导致两个域名都指向同一个设备,因为不同设备的ipv6前面数值相同,希望取完整ipv6值

你这个需求需要自己修改脚本了。因为本站脚本只考虑了为一个设备提供更新域名。
评论作者: 灰客帅三
使用ali dns为内网设备更新ipv6.域名都指向ros的ipv6地址
评论作者: 灰客帅三
只获取到ipv6前面一段数值,导致两个域名都指向同一个设备,因为不同设备的ipv6前面数值相同,希望取完整ipv6值
评论作者: 熊茂祥
引用 倪黑黑 说过的话:
大佬,我直接使用此dnspod脚本,无法更新DDNS 使用6.46.1版本

先仔细看完使用条件,这个脚本我自己在用,有问题马上我就会知道。
评论作者: 倪黑黑
大佬,我直接使用此dnspod脚本,无法更新DDNS 使用6.46.1版本