Olá Pessoal, de uma semana pra cá venho sofrendo com o script original do changeip: http://www.changeip.com/MikroTik/
Recebendo mensagens ou de Timeout ou SSL Error.
Resolvi então mudar para o script do No-IP que, ficou funcionando bem: http://wiki.mikrotik.com/wiki/Dynamic_DNS_Update_Script_for_No-IP_DNS
Porém como meu Balance não tem DNS configurado, precisei fazer uma pequena alteração, então, vou compartilhar o código alterado pra quem, assim como eu, não tem DNS no Balance (com mensagens de log já traduzidas pra tupiniquim):
Enjoy ;-)
Obs.1: Corrigi a variável noiphost que esqueci de marcar com ***MUDE_AQUI***
Obs.2: Testei em um MK 4.17 e a opção server de resolve não existia, então, versão 4.X é preciso retirar o server=8.8.4.4 do script e configurar DNS no balance, ainda que com allow remote requests desmarcado.
Recebendo mensagens ou de Timeout ou SSL Error.
Resolvi então mudar para o script do No-IP que, ficou funcionando bem: http://wiki.mikrotik.com/wiki/Dynamic_DNS_Update_Script_for_No-IP_DNS
Porém como meu Balance não tem DNS configurado, precisei fazer uma pequena alteração, então, vou compartilhar o código alterado pra quem, assim como eu, não tem DNS no Balance (com mensagens de log já traduzidas pra tupiniquim):
- Código:
/system script
add name=dns_noip policy=ftp,read,write,test,winbox source="# No-IP automatic Dynam\
ic DNS update\r\
\n\r\
\n#--------------- Change Values in this section to match your setup -------\
-----------\r\
\n\r\
\n# No-IP User account info\r\
\n:local noipuser \"***MUDE_AQUI***\"\r\
\n:local noippass \"***MUDE_AQUI***\"\r\
\n\r\
\n# Set the hostname or label of network to be updated.\r\
\n# Hostnames with spaces are unsupported. Replace the value in the quotatio\
ns below with your host names.\r\
\n# To specify multiple hosts, separate them with commas.\r\
\n:local noiphost \"***MUDE_AQUI***\"\r\
\n\r\
\n# Change to the name of interface that gets the dynamic IP address\r\
\n:local inetinterface \"***MUDE_AQUI***\"\r\
\n\r\
\n# Addon by silviola ( for MK's v. 5.X without DNS configured )\r\
\n:local noipadr [:resolve dynupdate.no-ip.com server=8.8.4.4]\r\
\n\r\
\n#-------------------------------------------------------------------------\
-----------\r\
\n# No more changes need\r\
\n\r\
\n:global previousIP\r\
\n\r\
\n:if ([/interface get \$inetinterface value-name=running]) do={\r\
\n# Get the current IP on the interface\r\
\n :local currentIP [/ip address get [find interface=\"\$inetinterface\" d\
isabled=no] address]\r\
\n\r\
\n# Strip the net mask off the IP address\r\
\n :for i from=( [:len \$currentIP] - 1) to=0 do={\r\
\n :if ( [:pick \$currentIP \$i] = \"/\") do={ \r\
\n :set currentIP [:pick \$currentIP 0 \$i]\r\
\n } \r\
\n }\r\
\n\r\
\n :if (\$currentIP != \$previousIP) do={\r\
\n :log info \"No-IP: IP Atual \$currentIP diferente do anterior, atua\
lizando\"\r\
\n :set previousIP \$currentIP\r\
\n\r\
\n# The update URL. Note the \"\\3F\" is hex for question mark (\?). Require\
d since \? is a special character in commands.\r\
\n :local url \"http://\$noipadr/nic/update\\3Fmyip=\$currentIP\"\r\
\n :local noiphostarray\r\
\n :set noiphostarray [:toarray \$noiphost]\r\
\n :foreach host in=\$noiphostarray do={\r\
\n :log info \"No-IP: Requisitando atualizacao para \$host\"\r\
\n /tool fetch url=(\$url . \"&hostname=\$host\") user=\$noipuser \
password=\$noippass mode=http dst-path=(\"no-ip_ddns_update-\" . \$host . \"\
.txt\")\r\
\n :log info \"No-IP: IP do Host \$host atualizado para \$currentI\
P\"\r\
\n }\r\
\n } else={\r\
\n :log info \"No-IP: IP anterior \$previousIP sem alteracao, atualiza\
cao dispensada\"\r\
\n }\r\
\n} else={\r\
\n :log info \"No-IP: \$inetinterface nao esta atualmente respondendo, log\
o, a atualizacao nao sera possivel.\"\r\
\n}"
Enjoy ;-)
Obs.1: Corrigi a variável noiphost que esqueci de marcar com ***MUDE_AQUI***
Obs.2: Testei em um MK 4.17 e a opção server de resolve não existia, então, versão 4.X é preciso retirar o server=8.8.4.4 do script e configurar DNS no balance, ainda que com allow remote requests desmarcado.
Última edição por silviola em Ter 16 Jul - 18:40, editado 3 vez(es)