Dnes sa dozvieš ako aktualizovať IP adresu z Mikrotiku (MK) na DNS serveroch noip.com. Proces je pomerne jednoduchý a bude plne automatizovaný. Tento návod bude veľmi stručný a výstižný. V jednoduchosti si vysvetlíme ako a prečo vôbec aktualizovať IP adresu.
Predstavme si, že spravujeme na diaľku nejaký RouterBoard MK. Tento MK dostáva na WAN rozhranie verejnú dynamickú IPv4 adresu a to je základ aby bolo zariadenie viditeľné z internetu. V minulosti sa na MK otvoril port na správu MK a priamo z internetu sme sa cez winbox pripojili na MK. V dnešnej dobe sme však opatrnejší a pripájame sa pomocou VPN. Veľmi dobrá VPN je OpenVPN, ale ja uprednostňujem WireGuard
Nebudeme sa zaoberať IPv6, ale len čisto IPv4 adresami. Na wiki si môžeš preštudovať aké triedy IPv4 adries existujú. Okrem súkromných, CGN, lokálnej slučky (localhost) a pod sú najdôležitejšie verejné IPv4 adresy a keďže verejnú IPv4 máme, tak poďme riešiť ďalšie veci.
Predstavme si, že router MK obdržal od ISP verejnú IPv4 adresu 44.33.22.11. Lenže ISP poskytuje svojím klientom, dynamické IPv4 adresy, takže o niekoľko dní sa IPv4 adresa na WAN rozhraní MK môže pokojne zmeniť na 11.22.33.44. My sa nemáme ako dozvedieť, že na routery sa IPv4 zmenila a už by sme sa na router nedokázali pripojiť. Jednou z bezpečných možností je použiť dynamický DNS server, napr. noip.com
Portál noip.com poskytuje okrem iného aj službu DNS tretieho radu zdarma. Ak chceme takúto doménu mať, tak po registrácii na noip.com si jednoducho doménu vytvoríme. Avšak je tu jeden malý háčik. Podmienkou je 1x mesačne odkliknúť potvrdenie, ktoré obdržíme v emaily. Ak máme nejaký peniaz navyše, tak kľudne si doménu môžeme kúpiť za necelých 8€ a máme pokoj s klikaním na 9 rokov. Avšak keď spravujeme router (alebo sieť) niekomu inému a necheme ho zaťažovať poplatkami navyše, tak vtedy použijeme napr. noip.com
DNS servery sú vo všeobecnosti zariadenia, ktoré prekladajú doménové mená na IP adresy. Majme napr. doménové meno a IPv4 adresu
example.ddns.net --> 44.33.22.11
DNS server zabezpečí, že IPv4 adresa 44.33.22.11 je viditeľná pod example.dns.net. Tento zápis sa na DNS serveroch nazýva A record a hovorí: toto doménové meno smeruje na túto IPv4 adresu. Avšak ako som spomínal vyššie, ISP nám nečakane zmení IPv4 adresu na 11.22.33.44, ale DNS bude stále tvrdiť, že doména example.ddns.net je na IPv4 adrese 44.33.22.11.
Preto potrebujeme nastaviť MK tak, aby IPv4 adresu na noip.com v pravidelných intervaloch kontroloval a ak zistí zmenú, tak ju upraví na aktuálnu adresu.
Prihlásime sa cez winbox do MK a spustíme New Terminal. Do terminálu vložíme tento skript
/system script add name=noip_ddns policy=read,write,test comment="update ip adresy" source={
:local noipuser "name_noip"
:local noippass "VeryStRoNgPASsword"
:local noiphost "example.ddns.net"
:global previousIP
:local currentIP [/tool fetch url="http://ipecho.net/plain" as-value output=user];
:set currentIP ($currentIP->"data");
:if ($currentIP != $previousIP) do={
/tool fetch url="http://dynupdate.no-ip.com/nic/update?myip=$currentIP&hostname=$noiphost" user=$noipuser password=$noippass mode=http keep-result=no;
:set previousIP $currentIP;
:log info "No-IP DDNS updated. New IP is $currentIP";
} else={
:log info "No-IP DDNS: IP has not changed.";
}
}
V riadku 2, 3 a 4 nastavíme meno, heslo, ktorým sa prihlasujme na noip.com a doménu, ktorej IPv4 adresu chceme kontrolovať. Skript porovná, či je na MK IPv4 adresa zhodná z IPv4 adresou na noip.com. Ak sa adresy nezhodujú, tak na noip.com sa zapíše nová IPv4 adresa, ktorá je reálne na MK. Avšak tento samotný skript nám nebude stačiť a ďalej musíme nastaviť scheduler (plánovač). Scheduler zabezpečí aby sa tento skript spúšťal v pravidelných intervaloch. Mne osobne vyhovuje, každých 10 minút.
/system scheduler add name=noip_update interval=10m on-event=noip_ddns
Tento skript je odskúšaný na routery L009UiGS-2HaxD / 7.16.2 (stable). Skúšal som ho tiež na RB5009UG+S+ / 7.19.1 (stable), ale nefungoval (tam sa mi osvedčil tento skript).
