8.1 DNS forwarder
Předchozí | Kapitola 8 Nastavení síťových služeb | Další

## 8.1 DNS forwarder

Modul DNS forwarder slouží ve WinRoute ke zjednodušení konfigurace DNS na počítačích v lokální síti a pro zrychlení odpovědí na opakované DNS dotazy. DNS na lokálních počítačích lze obecně nastavit jedním z následujících způsobů:

- použít IP adresu primárního, příp. i záložního DNS serveru vašeho poskytovatele Internetu. Toto řešení je regulérní, avšak odezvy na DNS dotazy budou značně pomalé. Všechny dotazy z každého počítače v lokální síti budou posílány do Internetu.

- použít DNS server v lokální síti (je-li k dispozici). Tento DNS server musí mít přístup do Internetu, aby dokázal odpovídat i na dotazy mimo lokální doménu.

- použít DNS forwarder ve WinRoute. Ten může rovněž sloužit jako jednoduchý DNS server pro lokální doménu (viz dále) či jako forwarder pro stávající DNS server.

Je-li to možné, doporučujeme použít DNS forwarder jako primární DNS server pro počítače v lokální síti (poslední z uvedených možností). DNS forwarder zajistí rychlé zpracování DNS dotazů a jejich správné směrování ve složitějších síťových konfiguracích. Na opakované dotazy a dotazy na lokální DNS jména dokáže DNS forwarder odpovědět přímo, aniž by musel komunikovat s DNS servery v Internetu.

Pokud nedokáže DNS forwarder zodpovědět DNS dotaz sám, předá jej na některý z DNS serverů nastavených na internetové lince, přes kterou je dotaz odesílán. Podrobnosti o konfiguraci síťových rozhraní firewallu naleznete v kapitole 5 Síťová rozhraní, bližší informace o možnostech internetového připojení v kapitole 6 Internetové připojení.

### Konfigurace modulu DNS forwarder

Ve výchozím nastavení WinRoute je DNS forwarder zapnut a DNS dotazy automaticky předávány některému z DNS serverů nastavených na příslušné internetové lince (typicky DNS servery přidělené poskytovatelem internetového připojení). Podrobnou konfiguraci lze provést v sekci Konfigurace → DNS forwarder.

Obrázek 8.1. Nastavení parametrů modulu DNS forwarder

Povolit předávání DNS dotazů

  Tato volba zapíná / vypíná modul DNS forwarder (služba používá protokol UDP a port `53`). Pokud ve vaší síťové konfiguraci DNS forwarder nepoužijete, můžete jej vypnout. Chcete-li na tomtéž počítači provozovat jiný DNS server, pak jej musíte vypnout — jinak by nastala kolize na uvedeném portu.

Používat cache pro rychlejší odpovědi

  Zapnutím této volby budou odpovědi na všechny dotazy ukládány do lokální vyrovnávací paměti (cache) DNS forwarderu. Odpovědi na opakované dotazy tak budou mnohonásobně rychlejší (opakovaným dotazem je i stejný dotaz vyslaný různými klienty).

  Fyzicky je DNS cache udržována v operační paměti, zároveň jsou však všechny DNS záznamy ukládány také do souboru `DnsCache.cfg` (viz kapitola 25.1 Zálohování a přenos konfigurace). Díky tomu zůstávají záznamy v DNS cache uchovány i při zastavení WinRoute Firewall Engine, resp. vypnutí počítače s WinRoute.

  Poznámka:

  1. Doba uchování DNS záznamů v cache je specifikována přímo v každém záznamu (zpravidla 1 den).

  2. Použití DNS cache zrychlí také činnost vestavěného proxy serveru (viz kapitola 8.4 Proxy server).

Vyprázdnit cache

  Stisknutím tohoto tlačítka dojde ke smazání všech záznamů ve vyrovnávací paměti DNS forwarderu (bez ohledu na jejich dobu životnosti). Tuto funkci lze využít např. při změně konfigurace, při testování vytáčení na žádost, odhalování chyb apod.

Použít nastavení pro předávání DNS dotazů

  Tato volba aktivuje pravidla pro předávání DNS dotazů na jiné DNS servery.

### Nastavení předávání DNS dotazů

DNS forwarder umožňuje předávat určité DNS dotazy na specifické DNS servery. Tuto funkci lze využít např. v případě, chceme-li pro lokální doménu používat DNS server v lokální síti (ostatní DNS dotazy budou předávány přímo do Internetu, čímž se zrychlí odezva). Nastavení předávání DNS dotazů je rovněž důležité při konfiguraci virtuálních privátních sítí, kdy je potřeba zajistit správné předání dotazů na jména v doménách vzdálených subsítí (podrobnosti viz kapitola 23 Kerio VPN).

