Upload
imi-michal-smulski
View
232
Download
0
Embed Size (px)
Citation preview
7/31/2019 MikroTik - DynDNS
1/6
MikroTik DynDNS
W tej czci kursu zostanie opisana integracja MikroTik'a z serwisem DynDNS. Jak wiemy cz czy zktrych koystamy posiada zmienny adres IP i ciko jest si dosta na urzdzenie z zewntrz sieci.
1) Pierwszym krokiem bdzie stworzenie konta w serwisiehttp://www.dyndns.com/. Po wejciu na stronhttp://www.dyndns.com/ z grnego menu wybieramy Registry,
http://www.dyndns.com/http://www.dyndns.com/http://www.dyndns.com/http://www.dyndns.com/http://www.dyndns.com/7/31/2019 MikroTik - DynDNS
2/6
2) Uzupeniamy wszystkie potrzebne dane do rejestracji,
3) Po poprawnej rejestracji powinnimy otrzyma e-mail z linkiem do aktywacji konta,
7/31/2019 MikroTik - DynDNS
3/6
4) Logujemy si na MikroTik'a przez winboxa, nastpnie z menu wybieramy System Scripts ,
5) Nastpnie klikamy dodanie nowej pozycji i uzupeniamy: Name: dyndns (nazwa skryptu) Source:
# Definiujemy zmienne globalne:global ddnsuser "uzytkownik":global ddnspass "haso":global ddnshost "login.dyndns.org"
# Definiujemy zmienne globalne:global ddnsip:global ddnslastip:if ([ :typeof $ddnslastip ] = nil ) do={ :global ddnslastip "0" }
:global ddnsinterface:global ddnssystem ("mt-" . [/system package get system version] )
# Definiujemy zmienne lokalne: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]}
}:log info $ddnsinterface
# Definiujemy zmienn globaln (aktualny adres IP na danym interfejsie):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 ("DynDNS: No ip address present on " . $ddnsinterface . ", please check.")
7/31/2019 MikroTik - DynDNS
4/6
} else={:if ($ddnsip != $ddnslastip) do={:log info "DynDNS: Sending UPDATE!"
/tool fetch address=members.dyndns.org src-path="/nic/update?system=dyndns&hostname=$ddnshost&myip=$ddnsip&wildcard=no"user=$ddnsuser password=$ddnspass dst-path=("/DynDNS.".$ddnshost)
:delay 1:local str [/file find name="DynDNS.$ddnshost"];/file remove $str:global ddnslastip $ddnsip
}}
Zatwierdzamy wszystko przyciskiem OK.
6) Na licie skryptw powinna doj nowa pozycja tj. dyndns. Jeeli chcemy uruchomi skrypt zaznaczamypozycj i klikamy przyciskRun Script.
7/31/2019 MikroTik - DynDNS
5/6
7) Nastpnie w okienku logw powinnimy zobaczy informacj e wysano informacj o aktualizacji doserwera dyndns.org
8) W celu sprawdzenia czy wszystko przebiego poprawnie moemy sprubowa wej na naszegoMikroTik'a po nazwie tj. login.dyndns.org. Ewentualnie moemy zalogowa si do serwisu dyndns.org izobaczy czy nazwie jest przypisany poprawny adres IP:
7/31/2019 MikroTik - DynDNS
6/6
9) Jak wszystko dziaa pozostao Nam tylko ustawienie eby skrypt na MikroTik'u uruchamia co jaki czasnp. 30minut (w celu odwieenia adresu IP). Z menu bocznego wybieramy System Scheduler ,
10) Klikamy dodanie nowej pozycji i uzupeniamy: Name: nazwa np. dyndns Interval: 00:30:00 (co jaki czas ma by wykonywane zdarzenie) On Event:/system script run dyndns (uruchomienie skryptu dyndns)