Konfigurujeme DNS-Over-HTTPS na Mikrotiku

DNS over HTTPS (DoH) je pomerne nový štandard v sieťach. Predstavuje náhradu za zastaralý spôsob získavania DNS záznamov z resolverov pomocou pomerne nezabezpečenej metódy cez UDP port 56. DoH funguje pomocou HTTP/2 protokolu a HTTPS, pomocou HTTP požiadavok komunikuje s DNS resolverom a ten vracia zariadeniu DNS záznamy ktoré ďalej môže využívať. Taktiež najväčšia výhoda je overenie cez verifikovaný certifikát a taktiež pri sledovaní komunikácie nikdo nad vaším zariadením nevidí vašu DNS komunikáciu, vidí iba šifrovanú HTTPS komunikáciu ktorá je totožná ako štandartné prezeranie WWW stránok. Ďalšia výhoda je že nikdo nedokáže manipulovať s DNS záznamom, alebo „uniesť“ váš paket a presmerovať ho na iný DNS resolver, keďže vaše zariadenie overuje každú komunikáciu certifikátom, ako pri HTTPS.

Impelentácia v Mikrotik RouterOS

DoH keďže je pomerne nová záležitosť tak ho nenájdeme vo väčšine bežných routrov. Mikrotik prekvapil v aktualizácií RouterOS 6.47 kde pridal podporu pre DoH do všetkých zariadení.

Nastavenie DoH je pomerne jednoduchá záležitosť. Náš setup bude vyzerať tak že, Mikrotik budeme mať ako gateway do internetu, Mikrotik nám taktiež bude robiť DNS resolver, takže vo vnútornej sieti budeme stále komunikovať na porte UDP 56, a von z routra už pomocou HTTPS.

V tomto setupe budeme používať Google DNS, môžete si vybrať hocjaký DoH resolver podľa vašej preferencie.

Nastavenie DoH

Ako prvú vec čo potrebujeme je bundle certifikátov, ten štandartne môžete získať z viacero zdrojov, môžete vyexportovať váš bundle z Linuxovej distribúcie, alebo použiť bundle od curl.haxx.se. V tomto návode použijeme bundle. Ten stiahneme a nahráme pomocou týchto príkazov

/tool fetch url=https://curl.haxx.se/ca/cacert.pem
/certificate import file-name=cacert.pem passphrase=""

Tento krok je volitelný ale odporúčam ho. Keďže nechceme v mikrotiku dôverovať všetkým certifikátom, iba tým ktoré potrebujeme tak je vhodné zmazať ostatné certifikáty. Tento krok je odlišný podľa DNS resolveru ktorý použijete. Certifikáty nájdeme v položke SystemCertificates. V tomto návode používame Google DNS takže pre nás je potrebné aby sme mali certifikát GlobalSign Root CA – R2

Následovne už len vytvoríme statický záznam pre DoH URL a nastavíme DNS server. To urobíme následovnými príkazmi

/ip dns
set allow-remote-requests=yes servers=8.8.8.8,8.8.4.4 use-doh-server=\
    https://dns.google/dns-query verify-doh-cert=yes
/ip dns static
add address=8.8.8.8 name=dns.google type=A

V tomto momente už náš router komunikuje pomocou HTTPS, konfiguráciu si môžeme overiť pomocou urobenia DNS požiadavky v konzole.

> :put [:resolve opencentrum.sk]
51.77.245.177

Ak nám príkaz vrátil IP adresu tak náš DNS resolver funguje, v tomto momente stačí už len v DHCP nasmerovať DNS server na internú IP adresu routra.

Leave a Reply