Předávání dotazů se definuje pravidly pro DNS jména nebo subsítě. Pravidla tvoří uspořádaný seznam, který je vždy procházen shora dolů. Pokud DNS jméno nebo subsíť v dotazu vyhovuje některému pravidlu, pak bude tento dotaz předán na specifický DNS server a vyhodnocování pravidel se ukončí. Dotazy, které nevyhovují žádnému pravidlu, jsou předávány na „výchozí“ DNS servery (viz výše).

Poznámka: Je-li aktivní Jednoduchý převod DNS jmen (viz dále), pak se pravidla pro předávání dotazů uplatní pouze v případě, že DNS forwarder nedokáže dotaz zodpovědět na základě informací ze systémového souboru hosts a/nebo tabulky přidělených adres DHCP serveru.

Tlačítko Definovat v konfiguraci DNS forwarderu (viz obrázek 8.1 Nastavení parametrů modulu DNS forwarder) otevírá dialog pro nastavení pravidel pro předávání DNS dotazů.

Obrázek 8.2. Specifická nastavení předávání DNS dotazů

Pravidlo lze definovat pro:

- DNS jméno — pak budou na tento DNS server předávány dotazy na odpovídající jména počítačů (dotazy typu `A`)

- subsíť — pak budou na tento DNS server předávány dotazy na IP adresy v příslušné subsíti (reverzní doména — dotazy typu `PTR`)

Pořadí pravidel v seznamu je možné upravit tlačítky se šipkami v pravé části dialogu. Takto je možné vytvářet složitější kombinace pravidel — např. výjimky pro konkrétní počítače nebo subdomény. Protože je seznam pravidel procházen shora dolů, měla by být pravidla seřazena od nejspecifičtějšího (např. jméno konkrétního počítače) k nejobecnějšímu (např. hlavní doména firmy). Podobně pravidla pro reverzní DNS dotazy by měla být seřazena podle délky masky subsítě (např. od `255.255.255.0` k `255.0.0.0`). Pravidla pro dotazy na jména a pro reverzní dotazy jsou vzájemně nezávislá. Pro přehlednost doporučujeme nejprve uvést všechna pravidla pro dotazy na jména a pak všechna pravidla pro reverzní dotazy, případně naopak.

Tlačítko Přidat, resp. Změnit otevírá dialog pro definici pravidla pro předávání DNS dotazů.

Obrázek 8.3. Předávání DNS dotazů — nové pravidlo

- Volba DNS dotaz na jméno slouží ke specifikaci pravidla pro dotazy na jména. Do pole Jestliže dotazované jméno odpovídá výrazu je třeba zadat příslušné DNS jméno (počítač v dané doméně).

  Ve většině případů nechceme předávat dotazy na konkrétní jména, ale pro celé domény. Proto může zadané jméno obsahovat zástupné znaky `*` (hvězdička — nahrazení libovolného počtu znaků) a `?` (otazník — nahrazení právě jednoho znaku). Pravidlo pak bude platit pro všechna jména vyhovující zadanému řetězci (počítače, domény atd.).

  ### Příklad:

  DNS jméno zadáme ve tvaru: `*.?erio.c*`. Pravidlo bude platit pro všechna jména v doménách `kerio.cz`, `cerio.com`, `aerio.c` apod., tedy např. `www.kerio.cz`, `secure.kerio.com`, `www.aerio.c` atd.

  ### Upozornění

  V pravidlech pro DNS dotazy na jména je nutné vždy uvést výraz, kterému bude odpovídat celé DNS jméno! Pokud bychom zadali např. `kerio.c*`, pak by tomuto pravidlu vyhověla pouze jména `kerio.cz`, `kerio.com` apod., nikoliv však jména počítačů v těchto doménách (např. `www.kerio.cz` nebo `secure.kerio.com`)!

- Volba Reverzní DNS dotaz slouží ke specifikaci pravidla pro DNS dotazy na IP adresy v dané subsíti. Subsíť se zadává adresou sítě s příslušnou maskou (např. `192.168.1.0 / 255.255.255.0`).

- Do pole Pak předat dotaz těmto DNS serverům lze zadat IP adresu jednoho nebo více DNS serverů, na který mají být dotazy předávány.

  Je-li zadáno více DNS serverů, považují se za primární, sekundární atd.

  Volba Nepředávat znamená, že dotaz nebude předáván žádnému dalšímu DNS serveru — WinRoute bude pouze prohledávat lokální soubor `hosts`, příp. tabulky DHCP serveru (viz dále). Pokud zde dotazované jméno, resp. IP adresu nenalezne, odpoví klientovi, že toto jméno/adresa neexistuje.

