Usługa DDNS na routerze MikroTik z wykorzystaniem serwisu noip.com

DDNS to usługa sieciowa pozwalająca na łączenie się z zewnątrz do routera/sieci lokalnej z wykorzystaniem adresu domenowego gdy korzystamy z łącza z zmiennym adresem publicznym.

1. Wchodzimy na stronę https://www.noip.com/ i zakładamy konto wpisując swój adres e-mail, hasło i adres który chcemy wykorzystywać do łączenia z naszym routerem, w naszym przykładzie będzie to mikrotik123.ddns.net

2018 01 18_12h16_48

2. Po założeniu konta logujemy się do serwisu, z menu po lewej wybieramy Account => Account Info i uzupełniamy pole username (uprości nam to późniejszą synchronizację), w naszym przykładzie będzie to login mtddns123.

2018 01 18_12h17_28

3. Teraz przystępujemy do konfiguracji routera MikroTik gdzie do synchronizacji posłużymy się skryptem (skrypt-poniżej), w skrypcie uzupełniamy „wanInterface” o nazwę naszego interfejsu WAN z zakładki Interfaces, w „hostname” wpisujemy nasz adres założony w serwisie noip.com a „username” i „password” to analogicznie dane naszego konta w tym serwisie. Skrypt po wykonaniu zwróci w logu wynik (kolorem niebieskim – warning) można to wyłączyć usuwając przedostatnią linię skryptu.
Skrypt wymaja uprawnień read, test, write.

2018 01 18_12h18_48

Konfiguracja
:local wanInterface “ether1”;
:local hostname “mikrotik123.ddns.net”;
:local username “mtddns123”;
:local password “mojehaslo”;
# Skrypt
:local publicIP [/ip dhcp-client get [find interface=ether1] address];


:set publicIP [:pick $publicIP 0 [:find $publicIP “/”]];
/tool fetch address=dynupdate.no-ip.com host=dynupdate.no-ip.com http-method=get src-path=(“/nic/update?hostname=”.$hostname.”&myip=”.$publicIP) mode=http dst-path=”ddns.txt” user=$username password=$password;
:delay 5s;
/log warning message=[/file get ddns.txt contents];
/file remove ddns.txt;

 
 

4. Następnie wchodzimy w /system scheduler i dodajemy nowe zadanie które co określony przedział czasu będzie wykonywać skrypt (myślę że 5 minut będzie odpowiednim interwałem).
Start Time ustawiamy na startup (wykonywanie rozpocznie wraz z startem systemu – czasami pierwsze wykonanie skryptu po włączeniu MikroTika’a może zakończyć się błędem ponieważ system może jeszcze nie być gotowy np. nie dostanie IP z DHCP dostawcy usługi).
Interval na 5 min = 00:05:00
Policy takie same jak w skrypcie (read, test, write).
w On Event wpisujemy /system script run DDNS
Gdzie „DDNS” to nazwa naszego skryptu.

2018 01 18_12h19_26

Po wykonaniu skryptu pod naszym adresem domenowym pojawi się nasz adres IP. Odświeżanie może potrwać do 10 minut.

Autor: Wojciech Mańka