Já procurei no forum, achei 3, testei, funcionou por 10 horas mais ou menos, depois nao funcionou mais... Alguem tem um script que funciona de verdade com o no-ip ? To precisando muito !
Já procurei no forum, achei 3, testei, funcionou por 10 horas mais ou menos, depois nao funcionou mais... Alguem tem um script que funciona de verdade com o no-ip ? To precisando muito !
Algumas importantes considerações:
1) Se o seu script atualizar o serviço NoIP, com um intervalo abaixo do permitido (descrito no FAQ), você entrará no blacklist do NoIP. Recomendo atualizar a cada 10 minutos, afinal, se o seu endereço IP está mudando em menos tempo do que 10 minutos, você tem outros sérios problemas para se preocupar.
2) Há anos uso o script abaixo, e funciona 100%. Substitua no código as porções de texto: MEULOGIN, MINHASENHA e MEUNOIPFQDN. Mantenha a data inicial em 1 de janeiro de 1970. Isso evitará problemas quando o MikroTik RouterOS for inicializado, sem ter atualizado o cliente NTP
Código :/system scheduler add interval=10m name=schedule-noip on-event="/tool fetch mode=http url=\"http://MEULOGIN:[email protected]/nic/update\\3Fhostname=MEUNOIPFQDN\"" policy=ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api start-date=jan/01/1970 start-time=00:00:00
Avise-nos se teve êxito na implementação
Boa noite, obrigado por responder, então, eu custumo criar o script e a scheduler, sendo assim, queria pedir um ultimo favor, queria a regrinha pronta para eu ir em script e colar, depois a regra pronta para eu ir em scheduler e colar tbm, o tempo eu determino 30min, tentei colar essa sua regra em new terminal para ver se criava tudo mais nao deu =/ ! devo estar fazendo alguma coisa errada e eu nao manjo quase nada de scripts =/ ! Obrigado amigo.
Eu uso esse aqui e funciona perfeitamente, estou usando versão 6.5 do mikrotik.
# No-IP automatic Dynamic DNS update
#--------------- Change Values in this section to match your setup ------------------
# No-IP User account info
:local noipuser "xxxxxxxxxx"
:local noippass "xxxxxxxxx"
# 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 "xxxxxxxxx.no-ip.biz"
# Change to the name of interface that gets the dynamic IP address
:local inetinterface "pppoe-out1"
#--------------- ---------------------------------------------------------------------
# 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."
}
Espero ter ajudado.
Olá, eu tenho uma RB750GL com a versão 5.9, eu editei os campos que estavam com os "xxxxx" para os meus dados, depois copiei todo o texto e colei em New Terminal, era soh isso ? Eu fui em script e depois scheduler e nao tinha nada criado, eu nunca fiz assim com essas linhas de comando, teria como vc me ensinar a fazer passo a passo ? Tipo abrir o script, adicionar um novo e colar o texto lah dentro ? eu nao sei qual texto devo colcar lah e etc... o texto do scheduler tbm nao sei. =/ ! estou quase, da mais uma forcinha ai !
ainda nao resolvi meu problema, alguem pode dar continuidade na ajuda aqui ? abração !
Só editar o exemplo que demonstrei[1].
Qual a dificuldade que está tendo? Outros usuários fizeram o mesmo procedimento e resolveram o problema.
[1] https://under-linux.org/showthread.p...581#post687581
eu acho que estou errando na hora de colocar o script dentro da caixa que escrevemos, outra coisa eh qual interface que tenho que informar no script, no caso eu tenho a ETHER_01 onde eu recebo a adsl que vem de um modem em bridge, tenho tbm o PPPoE que disca para o modem, sendo assim eu informo qual dos dois ? "ETHER_01" ou "PPPOE_GVT" ?
Se possível, responda abaixo para eu entender melhor.
Texto para criar o script AQUI:
Texto para eu criar o scheduler AQUI:
Abraços.
Exatamente. Você fará os seguintes passos:
1) Copiar o código para seu editor de texto não formatado ("Notepad", "Bloco de Notas", "Kate", "vi", "Gedit", etc.):
Código :/system scheduler add interval=10m name=schedule-noip on-event="/tool fetch mode=http url=\"http://MEULOGIN:[email protected]/nic/update\\3Fhostname=MEUNOIPFQDN\"" policy=ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api start-date=jan/01/1970 start-time=00:00:00
2)Substituir os parâmetros MEULOGIN, MINHASENHA e MEUNOIPFQDN), sendo, respectivamente, seu usuário do No-IP, sua senha do No-IP e seu Fully Qualified Domain Name (FQDN), fornecido pelo No-IP.
3) No console (ou terminal) do seu ativo com MikroTik RouterOS, colar o código, com as devidas modificações de parâmetros.
4) Pronto! O código já criou o agendamento para você
Faça e nos avise se funcionou.
Estou refazendo tudo, acho que agora vai e obrigado por estar me ajudando, tenho uma dúvida, quando vou criar o HOST no NO-IP, tem várias opções, qual devo usar ? Segue as opções abaixo:
DNS Host (A)
DNS Host (Round Robin)
DNS Alias (CNAME)
Port 80 Redirect
Web Redirect
AAAA (IPv6)
Após vc me dizer qual eu devo criar, eu faço tudo conforme vc explicou acima e testo e posto os resultados aqui, obrigado mais uma vez.
### EDIÇÃO ###
Eu criei o HOST (A) por antigamente eu usava ele e daca certo, mudei as opções de login, senha e hostname, colei no "new terminal" e pela primeira vez deu certo, porem foi criado apenas uma regra em system>scheduler, em system>script nao foi criado nada, é assim mesmo ?
Você usará "DNS Host (A)".
Isso mesmo
Não justifica, no seu cenário, fazer uma agendamento chamar outro script. Então, o próprio agendamento já possui a porção de código a ser executada, periodicamente, obedecendo os limites impostos pelo FAQ do No-IP.
Até aqui está tudo certo. Mantenha-nos informado sobre sua situação
Não deu certo amigo, segue abaixo uma imagem para vc ver se esta tudo certinho.
o código que usei foi esse:
/tool fetch mode=http url="http://[email protected]:[email protected]/nic/update\3Fhostname=enikaeni.no-ip.info"
mais no site do no-ip eu logo com o meu e-mail ! [email protected] ! mais eu tbm logo com o "nkncba" que eh o apelido da conta. mais mesmo assim vou mudar e ver oque vai acontecer, pera ai.
### EDIT ###
mesmo mudando o campo de "[email protected]" para "nkncba" nao deu certo, eu preciso fazer algum redirecionamento de porta ou habilitar alguma coisa ? meu modem eh em bridge, deduzo que nao...
nao sei mais oque fazer... vc tem skype amigo ?
Tenho Skype, mas apenas uso mediante agendamento, para atendimentos remunerados. Atividades voluntárias faço publicamente, via portal Under-Linux.
Repita os passos. O processo é simples e funciona. Em alguma etapa do processo você está cometendo alguma pequena imprecisão.
Tive problemas inicialmente para encontrar um script que funcionasse com MK versão 3.x... até q encontrei esse, na própria página do mk:
# Define User Variables
:global ddnsuser "CHANGEIPUSERID"
:global ddnspass "CHANGEIPPASSWORD"
:global ddnshost "FREEHOSTNAME.TOUPDATE.TLD"
# Define Global Variables
:global ddnsip
:global ddnslastip
:if ([ :typeof $ddnslastip ] = nil ) do={ :global ddnslastip "0" }
:global ddnsinterface
:global ddnssystem ("mt-" . [/system package get system version] )
# Define Local Variables
:local int
# Loop thru interfaces and look for ones containing
# default gateways without routing-marks
:foreach int in=[/ip route find dst-address=0.0.0.0/0 active=yes ] do={
:if ([:typeof [/ip route get $int routing-mark ]] != str ) do={
:global ddnsinterface [/ip route get $int interface]
}
}
# Grab the current IP address on that interface.
:global ddnsip [ /ip address get [/ip address find interface=$ddnsinterface ] address ]
# Did we get an IP address to compare?
:if ([ :typeof $ddnsip ] = nil ) do={
:log info ("DDNS: No ip address present on " . $ddnsinterface . ", please check.")
} else={
:if ($ddnsip != $ddnslastip) do={
:log info "DDNS: Sending UPDATE!"
:log info [ ut [/tool dns-update name=$ddnshost address=[ick $ddnsip 0 [:find $ddnsip "/"] ] key-name=$ddnsuser key=$ddnspass ] ]
:global ddnslastip $ddnsip
} else={
:log info "DDNS: No update required."
}
}
# End of script
E apesar de estar tudo funcionando perfeitamente, aparece essa mensagem: ddns error > Server Error. Não deveria aparecer a mensagem: "DDNS: No update required."?
Aqui está tudo funcionado sem problemas... Eu só fui reparar esse mensagem de erro depois de um tempo...
Alguém sabe dizer o que é ou corrigir isso?
Abraço
Este script tb não deu certo... funcionou durante um tempo mas, depois de reiniciar o meu servidor e esperar o tempo determinado para a execução do script, nada aconteceu, sem acesso remoto...
Uso o Mikrotik 3.30... existe algum script que funcione perfeitamente nessa versão?
Abraço.