# New ChangeIP Dynamic DNS Update 04/10/2013 - Mikrotik 2 3 4 5 6
# Compliado por Luciano Rampanelli,
[email protected] - pcram.com.br
#
#Adicione manualmente as rotas abaixo para utilização em loadbalance:
#/ip route add comment=CHANGEIP disabled=no distance=1 dst-address=204.16.170.0/24 gateway=EthLinkA scope=30 target-scope=10
#/ip route add comment=CHANGEIP disabled=no distance=1 dst-address=209.208.4.0/24 gateway=EthLinkA scope=30 target-scope=10
:global ddnsuser "seuuser"
:global ddnspass "suasenha"
:global ddnshost "seudominio.ddns.us"
:global ifaceddns "EthLinkA"
:global lastddnsip
:global lastgat
##################################################################################
:if ([:len [/interface find name=$ifaceddns]] = 0 ) do={ :log info "DDNS: Interface $ifaceddns nao encontrada, verifique."} else={
:global ifaceip [/ip address get [find interface=$ifaceddns] address]
:global ddnsip $ifaceip
:if ([ :typeof $ddnsip ] = "nothing" ) do={
:log info ("DDNS: Sem IP na interface " . $ifaceddns . ", verifique.")
} else={
:if ($ddnsip != $lastddnsip) do={
:log info "DDNS: Setando gateway para $ifaceddns"
:put [/ip route set [ find comment="CHANGEIP" ] gateway=$ifaceddns]
:log info "DDNS: Atualizando, aguarde..."
:log info [ :put [/tool dns-update name=$ddnshost address=[:pick $ddnsip 0 [:find $ddnsip "/"] ] key-name=$ddnsuser key=$ddnspass ] ]
:global lastddnsip $ddnsip
} else={
:log info "DDNS: Sem modificacao."
}
}
}