20.7. Struktura souboru s daty pro zónu

Používají se dva druhy souborů s daty zóny. Jedny slouží pro přiřazení IP adresy počítačům a druhé pak pro reverzní převod, tedy pro přiřazení názvu počítače k IP adrese.

[Tip]Použití tečky v souborech s daty zóny

V souborech s daty zóny má velký význam tečka (.). Jsou-li názvy počítačů uvedeny bez tečky na konci, je vždy doplňována zóna. Proto je třeba již kompletní názvy počítačů uvedené i s doménou ukončit tečkou tak, aby nebyla doména uvedena dvakrát. Chybějící tečky nebo jejich špatné umístění jsou často příčinou chyb v konfiguraci nameserveru.

Ukážeme si soubor world.zone odpovědný za doménu world.cosmos:

Příklad 20.6. Soubor /var/lib/named/world.zone

$TTL 2D
world.cosmos. IN SOA      gateway  root.world.cosmos. (
            2003072441  ; serial
            1D          ; refresh
            2H          ; retry
            1W          ; expiry
            2D )        ; minimum

            IN NS       gateway
            IN MX       10 sun

gateway     IN A        192.168.0.1
            IN A        192.168.1.1
sun         IN A        192.168.0.2
moon        IN A        192.168.0.3
earth       IN A        192.168.1.2
mars        IN A        192.168.1.3
www         IN CNAME    moon
Řádek 1:

$TTL definuje standardní délku platnosti TTL (Time To Live), která platí pro všechny položky v tomto souboru. V našem případě jsou to dva dny (2D).

Řádek 2:

Zde začíná SOA záznam:

  • Na prvním místě je uveden název spravované domény world.cosmos ukončený tečkou (jinak by zóna byla přidána ještě jednou. Alternativním řešením je použití zavináče (@), který znamená použití zóny z /etc/named.conf.

  • Za IN SOA je uveden název primárního (master) nameserveru pro danou zónu. Jméno gateway bude rozšířeno na gateway.world.cosmos, protože není ukončeno tečkou.

  • Následuje e-mailová adresa osoby odpovědné za nameserver. Protože zavináč má v tomto souboru zvláštní význam, používá se místo něj tečka. Adresa root@world.cosmos se tedy zapíše jako root.world.cosmos.. Na konci je opět nutné uvést tečku.

  • Řádka končí levou závorkou (, která uzavírá, spolu s následující pravou závorkou ), řádky tvořící SOA záznam.

Řádek 3:

Obsahuje tzv. sériové číslo (serial number), které se má při každé změně v souboru zvýšit. Slouží sekundárním nameserverům pro porovnávání konfigurace s primárním nameserverem. Jako formát čísla se ujal YYYYMMDDNN.

Řádek 4:

Položka refresh rate udává časový interval, po jehož uplynutí sekundární server kontroluje serial number na primárním serveru. V našem případě jeden den (1D).

Řádek 5:

Položka retry rate udává časový interval, po jehož uplynutí se sekundární server opět pokusí kontaktovat primární server v případě, že se původní kontakt z důvodu chyby neuskutečnil. Zde dvě hodiny (2H).

Řádek 6:

Položka expiration time udává dobu, po jejímž uplynutí sekundární nameserver smaže data z cache, pokud nemůže kontaktovat primární server. Zde jeden týden (1W).

Řádek 7:

Poslední SOA položka určuje tzv. negative caching TTL, čas po který mají ostatní servery uchovávat v cache negativně vyřízené dotazy.

Řádek 9:

Položka IN NS udává nameserver odpovědný za doménu. Také zde platí, že gateway expanduje na gateway.world.cosmos, protože je bez tečky na konci. Řádků podobných tomuto může být více, jeden pro primární a další pro sekundární nameservery. Pokud není notify v souboru /etc/named.conf nastaven na no, pak budou všechny zde uvedené nameservery informovány o změnách dat zóny.

Řádek 10:

MX záznam určuje poštovní server pro doménu world.cosmos. Tento server poštu přijímá a dále zpracovává, resp. přeposílá. V uvedeném příkladě to je server sun.world.cosmos. Kromě názvu serveru se uvádí preferenční hodnota (zde 10) — v případě většího počtu MX položek bude pošta zaslána serveru s nejnižším číslem a teprve při problémech s doručením bude použit server s vyšší hodnotou.

Řádky 12 až 17:

Zde jsou uvedeny vlastní adresní záznamy přiřazující jménům počítačů IP adresy. Názvy počítačů jsou uváděny bez tečky a budou tak rozšířeny o doménu. Více IP adres se používá u počítačů, které mají více síťových karet. Pokud je použita tradiční (IPv4) adresa, je záznam označen písmenem A. Záznamy s IPv6 adresou jsou označeny jako A6. (Dříve se IPv6 adresy označovaly jako AAAA, což je již zastaralé.)

Řádek 18:

Alias www je použit k adresování počítače moon (CNAME = canonical name).

Pro reverzní převod (reverse lookup) IP adres na názvy počítačů se používá pseudodoména in-addr.arpa. Je připojena k obrácenému zápisu adresy. Ze 192.168.1 se tak stane 1.168.192.in-addr.arpa, viz příklad 20.7 – „Zpětný převod“.

Příklad 20.7. Zpětný převod


$TTL 2D
1.168.192.in-addr.arpa. IN SOA gateway.world.cosmos. root.world.cosmos. (
                        2003072441      ; serial
                        1D              ; refresh
                        2H              ; retry
                        1W              ; expiry
                        2D )            ; minimum

                        IN NS           gateway.world.cosmos.

1                       IN PTR          gateway.world.cosmos.
2                       IN PTR          earth.world.cosmos.
3                       IN PTR          mars.world.cosmos.
Řádek 1:

Položka $TTL definuje standardní délku platnosti TTL (Time To Live), která platí pro všechny položky v tomto souboru. V našem případě jsou to dva dny (2D).

Řádek 2:

Reverzní převod je nastaven pro síť 192.168.1.0. Protože se zde zóna nazývá 1.168.192.in-addr.arpa, nechceme ji připojovat za názvy počítačů, a proto je píšeme celé včetně domény a s tečkou na konci.

Řádek 3-7:

Viz předchozí příklad pro world.cosmos.

Řádek 9:

I zde je uveden nameserver, který odpovídá za zónu. Tentokrát je uveden včetně domény a s tečkou na konci.

Řádek 11-13:

Pointer záznamy, které uvádějí k IP adrese náležející názvy počítačů. Uvádí se pouze poslední pozice IP adresy bez tečky. Připojením zóny (bez .in-addr.arpa) vznikne kompletní IP adresa v obráceném pořadí.

Přenosy zón mezi různými verzemi BINDu by měly být bezproblémové.