luscatotproxy

Mikrotik - pembaruan dns

Jan 20th, 2020
532
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # No-IP automatic Dynamic DNS update
  2.  
  3. # Michael Martins - 2019
  4. # O Script faz o envio das informações para a sua conta No-IP
  5. # Após inserir o Script no Mikrotik, Criar um Scheduler para executar o Script de acordo com sua necessidade.
  6.  
  7. #--------------- Modifique os valores nessa área de acordo com suas configurações ------------------
  8.  
  9. # SUAS INFORMAÇÕES DA CONTA NO-IP  EMAIL E SENHA
  10. :local noipuser "XXXXXXX@hotmail.com"
  11. :local noippass "XXXXXXX"
  12.  
  13. # HOSTNAME QUE SERÁ ATUALIZADO
  14.  
  15. # Hostnames with spaces are unsupported. Replace the value in the quotations below with your host names.
  16.  
  17. # PARA ESPECIFICAR VÁRIOS HOSTS, SEPARAR POR VÍRGULA.
  18. :local noiphost "sunshinenetwork.ddns.net"
  19.  
  20. # MODIFIQUE ABAIXO A INTERFACE E COLOQUE A QUE RECEBE O IP DINÂMICO DA OPERADORA
  21. # Change to the name of interface that gets the dynamic IP address
  22. :local inetinterface "pppoe-out1"
  23.  
  24. #------------------------------------------------------------------------------------
  25. # NÃO É NECESSÁRIO FAZER NENHUMA ALTERAÇÃO ABAIXO
  26.  
  27. :global previousIP
  28.  
  29. :if ([/interface get $inetinterface value-name=running]) do={
  30. # Get the current IP on the interface
  31.    :local currentIP [/ip address get [find interface="$inetinterface" disabled=no] address]
  32.  
  33. # Strip the net mask off the IP address
  34.    :for i from=( [:len $currentIP] - 1) to=0 do={
  35.        :if ( [:pick $currentIP $i] = "/") do={
  36.            :set currentIP [:pick $currentIP 0 $i]
  37.        }
  38.    }
  39.  
  40.    :if ($currentIP != $previousIP) do={
  41.        :log info "No-IP: Current IP $currentIP is not equal to previous IP, update needed"
  42.        :set previousIP $currentIP
  43.  
  44. # The update URL. Note the "\3F" is hex for question mark (?). Required since ? is a special character in commands.
  45.        :local url "http://dynupdate.no-ip.com/nic/update\3Fmyip=$currentIP"
  46.        :local noiphostarray
  47.        :set noiphostarray [:toarray $noiphost]
  48.        :foreach host in=$noiphostarray do={
  49.            :log info "No-IP: Sending update for $host"
  50.            /tool fetch url=($url . "&hostname=$host") user=$noipuser password=$noippass mode=http dst-path=("no-ip_ddns_update-" . $host . ".txt")
  51.            :log info "No-IP: Host $host updated on No-IP with IP $currentIP"
  52.        }
  53.    }  else={
  54.        :log info "No-IP: Previous IP $previousIP is equal to current IP, no update needed"
  55.    }
  56. } else={
  57.    :log info "No-IP: $inetinterface is not currently running, so therefore will not update."
  58. }
Add Comment
Please, Sign In to add comment