Soubor zóny

Formát souboru zóny je definován v RFC 1035 (část 5) a RFC 1034 (část 3.6.1). Tento formát byl původně používán softwarovým balíkem Berkeley Internet Name Domain (BIND), ale byl široce převzat ostatním softwarem serverů DNS – i když některé z nich (např. NSD, PowerDNS) používají zónové soubory pouze jako výchozí bod pro kompilaci do databázového formátu, viz také Microsoft DNS s integrací Active Directory-databáze.

Zónový soubor je posloupnost řádkově orientovaných záznamů, z nichž každý je buď směrnice, nebo textový popis, který definuje jeden záznam o prostředku (RR). Záznam se skládá z polí oddělených libovolnou kombinací bílých znaků (tabulátorů a mezer) a končí na hranici řádku, kromě případů, kdy se nachází uvnitř hodnoty pole uvozeného řetězcem nebo dvojice uzavírajících formátovacích závorek. Každý řádek může končit textem komentáře, kterému předchází středník, a soubor může také obsahovat libovolný počet prázdných řádků.

Zápisy se mohou v souboru zóny vyskytovat v libovolném pořadí, s některými výjimkami.

Direktivy jsou řídicí záznamy, které ovlivňují zbytek souboru zóny. První pole směrnice se skládá ze znaku dolaru následovaného klíčovým slovem:

  • $ORIGIN následuje název domény, který se použije jako původ pro následné relativní názvy domén.
  • $INCLUDE následuje název souboru a volitelný název domény původu, který se použije při interpretaci jeho obsahu (se kterým se zachází, jako by se objevil v nadřazeném souboru, a následuje reset na hodnotu původu předcházející vyhodnocení směrnice).
  • $TTL, definovaný v RFC 2308 (oddíl 4), je následován číslem, které se použije jako výchozí TTL (time-to-live).
  • $GENERATE, nestandardní rozšíření přijímané BIND a některým dalším softwarem jmenných serverů pro vkládání více záznamů o prostředcích s jedním záznamem, je následováno stručnou reprezentací rostoucí posloupnosti nezáporných čísel a poté vzorovým záznamem RR. Pro každé číslo v posloupnosti je přidán záznam o prostředku s použitím šablony, přičemž nezapsané znaky „$“ jsou nahrazeny číslem.

Záznam záznamu o prostředku se skládá z několika následujících polí (obě pořadí polí jsou přípustná a lze je používat zaměnitelně):

název ttl třída záznamu typ záznamu údaje o záznamu
název třída záznamu ttl typ záznamu datový záznam

Pole název může zůstat prázdné. V takovém případě záznam zdědí pole z předchozího záznamu. Pro označení aktuálního původu se používá volné @.

Pole ttl udává počet sekund, po kterých musí klient mezipaměti záznam zahodit a provést novou operaci rozlišení, aby získal nové informace. Některé jmenné servery, včetně BIND, umožňují nestandardní reprezentaci, která používá zkratky časových jednotek (například „2d“ znamenající dva 24hodinové dny nebo „1h30m“ znamenající jednu hodinu a 30 minut). Může být vynecháno, v takovém případě bude výsledná hodnota nastavena z výchozího TTL (je-li definováno) nebo z předchozího záznamu.

Pole třída záznamu označuje jmenný prostor informací o záznamu. Může být vynecháno, v takovém případě bude výsledná hodnota nastavena z předchozího záznamu. Nejčastěji používaným jmenným prostorem je prostor internetu, který je označen parametrem IN, ale existují a používají se i jiné, například CHAOS.

Pole typ záznamu je zkratkou pro typ informace uložené v posledním poli, data záznamu. Například: adresní záznam (typ A pro IPv4 nebo typ AAAA pro IPv6,) mapuje doménové jméno z prvního pole na IP adresu v datech záznamu; záznam o výměně pošty (typ MX) určuje poštovní hostitele protokolu SMTP (Simple Mail Transfer Protocol) pro doménu.

Pole data záznamu se může skládat z jednoho nebo více informačních prvků v závislosti na požadavcích jednotlivých typů záznamů. Například záznam o adrese vyžaduje pouze adresu, zatímco záznam o výměníku pošty vyžaduje prioritu a název domény. Takové informační prvky jsou reprezentovány jako pole oddělená bílou mezerou.

Příklad souboruEdit

Příklad souboru zóny pro doménu example.com je následující:

$ORIGIN example.com. ; designates the start of this zone file in the namespace$TTL 3600 ; default expiration time (in seconds) of all RRs without their own TTL valueexample.com. IN SOA ns.example.com. username.example.com. ( 2020091025 7200 3600 1209600 3600 )example.com. IN NS ns ; ns.example.com is a nameserver for example.comexample.com. IN NS ns.somewhere.example. ; ns.somewhere.example is a backup nameserver for example.comexample.com. IN MX 10 mail.example.com. ; mail.example.com is the mailserver for example.com@ IN MX 20 mail2.example.com. ; equivalent to above line, "@" represents zone origin@ IN MX 50 mail3 ; equivalent to above line, but using a relative host nameexample.com. IN A 192.0.2.1 ; IPv4 address for example.com IN AAAA 2001:db8:10::1 ; IPv6 address for example.comns IN A 192.0.2.2 ; IPv4 address for ns.example.com IN AAAA 2001:db8:10::2 ; IPv6 address for ns.example.comwww IN CNAME example.com. ; www.example.com is an alias for example.comwwwtest IN CNAME www ; wwwtest.example.com is another alias for www.example.commail IN A 192.0.2.3 ; IPv4 address for mail.example.commail2 IN A 192.0.2.4 ; IPv4 address for mail2.example.commail3 IN A 192.0.2.5 ; IPv4 address for mail3.example.com

V souboru zóny musí být uveden minimálně záznam SOA (Start of Authority) se jménem autoritativního hlavního jmenného serveru pro zónu a e-mailová adresa osoby odpovědné za správu jmenného serveru (reprezentovaná jako doménové jméno se znakem tečky místo obvyklého symbolu @). Parametry záznamu SOA také specifikují seznam časových a expiračních parametrů (pořadové číslo, doba obnovení podřízené zóny, doba opakování podřízené zóny, doba expirace podřízené zóny a maximální doba uložení záznamu do mezipaměti). Některé jmenné servery, včetně serveru BIND, vyžadují také alespoň jeden další záznam NS.

V souboru zóny jsou názvy domén, které končí znakem tečky (například „example.com.“ ve výše uvedeném příkladu), plně kvalifikované, zatímco ty, které tečkou nekončí, jsou relativní vůči aktuálnímu původu (proto www ve výše uvedeném příkladu odkazuje na www.example.com).

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.