eu tenho um script para atualizar no-ip automatico mas não funciona eu tenho quer ir roda ele todas as veis manual ... como eu faço para ajeita isso vc tem ums script para manda se vc te ver eu agradeço olhai meu script
se vcs pode ser ver oq ta de errado no meu script eu fico muito grato
:global resolvedIP [:resolve "xxxxxxx"];
:global radiusID [/radius find comment="xxxx"];
:global currentIP [/radius get $radiusID address];
/radius set $radiusID address=$resolvedIP;
:log info "radius ip updated



Respostas
Obg :D
Michel Rodrigues disse:
Se o modem for Bridge, use a interface pppoe-out1. Se for roteado use ether1, no caso a ethernet onde esteja entrando o link roteado.
Em System->Scheduler, adicione um novo evento com o nome DDNS
O start time, você seleciona: startup e o intervalo aqui uso em 00:30:00
Após criado o evento, vamos a criação do script.
Em system->Script, adicione um novo script com o nome de DDNS e insira os dados abaixo.
:global ddnsuser "seuusuario"
:global ddnspass "suasenha"
:global ddnshost "seudominio.changeip.org"
:global ddnsinterface "pppoe-out1"
:global ddnssystem ("mt-" . [/system package get [/system package find name=system] version] )
:global ddnsip [ /ip address get [/ip address find interface=$ddnsinterface] address ]
:global ddnslastip
:if ([:len [/interface find name=$ddnsinterface]] = 0 ) do={ :log info "DDNS: No interface named $ddnsinterface, please check configuration." }
:if ([ :typeof $ddnslastip ] = "nothing" ) do={ :global ddnslastip 0.0.0.0/0 }
:if ([ :typeof $ddnsip ] = "nothing" ) do={
:log info ("DDNS: No ip address present on " . $ddnsinterface . ", please check.")
} else={
:if ($ddnsip != $ddnslastip) do={
:log info "DDNS: Enviando novo IP!"
:log info [ :put [/tool dns-update name=$ddnshost address=[:pick $ddnsip 0 [:find $ddnsip "/"] ] key-name=$ddnsuser key=$ddnspass ] ]
:global ddnslastip $ddnsip
} else={
:log info "DDNS: Não houve mudança de ip."
}
}
# END OF SCRIPT
Boa noite, amigo.
Funciona com modem roteado ou bridge?
Michel Rodrigues disse:
Uso esse em meu servidor mikrotik, é do change ip...dá uma analisada e vê se você aproveita alguma coisa.
:local ddnsuser "URUARIO"
:local ddnspass "SENHA"
:local theinterface "LINK1"
:local ddnshost "USUARIO.changeip.org"
: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 ( [:pick $ipfresh $i] = "/") do={
:set ipfresh [:pick $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";
}
}
Tópico editado: 09/07/2013
Motivo: Organização do fórum