Página 1 de 2 12 ÚltimoÚltimo
+ Responder ao Tópico



  1. Saudações invocadores,

    Inicialmente quero parabenizar pela iniciativa de todos. Sou muito auto-didata e devo confessar que este site ajudou e muito ao resolver problemas que envolve o Mikrotik. Com o título proposto deste tópico quero ajudar aos interessados que passam ou passarão pelos mesmos problemas que passei.

    Topologia de rede: Tenho dois IPS funcionando no mikrotik em Failover com um Script e netwatch. Cada uma desta IPS são modens roteados. IPS 1 na porta ether1, IPS 2 na porta ether3, local na porta ether2

    Problema: Tenho um sistema de CFTV que preciso acessar via WEB. Os dois IPS não possuem IP fixo e portanto precisei usar o No-IP como solução de DDNS. Ao buscar no fórum e na internet só encontrei soluções que informam a porta (ether1, ether2 e etc) em um mikrotik em modo brigde atualizando seus respectivos IPs no No-IP. Mas... sempre tem este mas... a atualização informava o IP da porta roteada pelos modens.

    Solução: Usei alguns scripts achados no wiki da própria MK e algumas informações sobre programação de scripts também na wiki MK. Eis o script em questão totalmente funcional e traduzido:

    Código :
    # No-IP Dynamic DNS - Atualização Automática 
     
     
    #--------------- MODIFIQUE APENAS OS VALORES ONDE É SOLICITADO CONSERVANDO SUA SINTAXE ------------------
     
     
    # No-IP Informações de conta
    :local noipuser "DIGITE_O_USUARIO"
    :local noippass "DIGITE_A_SENHA"
     
     
    # Informe o Hostname da conta No-IP que será atualizada
    # Hostnames com espaços não são suportados.
    # Para especificar vários hosts, separe-os com vírgulas.
    :local noiphost "DIGITE_SEU_HOSTNAME"
     
     
    # MODIFICADO: obtém a interface ativa no momento.
    :global inetinterface "ether1"
    :if ([/ip route get [find comment="COMENTARIO_DA_INTERFACE"] disabled]=true) do={
    :global inetinterface "ether3"}
    :global ddnsip [ /ip address get [/ip address find interface="$inetinterface" ] address ]
     
     
    # Busca o IP corrente da internet (em caso de double-nat)
    /tool fetch mode=http address="checkip.ddns.com.br" src-path="/" dst-path="/dyndns.checkip.html"
    :delay 1
    :local result [/file get dyndns.checkip.html contents]
    # parse the current IP result
    :local resultLen [:len $result]
    :local startLoc [:find $result ": " -1]
    :set startLoc ($startLoc + 2)
    :local endLoc [:find $result "</body>" -1]
    :local currentIP [:pick $result $startLoc $endLoc]
     
     
    # Registra no log as informações
    :log info "IP WEB obtido na porta $inetinterface: $currentIP"
     
     
    #------------------------------------------------------------------------------------
    # Nenhuma modicação será nescessária
     
     
    :global previousIP
     
     
       :if ($currentIP != $previousIP) do={
           :log info "No-IP: O IP atual $currentIP não é igual ao IP anterior, atualização nescessária"
           :set previousIP $currentIP
     
     
    # Atualização de URL
           :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: Atualizando o $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 atualizado no No-IP com o IP $currentIP"
           }
       }  else={
           :log info "No-IP: IP anterior,$previousIP, é igual ao atual IP. Atualização não se faz nescessária"
       }
    } else={
       :log info "No-IP: $inetinterface não está funcionando corretamente, portanto não será atualizado."
    }

    Lembrando que a verificação se faz por um Scheduler sendo o mesmo um trigger time ao gosto.

    Espero ter sido útil em minha primeira publicação! E vai desculpando se fiz algo errado... sou novato
    Última edição por ab5x2; 03-07-2015 às 10:27. Razão: adicionar informações

  2. Parabéns pelo tópico,
    Pra complementar o conhecimento, existe hoje nas atuais versões do MK na opção IP / Cloud um DDNS da própria RB.
    O único inconveniente é que ele não é personalizável é bem comprido mas existe a possibilidade de direcionar um DDNS
    qualquer para ele, deixando ele assim mais amigável, pra quem não mexe com scripts no MK é uma opção bem legal.

    espero ter colaborado,

    Abço a todos e parabéns pelo Fórum, já fiz grandes amigos por aqui!!!



  3. Desta não sabia. Inclusive meu Mk é "antigo" pois não possui tal opção. Conhecimento a mais sempre é bom!

    abç

  4. Olá, amigos... a partir de que versão do mk essa ferramenta está disponível?

    Abraço.



  5. Bem... minha versão eh 6.29.1 mas creio que em versões mais antigas tenha tal funcionalidade.






Tópicos Similares

  1. Cache full no mikrotik !! com vídeos e exemplos
    Por alexandrecorrea no fórum Redes
    Respostas: 276
    Último Post: 11-04-2012, 22:31
  2. Compartilhar Edimax no cliente com dois micros
    Por marcelsalvador no fórum Redes
    Respostas: 9
    Último Post: 07-02-2009, 15:59
  3. Respostas: 12
    Último Post: 25-07-2008, 02:08
  4. Respostas: 14
    Último Post: 18-06-2008, 10:34
  5. Respostas: 0
    Último Post: 14-09-2007, 15:50

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L