Uživatelské nástroje

Nástroje pro tento web

Tato dokumentace již není udržována týmem projektu Turris (přestože ji lze i nadále používat pro sdílení komunitního obsahu). Aktuální oficiální dokumentace se nachází na docs.turris.cz.

Tato dokumentace je jen pro Turris OS 3.x, který se už nenachází na nově prodávaných routerech. Novou dokumentaci najdete na https://docs.turris.cz/.

DNS

Tento článek vás seznámí s implementací DNS na routeru Turris, s častými problémy a několika druhy nastavení, které jsou často žádané.

DNS software na routeru Turris

Operační systém OpenWRT, ze kterého OS routeru Turris vychází, má ve své výchozí konfiguraci dnsmasq v roli DNS a DHCP serveru. Dnsmasq na routeru Turris zůstává, ale pouze v roli DHCP serveru. Turris a Omnia nahrazují DNS resolver jinou implementací:

  1. Turris 1.x používá DNS resolver Unbound
  2. Turris Omnia a Turris MOX používají DNS resolver Knot Resolver (známý také pod zkratkou kresd).

To je důvod, proč se jakákoliv změna nastavení DNS ve webovém rozhraní LuCI neprojeví.

Tato výměna má velmi prostý důvod: Projekt Turris se snaží o zlepšení bezpečnosti na Internetu a jedna z technologií, kterou podporuje, je i DNSSEC (viz dále). Původní dnsmasq neuměl validovat DNSSEC záznamy a proto musel být nahrazen. Dnsmasq ale zůstal jako DHCP server – zde neexistuje žádný důvod k výměně a naopak přetrvává možnost využívat konfiguraci pomocí rozhraní LuCI.

I když novější verze resolveru dnsmasq mají podporu pro DNSSEC, o jeho vrácení do role DNS resolveru zatím neuvažujeme, protože prozatím nejsme spokojeni s kvalitou implementace.

DNSSEC na routeru Turris

Technologie DNSSEC zajišťuje, že pro domény, které jsou elektronicky podepsány, je možné ověřit, že po cestě mezi klientem a serverem nedošlo k podvržení odpovědi. Jedná se tedy o obranu proti útoku, který je známý jako DNS spoofing.

Podpora DNSSECu jde v routeru Turris tak daleko, že je vyžadována pro jeho správnou funkci. Bez DNSSECu nebude fungovat komunikace mezi routerem a centrálou Turris. Častý případ výpadků u některých uživatelů je způsoben uživatelskou změnou DNS software – povýšením serveru dnsmasq do role hlavního resolveru.

DNS a forwarding

Další častý problém nastává, když má Turris zapnutý „DNS forwarding“ ale ISP plně nepodporuje technologii DNSSEC. Pro zlepšení výkonu výchozí konfigurace v OS Turris forwarding povoluje.

Vysvětleme si o co se jedná:

  1. Pokud je forwarding vypnutý, tak se Turris ptá na informace přímo autoritativních serverů roztroušených po Internetu. Jak tento postup vypadá je popsáno např. na české Wikipedii.
  2. Pokud je forwarding zapnutý, všechny dotazy posílá na DNS server vašeho poskytovatele. Ten buď pošle dotaz dál do Internetu, nebo na něj přímo odpoví ze své lokální cache. Poté, co resolver Turrisu získá odpověď, pouze překontroluje platnost podpisů.

Výhodou zapnutého forwardingu je fakt, že se Turris bude ptát serverů, kterých se ptá větší počet klientů (ostatní zákazníci vašeho ISP) a je větší šance, že DNS server bude mít odpověď v cache a dovede ji vydat nesrovnatelně rychleji.

Existují dva časté problémy, které se dají vyřešit vypnutím forwardingu:

  1. ISP zcela nepodporuje DNSSEC. V této chvíli Turris obdrží odpovědi bez podpisů. Toto resolver detekuje jako chybu, protože konfigurace resolveru vyžaduje, aby odpovědi od kořenových DNS serverů byly podepsány.
  2. Staré verze DNS serveru BIND obsahují chybu, která nesprávně zpracovává tzv. wildcard záznamy (např.: *.turris.cz, který by odkazoval na všechny subdomény pro doménu turris.cz). Pokud váš ISP provozuje jednu z těchto verzí, tak Turrisu nepřijdou správné podpisy a validace selže.

V obou případech se jedná o problém na straně ISP, který software na Turrisu nemůže automaticky odlišit od pokusu o útok pomocí DNS. Proto DNSSEC validace selže a klient v síti nedostane žádnou odpověď (aby se předešlo doručení podvržených dat klientovi).

V uživatelském rozhraní Foris můžete na záložce DNS nalézt jednoduchý test, který otestuje současné nastavení DNS na routeru. Na stejné stránce je možné forwarding vypnout/zapnout.