### Jednoduchý převod DNS jmen

DNS forwarder může zároveň fungovat jako jednoduchý DNS server, typicky pro lokální doménu. Je-li nastaven jednoduchý převod jmen, pak se DNS forwarder vždy nejprve pokusí zodpovědět přijatý DNS dotaz, a pouze v případě neúspěchu jej předá jinému DNS serveru.

Před předáním dotazu jinému DNS serveru...

  Tyto volby umožňují nastavit, kde má DNS forwarder vyhledávat dotazované jméno (resp. IP adresu) předtím, než dotaz předá jinému DNS serveru.

  - Systémový soubor 'hosts' — tento soubor se nalézá v každém operačním systému, který podporuje TCP/IP. Každý řádek tohoto souboru obsahuje IP adresu počítače a seznam odpovídajících DNS jmen. Při každém DNS dotazu je nejprve prohledáván tento soubor, zda se v něm nachází požadované jméno (případně IP adresa), a teprve pak (není-li nalezeno) se dotaz předává DNS serveru.

    Stejným způsobem se chová DNS forwarder, je-li tato volba zapnuta. Tlačítko Editovat otevírá speciální editor, kterým lze soubor `hosts` upravovat přímo v Administration Console, a to i v případě, kdy je k WinRoute připojena vzdáleně (tj. z jiného počítače).

    Obrázek 8.4. Editor systémového souboru hosts

  - Tabulka adres přidělených DHCP serverem — jsou-li počítače v lokální síti konfigurovány pomocí DHCP serveru ve WinRoute (viz kapitola 8.2 DHCP server), pak má DHCP server informace o tom, jaká IP adresa byla přiřazena kterému počítači. Počítač při startu systému vysílá požadavek na přidělení IP adresy, který obsahuje i jméno počítače.

    DNS forwarder má přístup do tabulek DHCP serveru a může tedy zjistit, jaká IP adresa je v tomto okamžiku přidělena danému jménu počítače. Na dotaz na jméno počítače v lokální síti tedy vždy odpoví správnou (aktuální) IP adresou.

  Poznámka: Pokud jsou obě uvedené volby vypnuty, pak DNS forwarder předává všechny dotazy jiným DNS serverům.

Lokální DNS doména

  Do pole Při prohledávání souboru 'hosts' nebo tabulky přidělených adres kombinovat jméno s touto doménou je třeba zadat jméno lokální DNS domény.

  Jestliže počítač nebo síťové zařízení vysílá požadavek na přidělení IP adresy, vkládá do něj pouze své jméno (doménu v tomto okamžiku ještě nezná). V tabulce adres přidělených DHCP serverem jsou proto uložena pouze jména počítačů bez domény. Aby DNS forwarder dokázal správně zodpovídat dotazy na plně kvalifikovaná lokální DNS jména (tj. jména včetně domény), musí znát jméno lokální domény.

  Poznámka: Je-li v DNS forwarderu zadána lokální doména, pak mohou být v systémovém souboru `hosts` uvedena lokální jména včetně domény nebo bez ní — v obou případech budou dotazy zodpovídány správně.

  Pro snazší pochopení uveďme jednoduchý příklad.

  ### Příklad

  Lokální doména má jméno `firma.cz`. V lokální síti je počítač se jménem `honza` nastavený pro automatickou konfiguraci IP adresy z DHCP serveru. Po startu operačního systému vyšle tento počítač DHCP požadavek obsahující jméno stanice `honza`. DHCP server mu přidělí IP adresu `192.168.1.56`. Ve své tabulce uchová informaci o tom, že tato IP adresa byla přidělena stanici se jménem `honza`.

  Jiný počítač, který bude chtít s tímto počítačem komunikovat, vyšle dotaz na jméno `honza.firma.cz` (jedná se o počítač `honza` v doméně `firma.cz`). Kdyby DNS forwarder neznal jméno lokální domény, předal by tento dotaz na jiný DNS server (dle nastavení — viz výše), protože by nerozpoznal, že se jedná o lokální počítač. Takto však může lokální doménu `firma.cz` oddělit a jméno `honza` s příslušnou IP adresou nalezne v tabulce DHCP serveru.

Předchozí | Nahoru | Další
Kapitola 8 Nastavení síťových služeb | Obsah | 8.2 DHCP server