Obsah
TOC \o "1-4" Jmenné servery PAGEREF _Toc500164355 \h 1
Úvod PAGEREF _Toc500164356 \h 1
Hierarchie doménových jmen PAGEREF _Toc500164357 \h 2
Zpětný převod adres PAGEREF _Toc500164358 \h 2
/etc/hosts PAGEREF _Toc500164359 \h 2
Konfigurace resolveru PAGEREF _Toc500164360 \h 3
Konfigurace jmenného serveru BIND PAGEREF _Toc500164361 \h 3
Databáze jmenného serveru PAGEREF _Toc500164362 \h 3
Spuštění DNS serveru PAGEREF _Toc500164363 \h 4
Zónové soubory PAGEREF _Toc500164364 \h 5
Časté chyby PAGEREF _Toc500164365 \h 6
nslookup PAGEREF _Toc500164366 \h 6
Pro převod jmen na IP adresy a naopak je k dispozici několik nástrojů, které se nazývají jmenné služby. Nejjednodušší z nich je tabulka obsažená v souboru /etc/hosts. Původně to byla jen jedna tabulka, která obsahovala všechny adresy sítě. Dnes je toto výhodné jen u malých samostatných sítí.
Pro sítě, které nejsou připojeny k Internetu je vhodný systém NIS. V rámci NIS - Síťového Informačního systému - tvoří tabulky sdílenou databázi, která je spravována jen na jednom serveru, a to na NIS serveru.
Síťový informační systém NIS poskytuje prostředky pro obecný přístup k databázím. Dřívější název Yellow Pages má pozůstatek v příkazech pro NIS server - YP např.: yppasswd, ypserv, ypbind, atd. Přepracovaný balík utilit pro NIS se nazývá NYS. Systém NIS uchovává databáze v tzv. mapách, které jsou odvozovány od textových souborů, jako je např /etc/passswd. Pro passwd jsou to mapy passwd.byname a passwd.byuid, pro /etc/hosts jsou to hosts.byname a hosts.byaddr. Některé mapy lze spouště zkrácenými jmény - aliasy. Např. passwd nahrazuje passwd.byname a pod. Jejich výpis dostaneme příkazem ypcat -x . Server NIS se tradičně nazývá ypserv.
Nejobecnější ze jmenných služeb je systém DNS (Domain Name Service). jedná se o distribuovaný jmenný systém. V tabulkách jmenných serverů se nachází jen údaje o vlastní doméně a cesta k nejbližšímu vyššímu jmennému serveru. Jeho implementace na Unixových stanicích je například BIND - Berclay Interenet Name Service.
Nameservery rozlišujeme
· registrované, které jsou dostupné z kořene stromu domén a
· neregistrované, které jsou dostupné obecně jen zevnitř domény.
Nameservery dělíme na
· primární
· sekundární
· cache-only
U Linuxu je obvykle pořadí služeb(podle host.conf):
nejdříve se ptá lokální tabulky hosts; při neúspěchu
převede dotaz na server NIS a pak teprve
se táže BIND.
Ke konfiguraci pořadí jmenných služeb je určen soubor /etc/host.conf. Uvedené pořadí odpovídá řádku
order hosts,nis,bind
dalšími klíčovými slovy souboru host.conf jsou
multi on|off zapnutí možnosti více adres pro hostitele
nospoof on|off pro kontrolu správnosti adres
trim doména pro odstranění jména domény z názvu
Nastavení v souboru v host.conf lze potlačit příkazy nebo nahradit tento soubor jiným. Soubor hosts se obvykle udržuje jako záloha. Pak pořadí je opačné
Systém doménových jmen DNS tvoří konzistentní strukturu. Kořen stromu jmen je kořenová doména, která nemá své specifické jméno - prázdný řetězec. Ze se mohou získat všechny údaje o nejvyšší úrovně. Serverů kořenové domény je 13. Jméno každé domény může mít maximálně 63 znaků 7mi bitového ASCII kódu.
Doménová jména nerozlišují malá a velká písmena.
V každé doméně může být zřízen jmenný server, který uchovává všechny informace o počítačích dané domény. Takový server je pro svou doménu autoritativní a také se tak jmenuje. Jiný název pro autoritativní servery je master name server neboli hlavní jmenný server, nebo primární resp. sekundární server. Ke zřízení potřebuje delegovanou autoritu od nadřízeného jmenného serveru. Pak mohou jmenné serveru spolu spolupracovat.
Jmenné servery uchovávají zjištěné IP adresy z jiných zón jen na přechodnou dobu.
Pro zpětný převod se na jmenném serveru vytváří pomocná doména in-addr.arpa; tato doména je invertovaným rejstříkem doménových jmen spořádaných podle hierarchie IP adres.
Např. na síti 191.120.0.0 je reverzní doména 120.191.in-addr.arpa.
Pořadí čísel v tečkové notaci musí být obrácený, tj. odpovídá doménové struktuře adres.
Některé anonymní FTP servery používají zpětný převod adres k identifikace klienta a pak neumožní přístup těm klientům, kteří nejsou ve zpětné tabulce, ve skutečnosti těm, kterým nefunguje převod IP=FQDN=IP.
je nejjednodušší způsob konverze názvů na IP adresy. Jeho nevýhodou je, že nevyužívá rozdělení autonomní oblasti do jednotlivých zón.
Resolver = klient DNS serveru. Resolver je soubor knihovních funkcí standardní knihovny jazyka C. Hlavními rutinami jsou procedury gethostbyname a gethostbyaddr, které vyhledávají adresy nebo jména. Přes rozhraní resolveru může kterýkoliv program využívat služeb jmenného serveru.
Uživatelský program,který volá funkce (v UNIXU) gethostbyname a gethostbyaddr, kterými je resolver implementován, se nemusí zabývat tím, zda daný počítač používá BIND nebo NIS a nebo jen tabulku /etc/hosts.
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.
· Kromě už výše zmíněných voleb v souboru /etc/host/conf
order
multi [on|off]
· je nutné v souboru /etc/resolv.conf pro Linux zapisovat ještě tyto údaje
domain doména jméno domény, ve které se nachází počítač. lze vypustit a zjistit systémovým voláním getdomainname
nameserver IP_adresa pro každý name server jeden řádek (max 3). Není-li uveden považuje 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 nastavit odkaz na sebe, tedy
127.0.0.1 lo localhost localhost.localdomain
BIND je službou typu klient - server. Klient se nazývá resolver. Nejčastěji používaný démon jmenného serveru pro jmenné služby je named (nejm-dý). Tento démon načte při startu několik souborů do vyrovnávací paměti a čeká na dotazy od uživatelů. Podrobnosti jsou v knize Cricket Liu: DNS a BIND.
Balík Bind-8.2.2_PS.rpm obsahuje uvedený démon a knihovny resolveru.
Každý jmenný server si vytváří svou databázi a to ze dvou zdrojů
· dotazovacím způsobem od sousedních počítačů. Tato databáze je uložena v OP - zásobníku a je uchovávaná jen dočasně (podle konfigurace té které zóny). Její tvorba trvá určitou dobu a proto musí DNS server běžet nepřetržitě. Údaje jsou v paměti až po dotazu na tuto adresu.
· je-li DNS server autoritativní pro určitou zónu pak se také vytváří z vlastních dat zóny
Pokud server získá data
· dotazováním jedná se o pasivní režim (server) DNS serveru.
· autoritativně jedná se o primární režim (server)
· zálohový server primárního se nazývá sekundární. Tento server v pravidelných intervalech (podle konfigurace zóny) načítá data z primárního serveru nebo po změně sériového čísla (nová verze) v zónových souborech
Server se musí napřed nastavit stejně jako resolver. Proto je nutné v souboru /etc/resolv.conf nastavit
nameserver 127.0.0.1
Démon named se spouští hned při startu serveru z rc skriptu.
Po spuštění si démon načte údaje z konfiguračního souboru /etc/named.boot (u verze 4), jinak ze souboru /etc/named/conf pokud není při spuštění uvedeno jinak. Automaticky se spouští na portu 53 pokud se nestanoví jinak. Syntaxe
named [-d uroven|-p port] [konfig_soubor]
Inicializační soubor /etc/named.boot obsahuje zejména odkazy na vlastní zónové soubory a jiné jmenné servery. Řádky v souboru začínají klíčovým slovem a následují parametry.
Klíčová slova jsou pro konfiguraci bind4 (poslední verze bind8 se poněkud liší)
directory pro každý adresář kde je zónový soubor
primary následován jménem domény a jménem autoritativního zónového souboru
secondary následován jménem domény a IP primárního serveru
cache používá se většinou u kořenové domény. Klíčové slovo je následováno jménem domény a jménem souboru, jehož obsah tvoří základ cache serveru. Tedy v prvním sloupci je jen "." - kořenová doména.
forwards soupis jmenných serverů pro dotazování
slave musí mu předcházet forwards. Slave se nedotazuje autoritativních serverů, ale předává dotazy jmenným serverům uvedeným ve forwards.
Příklady konfigurace /etc/named.conf
Příklad 1:
Konfigurace jmenného serveru pro reverzní doménu 0.0.127.in-addr.arpa, tj. pro síťovou adresu 127.0.0.0 (loopback) a tedy jsou klienti, kteří se spoléhají jen na DNS, schopni své smyčce přiřadit kanonické jméno localhost.
Directory /etc/named
;
;typ doména zdroj záloha
primary 0.0.127.in-addr.arp db.127.0.0
cache . db.cache
Příklad 2:
named je konfigurován jako primární pro doménu prim.org a sekundární server pro doménu sec.org. Názvy zónových souborů mohou být libovolné, ale je vhodné označovat názvy domén.
Directory /etc/named
;
;typ doména zdroj záloha
primary prim.org db.prim.org
primary 120.191.in-addr.arpa db.191.120
secondary sec.org 194.105.22.1 db.sec.org
secondary 22.105.120. in-addr.arpa 194.105.22.1 db.194.105.22
primary 0.0.127.in-addr.arp db.127.0.0
cache . db.cache
Na zónové soubory odkazuje inicializační soubor named.boot.
Zónové soubory mají pevný formát. Položky jsou v řádcích a každý řádek obsahuje tato pole oddělená tabelátory nebo mezerami
[doména] [ttl] [třída] typ údaje
doména musí být vyjádřena pokud není totožná s předchozí. Zápis může být relativní (není ukončena tečkou a pak se k ní přidává implicitní doména. Pro absolutní zadání musí být ukončena tečkou.
ttl time to live - doba platnosti v sekundách. Maximum je 9999 9999s. Obvykle se používá 86400s=den, nebo 604800=týden.
třída označuje třídu adres IP. Je uvozena slovem in.
typ typ zdrojového záznamu (SOA, A, NS, CNAME, PTR, MX, WKS A HINFO
údaje informační obsah zdrojového záznamu.
Znak@ označuje implicitní doménu. Změna implicitní domény v textu se značí
$ORIGIN doména
Typy zdrojového záznamu jsou
IN SOA start of autority - začátek správy - zóna na níž se vztahuje autorita následujících záznamů: původ, kontakt, číslo verze, obnovení, nový_pokus, vypršení, minimum_ttl
IN A přiřazuje jménu počítače jeho IP adresu
IN NS jméno serveru - ukazuje na DNS server
IN CNAME uvedení přezdívky
IN PTR přiřazuje doménové jméno k IP v rámci reverzní domény in-addr.arpa
IN MX přesměrovává poštu na poštovní server
IN WKS zveřejňuje služby, které počítač poskytuje. Pracuje jen s TCP a nebo UDP.
IN HINFO údaje hardware a software identifikují počítač
· tečky v souborech se zónami. Zóna končící tečkou je absolutní jméno, bez tečky se za zónu přidává obsah proměnné $ORIGIN
· každá změna musí být doprovázena se zvýšením sériového čísla pro kopírování na sekundární nameserver
· po každé změně v konfiguračních server se bez restartování změny neprojeví ani na primárním serveru.
Pro kontrolu a práci s nameservery slouží program nslookup. Lze ho spouštět z příkazové řádky s parametry
· 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