boa tarde.
Tenho esse script para alterar o meu ip dinamicamente usando uma conta do DynDns:
:local ddnsuser "meu_user"
:local ddnspass "senha"
:local theinterface "interface"
:local ddnshost "meu host"
:local ipddns [:resolve $ddnshost];
:local ipfresh [ /ip address get [/ip address find interface=$theinterface ] address ]
:if ([ :typeof $ipfresh ] = nil ) do={
:log info ("DynDNS: No ip address on $theinterface .")
} else={
:for i from=( [:len $ipfresh] - 1) to=0 do={
:if ( [ick $ipfresh $i] = "/") do={
:set ipfresh [ick $ipfresh 0 $i];
}
}
:if ($ipddns != $ipfresh) do={
:log info ("DynDNS: IP-DynDNS = $ipddns")
:log info ("DynDNS: IP-Fresh = $ipfresh")
:log info "DynDNS: Update IP needed, Sending UPDATE...!"
:local str "/nic/update?hostname=$ddnshost&myip=$ipfresh&wildcard=NOCHG&mx=NOCHG&backmx=NOCHG"
/tool fetch address=members.dyndns.org src-path=$str mode=http user=$ddnsuser password=$ddnspass dst-path=("/DynDNS.".$ddnshost)
:delay 1
:local str [/file find name="DynDNS.$ddnshost"];
/file remove $str
:global ipddns $ipfresh
:log info "DynDNS: IP alterado para $ipfresh!"
} else={
:log info "DynDNS: Nao Necessita Ser Alterado";
}
}
Rodo esse script, não da erro nenhum, diz que alterou o ip no dyndns, mas se eu abrir minha conta no dyndns.com o ip não foi alterado.
olha o log indicando que foi alterado o ip:
08:07:39 script,info DynDNS: IP-DynDNS = 186.244.55.143
08:07:39 script,info DynDNS: IP-Fresh = 186.244.64.64
08:07:39 script,info DynDNS: Update IP needed, Sending UPDATE...!
08:07:39 info fetch: file "DynDNS.digiton.dyndns-ip.com" created
08:07:41 script,info DynDNS: IP alterado para 186.244.64.64!
Alguém poderia me ajudar?
grato:
Jose Luiz