Atualização de DDNS utilizando DYNDNS.COM bridge ou roteado - por: M4D3
Olá amigos, segue script testado em MikroTik v6.x utilizando o serviço de domínios dinâmicos dyndns.com.
Altere os valores abaixo para a sua conta no site www.dyndns.com:
:local ddnsuser "seuusuario"
:local ddnspass "suasenha"
:local ddnshost "seudominio.dyndns.info"
Altere "EthLinkA" para o nome da interface do mikrotik que deseja capturar o IP e atualizar o DDNS:
:local theinterface "EthLinkA"
Código :
#---------------------------------------------------------
#---=== -----ATUALIZAÇÃO DE DDNS VIA DYNDNS.COM---- ===---
#---===--Compilador por: LUCIANO RAMPANELLI / M4D3--===---
#---===----------22/02/2014 - Mikrotik V6.9---------===---
#---------------------------------------------------------
#
#---=== CONFIGURAÇÃO DA CONTA DE DYNDNS.COM ===---
:local ddnsuser "seuusuario"
:local ddnspass "suasenha"
:local ddnshost "seudominio.dyndns.info"
:local theinterface "EthLinkA"
#
#--=== SCRIPT DE ATUALIZAÇÃO DYNDNS ===---
:global ipddns [:resolve $ddnshost];
:global 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...!"
:global 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
:global str [/file find name="DynDNS.$ddnshost"];
/file remove $str
:global ipddns $ipfresh
:log info "DynDNS: IP updated to $ipfresh!"
} else={
:log info "DynDNS: dont need changes";
}
}
Em caso de modem roteado/balance, pode ser necessário adicionar uma rota estática apontando para o range do site dyndns.com e tirar o mesmo do balanceamento(204.13.248.0/22), forçando a saída pela interface que deseja atualizar durante o processo de atualização, logo após a rota pode ser removida.
Peço que mantenham os créditos no inicio e claro se for útil a você clique em agradecer ali embaixo, qualquer problema me avisem...
Abraço a todos