Script DNS para ChangeIp e DynDNS
Devido á grande dificuldade que tive , para encontrar scripts a funcionar, imagino que muitos dever estar na mesma situação, então posto aqui:
ChangeIp (Alterar 4 primeiras linhas)
Código PHP:
:global ddnsuser "METES NOME"
:global ddnspass "METES PASSWORD"
:global ddnshost "EXEMPLO.ddns.info"
:global ddnsinterface "pppoe-out2"
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# END OF USER DEFINED CONFIGURATION
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
: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: Enviado UPDATE!"
: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: Nao Necessita Ser Alterado."
}
}
# END OF SCRIPT
Dyndns ( Alterar 4 primeiras linhas)
Código PHP:
:local ddnsuser "METES NOME"
:local ddnspass "METES PASSWORD"
:local theinterface "pppoe-out2"
:local ddnshost "EXEMPLO.mine.nu"
: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";
}
}
re: Script DNS para ChangeIp e DynDNS
caraca cduarte, depois de testar mais de 1 milhoes de script, esse seu funcionou!!! SHOW DE BOLA!!! parabens!!!!
re: Script DNS para ChangeIp e DynDNS
muito grande comtribuicao...esse scrit funcionas nas versoe mais novas
thiago net
re: Script DNS para ChangeIp e DynDNS
Excelentes contribuições dos dois, mas a do agnaldo52 é bem mais simples.. parabéns aos dois..
re: Script DNS para ChangeIp e DynDNS
Citação:
Postado originalmente por
dipsilva
Excelentes contribuições dos dois, mas a do agnaldo52 é bem mais simples.. parabéns aos dois..
Na verdade é a mesma do cduarte, apenas com a inclusão de mais uma linha.
re: Script DNS para ChangeIp e DynDNS
Ola a todos este script e para acesso externo ddns pelo no-ip? estou com um cliente que precis deste serviço e nao encontro solução para meu mikrotik pc x86 com hotspot e ip fixo em cliente.
Alguem pode me ajudar?
Preciso fazer que ele acesse externamente atravez do endereço do no-ip, aguardo respostas!
re: Script DNS para ChangeIp e DynDNS
Ola a todos este script e para acesso externo ddns pelo no-ip? estou com um cliente que precis deste serviço e nao encontro solução para meu mikrotik pc x86 com hotspot e ip fixo em cliente.<br>Alguem pode me ajudar?<br>Preciso fazer que ele acesse externamente atravez do endereço do no-ip, aguardo respostas!
re: Script DNS para ChangeIp e DynDNS
Show de bola, mesmo seguindo o que tem no Wiki do MK, esse minusculo ficou 100% parabéns pela ajuda!
Abraço!
re: Script DNS para ChangeIp e DynDNS
Citação:
Postado originalmente por
cduarte
Mais uma contribuição...
Uso na versão 3.xx, bem simples e funcional!
Código PHP:
/tool dns-update name=exemplo.changeip.org address=127.0.0.255 key-name=seu_user key=sua_senha
Espero ajudar!
Abraços
esse tbm funciona na versão 5 eu uso ele aqui rs
Re: Script DNS para ChangeIp e DynDNS
Tem esse para funcionar com NO-IP tbm, é bem parecido com o do DynDNS.
Código :
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# DEFINA SUA CONFIGURAÇÕES AQUI
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Interface para obtenção do endereço IP
:global dsninterface ""
# O nome do host para atualização
:global dnshost ""
# Login da sua conta NO-IP
:global dnsuser ""
# Sua senha da conta NO-IP
:global dnspass ""
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# FIM DAS CONFIGURAÇÕES
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# DEFINIÇÃO DAS VARIÁVEIS GLOBAIS
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Receberá o IP da interface configurada acima
:global dnsip
# Vamos usar para saber se é necessário ou não atualizar o host
:global dnslastip
# Endereço NO-IP para atualização do host
:global src "/nic/update?hostname=$dnshost&&myip=$dnsip"
:global dnsip [ /ip address get [ /ip address find interface=$dsninterface ] address ]
:if ( [ :typeof $dnslastip ] = "nothing" ) do={ :global dnslastip 0.0.0.0/0 }
:if ( $dnsip != $dnslastip ) do={
:log info "Enviando atualização..."
/tool fetch address="dynupdate.no-ip.com" src-path=$src mode=http user=$dnsuser password=$dnspass dst-path=("/DDNS-NoIP.".$dnshost)
:log info "Host atualizado com sucesso!"
:delay 1
:local str [/file find name="/DDNS-NoIP.".$dnshost];
/file remove $str
:global dnslastip $dnsip
} else={
:log info "Não é necessário atualizar!"
}
Re: Script DNS para ChangeIp e DynDNS
Citação:
Postado originalmente por
agnaldo52
Se alguem precisar para versão 4.x , segue o script contando que já tenha uma conta no changeip.og.
/tool dns-update name=seu server.changeip.org address=127.0.0.255 key-name=seu usuario key="sua senha"
[/tool dns-update ]
Nota que só houve apenas uma alteração que está destacado em vermelho em relação ao script anterior.
Espero ter ajudado
------------------------------------------------------------------------------------------------------------
Pessoal, tem alguem que esta com problemas nesse script do changeip? desde sempre eu usei esse script, agora o site changeip fez uma atualizaçao e meus MK nao funcionam (nao atualiza os ips). alguem esta com esse problema?
blz valeu galera.
Re: Script DNS para ChangeIp e DynDNS
Citação:
Postado originalmente por
pedrobrother
------------------------------------------------------------------------------------------------------------
Pessoal, tem alguem que esta com problemas nesse script do changeip? desde sempre eu usei esse script, agora o site changeip fez uma atualizaçao e meus MK nao funcionam (nao atualiza os ips). alguem esta com esse problema?
blz valeu galera.
Me deparei com este problema também, aqui uso este:
Código :
# Dynamic DNS Update / Simple Edition
# Written by Sam Norris, ChangeIP.com
# Copyright ChangeIP.com 2009-2010
# For support send mail to [email protected]
#
# 2009-06-22 RouterOS 3.25 Tested
# 2009-10-05 RouterOS 4.01rc1 Tested
#
# OVERVIEW: %
# This script will update a ChangeIP.com dynamic dns hostname
# with an ip address located directly on an interface.
# %
# NOTES: %
# IF THIS SCRIPT DOES NOT PRODUCE ANY OUTPUT PLEASE COPY AND PASTE IT
# AGAIN. THERE PROBABLY IS A LINE BREAK IN THE WRONG PLACE! Once you
# have created this script and tested that it works by running it
# manually you can schedule it to run every few minutes.
# %
# CONFIGURATION FIELD DEFINITIONS:
# ddnsuser: Enter your ChangeIP.com user id.
# ddnspass: Enter your ChangeIP.com password.
# ddnshost: Enter the hostname (www.example.com) to update.
# ddnsinterface: Enter an interface name - case sensative.
# %
# %
# %
# %
# % % %
# % % %
# % % %
# %
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# EDIT YOUR DETAILS / CONFIGURATION HERE
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:global ddnsuser "xxxxxxxxx"
:global ddnspass "xxxxxxxxx"
:global ddnshost "xxxxxx.ddns.info"
:global ddnsinterface "pppoe-out1"
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# END OF USER DEFINED CONFIGURATION
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
: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: Sending UPDATE!"
:log info [ :put [/tool dns-update name=$ddnshost address=[:pick $ddnsip 0 [:find $ddnsip "/"] ] key-name=$ddnsuser key=$ddnspass ] ]
:global ddnslastip $ddnsip
}
}
# END OF SCRIPT
Log do Mikrotik => ddns error => timeout
Re: Script DNS para ChangeIp e DynDNS
Aqui estou fazendo o seguinte
Em System/ scripts
Name: DDNS
/tool dns-update name=seuendereco.changeip.net address=127.0.0.255 key-name=usuario key=senha
Depois só copiar e colar no terminal:
/system scheduler
add comment="" disabled=no interval=10m name=DDNS on-event=DDNS policy=\
read,write,policy,test,sniff,sensitive start-time=startup
Obs. Ele está configurado para atualizar a cada 10min, se caso queira mudar o tempo é só alterar o 10m para o tempo desejado...
Este foi o unico jeito que consegui fazer funcionar com o changeIp
Citação:
Postado originalmente por
silviola
Me deparei com este problema também, aqui uso este:
Código :
# Dynamic DNS Update / Simple Edition
# Written by Sam Norris, ChangeIP.com
# Copyright ChangeIP.com 2009-2010
# For support send mail to [email protected]
#
# 2009-06-22 RouterOS 3.25 Tested
# 2009-10-05 RouterOS 4.01rc1 Tested
#
# OVERVIEW: %
# This script will update a ChangeIP.com dynamic dns hostname
# with an ip address located directly on an interface.
# %
# NOTES: %
# IF THIS SCRIPT DOES NOT PRODUCE ANY OUTPUT PLEASE COPY AND PASTE IT
# AGAIN. THERE PROBABLY IS A LINE BREAK IN THE WRONG PLACE! Once you
# have created this script and tested that it works by running it
# manually you can schedule it to run every few minutes.
# %
# CONFIGURATION FIELD DEFINITIONS:
# ddnsuser: Enter your ChangeIP.com user id.
# ddnspass: Enter your ChangeIP.com password.
# ddnshost: Enter the hostname (www.example.com) to update.
# ddnsinterface: Enter an interface name - case sensative.
# %
# %
# %
# %
# % % %
# % % %
# % % %
# %
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# EDIT YOUR DETAILS / CONFIGURATION HERE
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:global ddnsuser "xxxxxxxxx"
:global ddnspass "xxxxxxxxx"
:global ddnshost "xxxxxx.ddns.info"
:global ddnsinterface "pppoe-out1"
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# END OF USER DEFINED CONFIGURATION
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
: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: Sending UPDATE!"
:log info [ :put [/tool dns-update name=$ddnshost address=[:pick $ddnsip 0 [:find $ddnsip "/"] ] key-name=$ddnsuser key=$ddnspass ] ]
:global ddnslastip $ddnsip
}
}
# END OF SCRIPT
Log do Mikrotik => ddns error => timeout
Re: Script DNS para ChangeIp e DynDNS
Amigo Eduardi
esse script serve na distribuição Mikrotik OS x86 5.20?????