Jmenné servery

 

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

 

 

Úvod

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é

Hierarchie doménových jmen

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.

Zpětný převod adres

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.

/etc/hosts

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.

Konfigurace resolveru

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

 

Konfigurace jmenného serveru BIND

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.

 

Databáze jmenného serveru

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

 

Spuštění DNS serveru

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

 

Zónové soubory

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č

 

Časté chyby

·         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.

nslookup

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