Jmenné servery Žák popíše pojmenování počítačů v síti, vysvětlí jednotný systém pojmenování počítačů v síti, vysvětlí způsob fungování DNS, popíše nastavení klienta a serveru, DNS cache a prohledávání záznamů. Klíčové pojmy: Soubor /etc/hosts, NIS - Network Information System, hosts, DNS – Domain Name System, resolver, jednotný systém jmen počítačů, doména, tématické a geografické domény, fiktivní doména, doménové jméno, doménová adresa, IP adresa v textovém tvaru, primární (autoritativní) server, sekundární server, pomocný server (caching only), řešení dotazu, rekurzivní řešení dotazu, nerekurzivní řešení dotazu, kanonické jméno, aliasy, reverzní dotazy, konfigurace klienta, nastavení serveru, zónové soubory, zdrojové záznamy (resource records), typy zdrojových záznamů, DNS cache, doba uložení záznamu, prohledávání záznamu, nslookup
Pojmenování počítačů v sítích Adresace hostitelů v sítích na bázi protokolu TCP/IP (IPv4) se provádí pomocí 32 bitových čísel. Počítačům se však pro snadnější zapamatování dávají „klasická“ jména. S tímto mapováním jmen na IP adresy vznikla potřeba vést aktuální seznam jmen strojů a jejich adres. V malých sítích čítajících několik počítačů se vystačilo se souborem /etc/hosts (používaným v unixových systémech, na windows se jedná o soubor c:\WINDOWS\system32\drivers\etc\hosts nebo soubor tomu podobný v jiných systémech), který se zkopíroval na jednotlivé počítače. Příklad formátu souboru hosts: # Copyright (c) 1993-1999 Microsoft Corp. # Toto je ukázka souboru HOSTS používaného službou Microsoft TCP/IP for # Windows. # # Soubor obsahuje mapování adres IP na názvy hostitelů. Každá položka # by měla být na jednom řádku. Adresa IP by měla být umístěna # v prvním sloupci a měla by být následována odpovídajícím názvem # hostitele. # Adresa IP a název hostitele by měly být odděleny nejméně jednou # mezerou. # # Komentáře (jako například tento) lze vkládat na jednotlivé řádky # nebo za název hostitele, komentář je určen znakem '#'. #
16. 5. 2012
Jmenné servery
1/16
# Příklad: # # 102.54.94.97 # 38.25.63.10 127.0.0.1
rhino.acme.com x.acme.com
# zdrojový server # hostitel klientů x
localhost
NIS - Network Information System U větších sítí je nutné takovou databázi spravovat centrálně. Tento problém řešil systém NIS firmy SUN Microsystems (známý také jako YP - Yellow Pages), který ukládá soubor hosts (spolu s dalšími informacemi) do databáze na hlavním hostiteli, odkud si ho mohou klienti zkopírovat. Tento přístup se však hodí pouze pro malé a středně velké sítě. Při větším počtu hostitelů dochází k velkému zatížení spojeného s přenosem souboru hosts a navíc při jakékoliv změně se musí aktualizovat seznam na centrálním počítači. V roce 1984 však přišel Paul Mockapetris s návrhem systému, který řešil oba tyto problémy. Jednalo se o systém DNS.
DNS – Domain Name System Jeho hlavním úkolem je vzájemný převod doménových jmen a IP adres, v průběhu let ale přibral další funkce (např. pro elektronickou poštu či IP telefonii) a slouží dnes de facto jako distribuovaná databáze síťových informací. Jedná se o ryze distribuovaný systém, jehož jednotlivé části jsou spravovány lokálně. DNS je založen na principu klient – server. Server udržuje databáze jmen, adres a dalších informací. Klient, pro kterého se zde používá název resolver (řešitel), vznese dotaz ke svému lokálnímu serveru a získá buď odpověď, nebo odkaz na jiný server, který je blíže řešení dotazu. V druhém případě musí klient svůj dotaz zopakovat.
Jednotný systém jmen počítačů Jména počítačů jsou složena z částí, zvaných domény. Tyto domény jsou uspořádány do stromu, jehož kořenem je fiktivní (neexistující) doména označovaná tečkou. Jejími bezprostředními potomky jsou tak zvané domény první úrovně. Domény první úrovně se dělí do dvou skupin: tématické a geografické. Členění uvnitř domény určují její správci. Každá doména má svého správce, který stanoví zdejší pravidla a dbá na jejich dodržování. Jednotlivé části (subdomény) mohou mít až 63 znaků a skládat se mohou až do celkové délky doménového jména 255 znaků. Doména může mít až 127 úrovní. Tématické domény Pocházejí z počátku internetu. Autoři DNS se snažili, aby doména charakterizovala instituci, ke které se váže. Mezi tématické domény patří: edu – školství com – komerční firma gov – vláda mil – armáda net – síťové instituce org – ostatní, převážně nevládní a neziskové organice
16. 5. 2012
Jmenné servery
2/16
Geografické domény Jsou tvořeny dvěma písmeny, která představují konkrétní stát: cz, sk, de, us… Doménové jméno (doménová adresa, IP adresa v textovém tvaru) Je to posloupnost názvů jednotlivých domén, které jsou navzájem oddělené tečkami. Jsou uspořádány od nejkonkrétnějších (názvu počítače) k nejobecnějším. Ke každé adrese existuje číselná IP adresa. Jedna IP adresa může mít několik doménových jmen. www.seznam.cz mapy.seznam.cz www.zive.cz Doména prvního řádu: CZ Doména druhého řádu: SEZNAM, ZIVE Doména třetího řádu: WWW, MAPY Každá doména má nejen svého správce, ale také server, který definuje situaci v ní. Servery lze rozdělit na: • Primární – určuje obsah domény. Obsahuje datové soubory, které správce při zásazích do domény mění. Jako jediný je udržován ručně a musí být pro každou doménu právě jeden. Jeho odpovědi jsou brány za správné (v DNS se používá termín autoritativní). • Sekundární – server slouží jako záloha primárního. Také tento server je považován za autoritativní pro danou doménu. Server nemá právo obsah domény měnit. Jeho náplní práce je v pravidelných intervalech kontrolovat stav primárního serveru. Pokud na něm nalezne novější data, zkopíruje je k sobě. Pro každou doménu musí existovat alespoň jeden sekundární server. • Pomocný (caching only) – poskytuje neautoritativní odpovědi. Jeho činnost spočívá v tom, že si pamatuje odpovědi na dotazy, které jím prošly. Jestliže se později zopakuje stejný dotaz, nepředává jej dál, ale rovnou poskytuje zapamatovanou odpověď, která je ovšem bez záruky. Tuto činnost vykonává každý server. Je-li primárním či sekundárním pro některé domény, je zároveň pomocným pro všechny ostatní.
Řešení dotazu Každý koncový počítač má ve své konfiguraci síťových parametrů obsaženu i adresu lokálního DNS serveru, na nějž se má obracet s dotazy. V operačních systémech odvozených od Unixu je obsažena v souboru /etc/resolv.conf, v MS Windows ji najdete ve vlastnostech protokolu TCP/IP. Pokud počítač hledá určitou informaci v DNS (např. IP adresu k danému jménu), obrátí se s dotazem na tento lokální server. Každý DNS server má ve své konfiguraci uvedeny IP adresy kořenových serverů (autoritativních serverů pro kořenovou doménu – „.“). Obrátí se tedy s dotazem na některý z nich. Kořenové servery mají autoritativní informace o kořenové doméně. Konkrétně znají všechny existující domény nejvyšší úrovně a jejich autoritativní servery. Dotaz je tedy následně směrován na některý z autoritativních serverů domény nejvyšší úrovně, v níž se nachází cílové jméno. Ten je opět schopen poskytnout informace o své doméně a posunout řešení o jedno patro dolů v doménovém stromě. Tímto
16. 5. 2012
Jmenné servery
3/16
způsobem řešení postupuje po jednotlivých patrech doménové hierarchie směrem k cíli, až se dostane k serveru autoritativnímu pro hledané jméno, který pošle definitivní odpověď. Získávání informací z takového systému probíhá rekurzí. Resolver (program zajišťující překlad) postupuje od kořene postupně stromem směrem dolů, dokud nenalezne autoritativní záznam o hledané doméně. Jednotlivé DNS servery jej postupně odkazují na autoritativní DNS pro jednotlivé části jména. Př.: Postup hledání IP adresy ke jménu www.wikipedia.org: 1. Uživatel zadal do svého WWW klienta doménové jméno www.wikipedia.org. Resolver v počítači se obrátil na lokální DNS server s dotazem na IP adresu pro www.wikipedia.org. 2. Lokální DNS server tuto informaci nezná. Má však k dispozici adresy kořenových serverů. Na jeden z nich se obrátí (např. na 193.0.14.129) a dotaz mu přepošle. 3. Kořenový server také nezná odpověď. Ví však, že existuje doména nejvyšší úrovně org, a jaké jsou její autoritativní servery, jejichž adresy tazateli poskytne. 4. Lokální server jeden z nich vybere (nppř. zvolí tld1.ultradns.net s IP adresou 204.74.112.1) a pošle mu dotaz na IP adresu ke jménu www.wikipedia.org. 5. Oslovený server informaci opět nezná, ale poskytne IP adresy autoritativních serverů pro doménu wikipedia.org. Jsou to ns0.wikimedia.org (207.142.131.207), ns1.wikimedia.org (211.115.107.190) a ns2.wikimedia.org (145.97.39.158). 6. Lokální server opět jeden z nich vybere a pošle mu dotaz na IP adresu ke jménu www.wikipedia.org. 7. Jelikož toto jméno se již nachází v doméně wikipedia.org, dostane od jejího serveru nepochybně autoritativní odpověď, že hledaná IP adresa zní 145.97.39.155 8. Lokální DNS server tuto odpověď předá uživatelskému počítači, který se na ni ptal.
Postup hledání IP adresy ke jménu www.wikipedia.org
Výše popsaný postup popisuje kompletní řešení daného dotazu. Může se ale stát, že některý z oslovených serverů má hledanou informaci ve své vyrovnávací paměti, protože odpovídající dotaz nedávno řešil. V takovém případě poskytne neautoritativní odpověď z vyrovnávací paměti a další dotazování odpadá. Ve vyrovnávací paměti mohou být i mezivýsledky - například lokální DNS server v ní 16. 5. 2012
Jmenné servery
4/16
skoro jistě bude mít informaci o autoritativních serverech pro doménu org, protože v ní pravděpodobně hledá každou chvíli. V takovém případě by vypadly kroky 2 a 3 a lokální server by se s dotazem rovnou obrátil na některý z autoritativních serverů domény org. Stojí za povšimnutí, že oslovené servery v popsaném příkladu vykazují dva odlišné druhy chování. Při rekurzivním řešení dotazu se server chopí vyřízení dotazu, najde odpověď a pošle ji tazateli. Rekurzivní přístup server zatěžuje (musí sledovat postup řešení, ukládat si mezivýsledky apod.), ale projde jím odpověď a tu si může uložit do vyrovnávací paměti. Typicky se tak chovají lokální servery, aby si plnily vyrovnávací paměti a mohly dalším tazatelům poskytovat odpovědi rovnou. Při nerekurzivním řešení dotazu server dotaz neřeší, pouze poskytne tazateli adresy dalších serverů, jichž se má ptát dál. Takto se chovají servery ve vyšších patrech doménové hierarchie (kořenové a autoritativní servery TLD), které by rekurzivní chování kapacitně nezvládaly. V příkladu výše se rekurzivně choval lokální server, zatímco autoritativní servery pro kořenovou doménu a doménu org se chovaly nerekurzivně (což odpovídá realitě).
Souvislost se strukturou sítě DNS nemá vůbec nic společného se strukturou sítě či IP adres. Každá instituce, která se připojí do internetu, dostane přidělenou IP adresu pro svou síť a doménu pro jména svých počítačů. Většina jmen z dané domény je pochopitelně přidělena počítačům sídlících ve firemní síti. Nic však nebrání tomu, aby správce přidělil jméno své domény počítači, který je fyzicky umístěn úplně jinde (třeba v Kamerunu) a který tudíž sídlí v jiné síti. Stejným jménem může být označeno několik adres, pokud se jedná o různá rozhraní stejného stroje. Naopak jedno rozhraní může mít několik jmen. Díky této možnosti se vžilo označování význačných serverů v doméně podle služeb, které poskytují. Například FTP server nese název ftp.sspbrno.cz, www server bude www.sspbrno.cz atd. Přitom se může jednat stále o tentýž počítač. Ve skupině jmen pro jednu IP adresu musí být právě jedno to pravé – kanonické. Ostatní jsou pak zaváděna jako přezdívky – aliasy pro toto jméno.
Reverzní dotazy Nejběžnějším úkolem DNS je poskytnout informace (nejčastěji IP adresu) pro zadané doménové jméno. Dovede ale i opak – sdělit jméno, pod kterým je daná IP adresa zaregistrována. Při vkládání dat pro zpětné dotazy bylo ale třeba vyřešit problém s opačným uspořádáním IP adresy a doménového jména. Zatímco IP adresa má na začátku obecné informace (adresu sítě), které se směrem doprava zpřesňují až k adrese počítače, doménové jméno má pořadí přesně opačné. Instituce připojená k Internetu typicky má přidělen začátek svých IP adres a konec svých doménových jmen. Tento nesoulad řeší DNS tak, že při reverzních dotazech obrací pořadí bajtů v adrese. K obrácené adrese pak připojí doménu in-addr.arpa a výsledné „jméno“ pak vyhledává standardním postupem. Hledá-li například jméno k IP adrese 16. 5. 2012
Jmenné servery
5/16
145.97.39.155, vytvoří dotaz na 155.39.97.145.in-addr.arpa. Obrácení IP adresy umožňuje delegovat správu reverzních domén odpovídajících sítím a podsítím správcům dotyčných sítí a podsítí. V příkladu použitou síť 145.97.0.0/16 spravuje nizozemský SURFnet a ten má také ve správě jí odpovídající doménu 97.145.inaddr.arpa. Kdykoli zavede do sítě nový počítač, může zároveň upravit data v reverzní doméně, aby odpovídala skutečné situaci. Je dobré mít na paměti, že na data z reverzních domén nelze zcela spoléhat. Do reverzní domény se v principu dají zapsat téměř libovolná jména. Nikdo například nemůže zabránit SURFnetu, aby o počítači 145.97.1.1 prohlásil v reverzní zóně, že se jedná třeba o www.seznam.cz. Pokud na tom záleží, je záhodno si poskytnutou informaci ověřit normálním dotazem (zde nalézt IP adresu k www.seznam.cz a porovnat ji s 145.97.1.1). Jestliže odpovědí na něj bude původní IP adresa, jsou data důvěryhodná – správce klasické i reverzní domény tvrdí totéž. Pokud se liší, znamená to, že data v reverzní doméně jsou nekorektní. Některé poštovní servery odmítají přijímat poštu od počítačů s nekorektními DNS záznamy. Pro zjišťování jen názvů domén lze využít zkrácený tvar pro zpětný převod. Adresy musí být zadávány v „třídní adresaci“, tj. počet složek podle tříd. Př.: A11.in-addr-arpa B129.16.in-addr-arpa C199.12.8.in-addr-arpa
Konfigurace klienta Adresu lokálního serveru počítač typicky obdrží prostřednictvím DHCP. Konfigurace klienta v Unixu Konfigurace se zapisuje do souboru /etc/resolv.conf. Pokud soubor resolv.conf neexistuje nebo je prázdný, předpokládá se, že jmenný server je umístěn na hostiteli. Do souboru /etc/resolv.conf lze zapisovat tyto údaje: • domain doména - jméno domény, ve které se nachází počítač. • nameserver IP_adresa - pro každý name server jeden řádek (max 3). Není-li uveden, předpokládá se, že name server je na lokálním počítači • search doména1 doména2 ... Při dotazu na relativní jméno (na konci bez tečky) se postupně při hledání připojují uvedená jména domén. Implicitně se rozšiřuje o doménu podle pole domain. příklad: #konfigurace resolveru DNS #naše doména domain bridge.org nameserver 191.120.1.1 nameserver 194.105.22.1
V souboru /etc/hosts je třeba nastavit odkaz na sebe, tedy: 127.0.0.1
lo
localhost
localhost.localdomain
Některým verzím Unixu je třeba přikázat, aby začaly DNS používat. V případě Linuxu je třeba upravit soubor /etc/host.conf. Nejdůležitější položkou je řádek začínající slovem order. Určuje, v jakém pořadí budou používány jednotlivé způsoby pro převod mezi IP a adresou. Platnými hodnotami jsou bind (DNS), hosts (/etc/hosts) a nis (NIS). Například: order bind hosts
16. 5. 2012
Jmenné servery
6/16
Konfigurace klienta ve Windows Postup, jak se dostat k nastavení sítě: Ovládací panely – Síťová připojení - Připojení k místní síti – Protokol sítě Internet (TCP/IP)
Nastavení DNS ve Windows
Podrobnější nastavení lze provést stisknutím tlačítka Upřesnit
Nastavení DNS ve Windows
16. 5. 2012
Jmenné servery
7/16
Nastavení DNS ve Windows
Nastavení serveru: Pro nastavení se používají zónové soubory.
Zónové soubory Obsah zóny (domény či několika domén) je uložen v tzv. zónovém souboru. Skládá se z jednotlivých záznamů (přesný název zní zdrojové záznamy – resource records) obsahujících dílčí informace. Jejich názvy a nesené informace jsou přesně definovány v příslušných dokumentech, většina v RFC 1035. Formát textového zápisu zónového souboru se liší v závislosti na použitém serveru, zde je ukázán formát nejrozšířenějšího jmenného serveru BIND. Záznamy v něm mají tvar: jméno životnost třída typ parametry • jméno je doménové jméno, pro něž je záznam vytvářen. Zpravidla patří do aktuálně definované domény, pak se píše jen samotné jméno bez tečky na konci a bude k němu doplněna aktuální doména. Pokud je jméno ukončeno tečkou, nic se k němu nedoplňuje a bere se jako kompletní. Nemusí být uvedeno, pak se přebírá z předchozího záznamu. • životnost určuje dobu platnosti záznamu v sekundách. Většinou se neuvádí a záznamům se ponechává implicitní životnost. Umožňuje však udělat výjimku. • třída určuje rodinu protokolů, k níž se záznam vztahuje. DNS lze teoreticky používat i pro jiné síťové architektury, v praxi však třída vždy bývá IN, což znamená Internet. • typ určuje typ definovaného záznamu (viz níže). • parametry se vztahují k typu záznamu, poskytují mu potřebná data. Obsahem parametrů často bývají doménová jména. Je třeba zdůraznit, že v parametrech
16. 5. 2012
Jmenné servery
8/16
se smí vyskytovat jen skutečná jména, nikoli přezdívky zavedené pomocí CNAME (viz níže). Zónový soubor vždy musí začínat záznamem typu SOA. Typy záznamů Nejčastěji používané jsou následující typy zdrojových záznamů (v abecedním pořadí): • A (address record) obsahuje IPv4 adresu přiřazenou danému jménu, například když jménu cosi.kdesi.cz náleží IP adresa 1.2.3.4, bude zónový soubor pro doménu kdesi.cz obsahovat záznam cosi
IN
A
1.2.3.4
cosi
IN
AAAA
www
IN
CNAME
cosi
IN IN
MX MX
10 mail 20 mail.jinde.cz.
IN IN
NS NS
ns ns.jinde.cz.
IN
PTR
• AAAA (IPv6 address record) obsahuje IPv6 adresu. Zmíněnému stroji se IPv6 adresa 2001:718:1c01:1:02e0:7dff:fe96:daa8 přiřadí záznamem 2001:718:1c01:1:02e0:7dff:fe96:daa8
• CNAME (canonical name record) je alias - jiné jméno pro jméno již zavedené. Typicky se používá pro servery známých služeb, jako je například WWW. Jeho definice pomocí přezdívky umožňuje jej později snadno přestěhovat na jiný počítač. Pokud počítač cosi.kdesi.cz má sloužit zároveň jako www.kdesi.cz, vloží se do zónového souboru cosi
• MX (mail exchange record) oznamuje adresu a prioritu serveru pro příjem elektronické pošty pro danou doménu. Tentokrát jsou parametry dva priorita (přirozené číslo, menší znamená vyšší prioritu) a doménové jméno serveru. Pokud poštu pro počítač cosi.kdesi.cz přijímá nejlépe počítač mail.kdesi.cz a případně jako záložní i mail.jinde.cz, bude zónový soubor obsahovat záznamy (příkladu je důležité si všimnout použití jmen s tečkou a bez tečky) • NS (name server record) ohlašuje jméno autoritativního DNS serveru pro danou doménu. Bude-li mít doména kdesi.cz poddoménu obchod.kdesi.cz, jejímiž servery budou ns.kdesi.cz (primární) a ns.jinde.cz (sekundární), bude zónový soubor pro kdesi.cz obsahovat obchod
• PTR (pointer record) je speciální typ záznamu pro reverzní zóny. Obsahuje na pravé straně jméno počítače přidělené adrese na straně levé (adresa je transformována na doménu výše popsaným postupem). Zde je použit protiklad výše uvedeného příkladu pro záznam typu A - v souladu s ním by zónový soubor pro doménu 3.2.1.in-addr.arpa měl obsahovat (zónový soubor definuje reverzní doménu, proto je třeba psát na pravé straně kompletní jméno s tečkou, jinak by za ně připojil reverzní doménu) 4
cosi.kdesi.cz.
• SOA (start of authority record) je zahajující záznam zónového souboru. Obsahuje jméno primárního serveru, adresu elektronické pošty jejího správce (zavináč je v ní ale nahrazen tečkou) a následující údaje: o Serial — sériové číslo, které je třeba zvětšit s každou změnou v záznamu. Podle něj sekundární server pozná, že v doméně došlo ke změně. Pokud jej správce zapomene zvětšit, rozejde se obsah sekundárních serverů s primárním, což vede k problémům 16. 5. 2012
Jmenné servery
9/16
o o o o
s nekonzistencí (někteří klienti dostávají odpověď od primárního serveru, jiní jinou odpověď od sekundárního, přičemž obě odpovědi jsou považovány za autoritativní). Pro přehlednost často ve formátu YYYYMMDDHH. Refresh — jak často se má sekundární server dotazovat na novou verzi zóny (v sekundách). Retry — v jakých intervalech má sekundární server opakovat své pokusy, pokud se mu nedaří spojit s primárním. Expire — čas, po kterém označí sekundární servery své záznamy za neaktuální, pokud se jim nedaří kontaktovat primární server. TTL — implicitní doba platnosti záznamů.
Časové údaje jsou v sekundách. Novější implementace umožní pro vyšší pohodlí používat k číslům přípony 'M','H','D' a 'W' (minuta, hodina, den, týden) – například 8h znamená 8 hodin, čili totéž co hodnota 28800. Podívejme se na příklad SOA záznamu: @
IN
SOA
ns.kdesi.cz. 200605140 1h 5m 1w 1d )
franta.kdesi.cz. (
Speciální znak @ v názvu domény si BIND nahradí jménem domény, kterou soubor popisuje. Příklad zónového souboru Zde jsou dány dohromady lehce upravené úseky popsané výše do příkladu zónového souboru pro fiktivní doménu kdesi.cz. O takovýto záznam se stará správce (majitel) domény a má možnost jej měnit. $TTL 1w @
cosi server www
IN
SOA
IN IN
NS NS
server.kdesi.cz. 200605140 1h 5m 1w 1d ) server ns.jinde.cz.
IN IN
MX MX
10 server 20 mail.jinde.cz.
IN IN IN IN
A AAAA A CNAME
franta.kdesi.cz. (
1.2.3.4 2001:718:1c01:1:02e0:7dff:fe96:daa8 1.2.3.1 server
V příkladu je uvedena implicitní životnost jeden týden, dále SOA záznam popsaný výše, určující, že se záznam týká domény kdesi.cz, jejíhož správce je možné kontaktovat na emailu
[email protected]. Následují odkazy na dva DNS servery, které o doméně poskytují autoritativní informace – jeden místní a druhý externí. Dále MX záznamy, určující kam se bude doručovat elektronická pošta pro tuto doménu. 16. 5. 2012
Jmenné servery
10/16
Další dva řádky obsahují A a AAAA záznamy určující adresy počítače cosi.kdesi.cz. Za nimi je definována IPv4 adresa pro server.kdesi.cz a konečně je mu přidělena přezdívka www.kdesi.cz.
DNS cache Téměř každý DNS server funguje zároveň jako DNS cache. Při opakovaných dotazech pak nedochází k prohledávání celého stromu, ale odpověď je získána lokálně. V DNS záznamech je totiž uložena i informace, jak dlouho lze záznam používat (TTL) a lze také zjistit, zda byl záznam změněn. Po vypršení platnosti je záznam z DNS cache odstraněn. Doba uložení záznamu Problém s uložením záznamů v cache nastává v případě změny záznamu. Pokud administrátor nastaví TTL na 6 hodin, a poté provede změnu záznamu, nastane situace, že někteří uživatelé sítě dostanou informaci již novou a někteří ještě starou. Tato situace bude trvat právě oněch 6 hodin, v závislosti na nastavení ostatních serverů a také v závislosti na době, která uplynula od jejich posledního dotazu. Je proto nutné zvolit správný poměr mezi rychlostí šíření změn a ušetřeným výkonem a přenosovým pásmem DNS serveru. Pokud se změny provádí často, je vhodné zvolit kratší TTL v řádu jednotek hodin, pokud se změny téměř neprovádějí, může být TTL ve dnech.
Prohledávání záznamů Program nslookup je považován za zastaralý nástroj. Obsahuje chyby, které již nikdo neopravuje a nahradil ho program dig (domain information groper). Nicméně program nslookup je přítomen v základní instalaci Windows XP (a příbuzných systémů), proto se jeho ovládání stále může hodit.
Nslookup Používá se ve windows i v unixu Pro prověření stavu DNS v jakékoliv doméně slouží příkaz nslookup. Jeho prostřednictvím je možné pokládat dotazy pro informace obsažené v zónových souborech. IP adresa k danému jménu se zjistí jednoduše příkazem nslookup jmeno Příklad: nslookup ftp.tul.cz Server: neptun.spsselib.hiedu.cz Address: 194.108.45.33 Non-authoritative answer: Name: obelix.tul.cz Address: 147.230.16.8 Aliases: ftp.tul.cz nslookup 147.230.16.8 Server: neptun.spsselib.hiedu.cz Address: 194.108.45.33
16. 5. 2012
Jmenné servery
11/16
Non-authoritative answer: Name: obelix.tul.cz Address: 147.230.16.8
Pro rozsáhlejší průzkum DNS, spustit nslookup bez parametrů. V takovém případě program ohlásí server, kterého se bude dotazovat a zobrazí výzvu ve formě znaku „>“. Pak lze zadávat příkazy: • host [server] najde informaci o hostiteli u defaultního serveru nebo uvedeného serveru • ls [options] domain vypíše dostupné informace o doméně • set keyword[=value] změní nastavení pro vyhledávání • help | ? • exit ukončení práce Práce v interaktivním režimu programu nslookup nslookup Default Server: neptun.spsselib.hiedu.cz Address: 194.108.45.33 > www.whitehouse.gov Server: neptun.spsselib.hiedu.cz Address: 194.108.45.33 Name: www.whitehouse.gov Addresses: 198.137.240.91, 198.137.240.92 > 147.230.16.1 Server: neptun.spsselib.hiedu.cz Address: 194.108.45.33 Name: bubo.tul.cz Address: 147.230.16.1 > set type=SOA > spsselib.hiedu.cz Server: neptun.spsselib.hiedu.cz Address: 194.108.45.33 spsselib.hiedu.cz origin = neptun.spsselib.hiedu.cz mail addr = hostmaster.neptun.spsselib.hiedu.cz serial = 99010700 refresh = 28800 (8H) retry = 7200 (2H) expire = 3600000 (5w6d16h) minimum ttl = 259200 (3D) spsselib.hiedu.cz nameserver = neptun.spsselib.hiedu.cz spsselib.hiedu.cz nameserver = bubo.tul.cz spsselib.hiedu.cz nameserver = jonas.hiedu.cz neptun.spsselib.hiedu.cz internet address = 194.108.45.33 bubo.tul.cz internet address = 147.230.16.1 jonas.hiedu.cz internet address = 194.108.211.66 > set type=MX > spsselib.hiedu.cz Server: neptun.spsselib.hiedu.cz Address: 194.108.45.33
16. 5. 2012
Jmenné servery
12/16
spsselib.hiedu.cz preference = 100, mail exchanger = adis.cesnet.cz spsselib.hiedu.cz preference = 200, mail exchanger = vscht.vscht.cz spsselib.hiedu.cz preference = 0, mail exchanger = neptun.spsselib.hiedu.cz spsselib.hiedu.cz preference = 50, mail exchanger = bubo.tul.cz spsselib.hiedu.cz nameserver = neptun.spsselib.hiedu.cz spsselib.hiedu.cz nameserver = bubo.tul.cz spsselib.hiedu.cz nameserver = jonas.hiedu.cz adis.cesnet.cz internet address = 194.50.6.3 vscht.vscht.cz internet address = 147.33.1.1 neptun.spsselib.hiedu.cz internet address = 194.108.45.33 bubo.tul.cz internet address = 147.230.16.1 jonas.hiedu.cz internet address = 194.108.211.66 > set q=any > spsselib.hiedu.cz Server: neptun.spsselib.hiedu.cz Address: 194.108.45.33 spsselib.hiedu.cz nameserver = neptun.spsselib.hiedu.cz spsselib.hiedu.cz nameserver = bubo.tul.cz spsselib.hiedu.cz nameserver = jonas.hiedu.cz spsselib.hiedu.cz text = "Secondary technical school in Liberec" spsselib.hiedu.cz preference = 100, mail exchanger = adis.cesnet.cz spsselib.hiedu.cz preference = 200, mail exchanger = vscht.vscht.cz spsselib.hiedu.cz preference = 0, mail exchanger = neptun.spsselib.hiedu.cz spsselib.hiedu.cz origin = neptun.spsselib.hiedu.cz mail addr = hostmaster.neptun.spsselib.hiedu.cz serial = 99010700 refresh = 28800 (8H) retry = 7200 (2H) expire = 3600000 (5w6d16h) minimum ttl = 259200 (3D) spsselib.hiedu.cz preference = 50, mail exchanger = bubo.tul.cz spsselib.hiedu.cz nameserver = neptun.spsselib.hiedu.cz spsselib.hiedu.cz nameserver = bubo.tul.cz spsselib.hiedu.cz nameserver = jonas.hiedu.cz neptun.spsselib.hiedu.cz internet address = 194.108.45.33 bubo.tul.cz internet address = 147.230.16.1 jonas.hiedu.cz internet address = 194.108.211.66 adis.cesnet.cz internet address = 194.50.6.3 vscht.vscht.cz internet address = 147.33.1.1 > prum.spsselib.hiedu.cz Server: neptun.spsselib.hiedu.cz Address: 194.108.45.33 prum.spsselib.hiedu.cz CPU = PC 586 OS = NOVELL 4.11 prum.spsselib.hiedu.cz preference = 100, mail exchanger = adis.cesnet.cz prum.spsselib.hiedu.cz preference = 200, mail exchanger = vscht.vscht.cz prum.spsselib.hiedu.cz preference = 0, mail exchanger = neptun.spsselib.hiedu.cz
16. 5. 2012
Jmenné servery
13/16
prum.spsselib.hiedu.cz preference = 50, mail exchanger = bubo.tul.cz prum.spsselib.hiedu.cz internet address = 194.108.45.131 spsselib.hiedu.cz nameserver = neptun.spsselib.hiedu.cz spsselib.hiedu.cz nameserver = bubo.tul.cz spsselib.hiedu.cz nameserver = jonas.hiedu.cz adis.cesnet.cz internet address = 194.50.6.3 vscht.vscht.cz internet address = 147.33.1.1 neptun.spsselib.hiedu.cz internet address = 194.108.45.33 bubo.tul.cz internet address = 147.230.16.1 jonas.hiedu.cz internet address = 194.108.211.66 > exit
Výpis domény antik-fryc.cz Výpis domény si musíme vyžádat od nameserverů příslušné domény. Proto nejprve zjistíme, které to jsou, a pak se na jeden z nich přepneme. Zadáním příkazu ls -d lze získat podrobnější výpis. nslookup Default Server: neptun.spsselib.hiedu.cz Address: 194.108.45.33 > set q=any > antik-fryc.cz Server: neptun.spsselib.hiedu.cz Address: 194.108.45.33 antik-fryc.cz origin = book.antik-fryc.cz mail addr = Admin.antik-fryc.cz serial = 98110300 refresh = 28800 (8H) retry = 3600 (1H) expire = 1209600 (2W) minimum ttl = 86400 (1D) antik-fryc.cz nameserver = book.antik-fryc.cz antik-fryc.cz nameserver = bubo.tul.cz antik-fryc.cz text = "Knihkupectvi a antikvariat Jaroslav Fryc" antik-fryc.cz preference = 10, mail exchanger = bubo.tul.cz antik-fryc.cz preference = 20, mail exchanger = adis.cesnet.cz antik-fryc.cz preference = 0, mail exchanger = book.antik-fryc.cz antik-fryc.cz nameserver = book.antik-fryc.cz antik-fryc.cz nameserver = bubo.tul.cz book.antik-fryc.cz internet address = 194.212.169.130 bubo.tul.cz internet address = 147.230.16.1 adis.cesnet.cz internet address = 194.50.6.3 > server book.antik-fryc.cz Default Server: book.antik-fryc.cz Address: 194.212.169.130 > ls antik-fryc.cz [book.antik-fryc.cz] ORIGIN antik-fryc.cz. pc3 bara pc4 pc5 gw alena pc6 book
16. 5. 2012
1D 1D 1D 1D 1D 1D 1D 1D
IN IN IN IN IN IN IN IN
A A A A A A A A
194.212.169.133 194.212.169.140 194.212.169.134 194.212.169.135 194.212.169.129 194.212.169.136 194.212.169.137 194.212.169.130
Jmenné servery
14/16
localhost pc1 pc2 > exit
1D IN A 1D IN A 1D IN A
127.0.0.1 194.212.169.131 194.212.169.132
Reverzní převod IP adresy na jméno nslookup Default Server: neptun.spsselib.hiedu.cz Address: 194.108.45.33 > 62.168.7.194 Server: neptun.spsselib.hiedu.cz Address: 194.108.45.33 *** neptun.spsselib.hiedu.cz can't find 62.168.7.194: Non-existent host/domain > set q=any > 7.168.62.in-addr.arpa Server: neptun.spsselib.hiedu.cz Address: 194.108.45.33 Non-authoritative answer: 7.168.62.in-addr.arpa origin = ns.ebanka.cz mail addr = dpikalek.expandia.com serial = 1998103003 refresh = 10800 (3H) retry = 1800 (30M) expire = 604800 (1W) minimum ttl = 86400 (1D) Authoritative answers can be found from: 62.in-addr.arpa nameserver = NS.RIPE.NET 62.in-addr.arpa nameserver = NS.EU.NET 62.in-addr.arpa nameserver = AUTH03.NS.UU.NET NS.RIPE.NET internet address = 193.0.0.193 NS.EU.NET internet address = 192.16.202.11 AUTH03.NS.UU.NET internet address = 198.6.1.83 > exit
Kontrolní otázky Co je hlavním úkolem DNS? Co je znamená pojem resolver? Co je to doména? Co je to fiktivní doména? Co je to doméno jméno? Co je to doména první úrovně? Jaký je rozdíl mezi primárním (autoritativním serverem) a sekundárním serverem? Jakou funkci má pomocný server? Vysvětlete, jak počítač hledá informaci v DNS. Jak se liší rekurzivní a nerekurzivní řešení dotazu? Co jsou to aliasy? Co jsou to zónové soubory? Co je to DNS cache? Co je to nslookup?
16. 5. 2012
Jmenné servery
15/16
Použitá literatura Analýza DNS programem dig [online]. poslední revize 18. 10 2009 [cit. 2012-04-16]. Dostupný z < http://www.pslib.cz/ke/Anal%C3%BDza_DNS_programem_dig> Analýza DNS programem nslookup [online]. poslední revize 11. 5 2011 [cit. 2012-04-16]. Dostupný z
Domain Name System - Wikipedie [online]. poslední revize 15. 4 2012 [cit. 2012-04-16]. Dostupný z DNS [online].[cit. 2012-04-16]. Dostupný z SATRAPA, P. – RANDUS, J. LINUX – Internet server, 2.vyd.upravené Neokortex spol. r.o., 1998. 144s. ISBN 80-902230-3-6.
16. 5. 2012
Jmenné servery
16/16