Amigo o seu script é o mesmo que uso antes da mudança ,só que agora esta acontecendo de não atualizar o ip no site do change-ip , no mikrotik versao 6 que eu uso o script da o aviso de atulizado com sucesso no log do mikrotik quando eu vou no site do change-ip o ip que esta gravado lá não foi modificado , vc já tentou desconectar e conectar novamente para mudar o ip ,porque pode ser que vc esteja com o mesmo ip de quando foi modificado o site ,por esse motivo ainda esta funcionando .
porque o problema não esta no dominio eu fiz o teste de modificar o ip no site manualmente ai o acesso remoto funcionou , mais por script não esta renovando o ip.
Grato Tintinet
Passei as últimas 2 horas testando o script abaixo, funcionou perfeitamente inclusive rodando de um load balance com diversos links, nele é possível escolher qual link irá acessar o changeip.com, funcionou perfeitamente após alguns ajustes então amigo a sua conta pode estar inativa ou você pode ter outro problema que não seja o changeip.com.
EthLinkA é a interface que tiver o ip público.
As rotas estáticas serão alteradas de acordo com a interface para fazer o seu balance acessar o changeip sempre pelo link que estiver enviando o ip, assim não vai haver erro na detecção do ip pelo site.
# 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."
}
}
}
Segue logs:
Date Stamp Affected Result URL Query String Detected IP SSL User Agent 10/04/2013 12:46:16 PM D:1 R:1 S:1 200 /nic/update?ip=187.x.x.115&hostname=x.ddns.us 187.x.x.115 1 Mikrotik/5.x 10/04/2013 12:45:59 PM D:1 R:1 S:1 200 /nic/update?ip=187.x.x.61&hostname=x.ddns.us 187.x.x.61 1 Mikrotik/5.x 10/04/2013 12:45:44 PM D:1 R:1 S:1 200 /nic/update?ip=200.x.x.176&hostname=x.ddns.us 200.x.x.176 1 Mikrotik/5.x
Mais scripts em:
http://wiki.mikrotik.com/wiki/Scripts
vou testar aki pra ver o antigo tbm ta funcionando porem o ip parece que não atualiza vou ver com este obrigado.
aqui voltou a funcionar normalmente, acho que eles arrumaram o servidor novamente, estou usando o mesmo script de antes e esta OK
Galera aqui estou usando este script
"/tool dns-update name=seusite.ddns.us address=127.0.0.255 key-name=seulogin key=suasenha"
Mas quando tento conectar da este erro
Could not fetch index from 127.0.0.255 (port 80): Not Found
O que pode ser este erro acima?
Amigo eu to com esse mesmo problema , o motivo é porque o ip que esta gravado no site do changeip é esse não sei dizer se foi uma alteração no site , ou se o scritp esta mandando esse numero e não esta renovando o ip da internet ,vc pode fazer o login no site de 1 click no seu domínio que ele vai mostrar o ip ativo 1 deles é esse que mostra .
Se ajudei de uma * para incentivar
Para mim, acabou-se a parceria change-ip x mikrotik
Retomada as atualizações pelo change ip, todos meus acessos funcionando com o script do m4d3.
eu usei somente essa parte do script(tenho somente um link pppoe)
Grato mais uma vez.Código ::global ddnsuser "*****" :global ddnspass "*****" :global ddnshost "*****" :global ifaceddns "*****" :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." } } }
o meu ainda esta dando o mesmo erro
Could not fetch index from 127.0.0.255 (port 80): Not Found
O que pode ser este erro acima?
Detalhe quando entro em system scripts e clico em run Script, la em log diz DNS update successful, porem nao consigo acessar onde da o erro acima.
se alguém puder passar o passo a passo, agradecemos...
Já revalidou sua conta?
Atente para inserir corretamente os dados
:global ddnsuser "meu_usuario"
:global ddnspass "minha_senha"
:global ddnshost "xxxxxx.changeip.net"
:global ifaceddns "pppoe-GVT"
:global lastddnsip
:global lastgat
devera ser mencionado a interface onde esta a seu ip publico, que no meu caso é um cliente PPPoE.:global ifaceddns "pppoe-GVT"
pessoal mudei para o NO-IP e é muito mais simples .... segue solução completa... claro criando a conta la e os host no site ..
cada serviço de DDNS tem seu metodo de reconhecimento de updates,, o do no-ip nao muda faz tempo, entao acho mais confiavel..
eis o script abaixo..........
e o sheduler........../ system script run NO-IP
lembrando que o nome do script tambem deve ser NO-IP
SE FOI UTIL ESTRELINHA CAIA BEM OK....
# No-IP automatic Dynamic DNS update
#--------------- Change Values in this section to match your setup ------------------
# No-IP User account info
:local noipuser "USUARIO DO NO-IP"
:local noippass "SENHA DO NO-IP"
# Set the hostname or label of network to be updated.
# Hostnames with spaces are unsupported. Replace the value in the quotations below with your host names.
# To specify multiple hosts, separate them with commas.
:local noiphost "SEU DNS CRIADO NO SITE , NO CASO O HOSTNAME"
# Change to the name of interface that gets the dynamic IP address
:local inetinterface "INTERFACE DIRETA COM A INTERNET"
#--------------- ---------------------------------------------------------------------
# No more changes need
:global previousIP
:if ([/interface get $inetinterface value-name=running]) do={
# Get the current IP on the interface
:local currentIP [/ip address get [find interface="$inetinterface" disabled=no] address]
# Strip the net mask off the IP address
:for i from=( [:len $currentIP] - 1) to=0 do={
:if ( [ick $currentIP $i] = "/") do={
:set currentIP [ick $currentIP 0 $i]
}
}
:if ($currentIP != $previousIP) do={
:log info "No-IP: Current IP $currentIP is not equal to previous IP, update needed"
:set previousIP $currentIP
# The update URL. Note the "\3F" is hex for question mark (?). Required since ? is a special character in commands.
:local url "http://dynupdate.no-ip.com/nic/update\3Fmyip=$currentIP"
:local noiphostarray
:set noiphostarray [:toarray $noiphost]
:foreach host in=$noiphostarray do={
:log info "No-IP: Sending update for $host"
/tool fetch url=($url . "&hostname=$host") user=$noipuser password=$noippass mode=http dst-path=("no-ip_ddns_update-" . $host . ".txt")
:log info "No-IP: Host $host updated on No-IP with IP $currentIP"
}
} else={
:log info "No-IP: Previous IP $previousIP is equal to current IP, no update needed"
}
} else={
:log info "No-IP: $inetinterface is not currently running, so therefore will not update."
}