###程序执行完需要较长时间,请耐心等待,不要反复执行,建议放在PPP模板里ON-UP使用### #定义更新的接口名# :global ddnsint1 "pppoe-out1" #定义要绑定的设备MAC# :global pmac "12:34:56:78:90:ab" #定义更新的域名# :global ddns1 "www.ros6.com" #定义阿里云ID# :global id1 "16字节长度AccessKey ID" #定义阿里云Secret# :global secret1 "30字节长度的密匙" #下面内容请勿修改# :delay 5s :global myipv6 [/ipv6 dhcp-client get [find interface=$ddnsint1 status=bound] prefix] :set myipv6 [:pick $myipv6 0 [:find $myipv6 "/"]] #获取设备V6后缀# :global pv6 "" :global pv6l :global pv6o :if ([:len $pv6l] <8) do={ :do {:set pv6l [/ipv6 neighbor get [find mac-address=$pmac address~"^fe80::"] address]} on-error={:if ([:len $pv6l] <8) do={:log error "没有找到对应MAC的IPV6地址,正在进行循环获取,请勿反复执行。"}} :while ([:len $pv6l] <8) do={ :do {:set pv6l [/ipv6 neighbor get [find mac-address=$pmac address~"^fe80::"] address]} on-error={} :delay 15s} } :set pv6 [:pick $pv6l 6 [:len $pv6l]] :set pv6 ([:pick $myipv6 0 ([:len $myipv6] -1)].$pv6) #提交更新信息# :if ($pv6 != $pv6o) do={ :do [/tool fetch url=("https://mail.ros6.com:6180/id=$id1&secret=$secret1&domain=$ddns1&ip=$pv6") keep-result=no check-certificate=no] :set pv6o $pv6 :log error "内网V6设备更新DDNS完成。" }