Zónafájl

A zónafájlok formátumát az RFC 1035 (5. szakasz) és az RFC 1034 (3.6.1. szakasz) határozza meg. Ezt a formátumot eredetileg a Berkeley Internet Name Domain (BIND) szoftvercsomag használta, de más DNS-kiszolgáló szoftverek is széles körben átvették – bár némelyikük (pl. NSD, PowerDNS) csak kiindulási alapként használja a zónafájlokat, hogy azokat adatbázis-formátumba állítsa össze, lásd még Microsoft DNS Active Directory-adatbázis integrációval.

A zónafájl sororientált bejegyzések sorozata, amelyek mindegyike vagy egy direktíva, vagy egy szöveges leírás, amely egyetlen erőforrásrekordot (RR) határoz meg. Egy bejegyzés fehér szóközök (tabulátorok és szóközök) tetszőleges kombinációjával elválasztott mezőkből áll, és sorhatáron végződik, kivéve egy idézőjeles karakterlánc-mezőérték vagy egy pár körülzáró formázó zárójelen belül. Bármelyik sor záródhat pontosvesszővel megelőzött megjegyzéssel, és a fájl tetszőleges számú üres sort is tartalmazhat.

A bejegyzések néhány kivételtől eltekintve tetszőleges sorrendben szerepelhetnek a zónafájlban.

A direktívák olyan vezérlő bejegyzések, amelyek a zónafájl többi részét befolyásolják. A direktívák első mezője egy dollárjelből áll, amelyet egy kulcsszó követ:

  • $ORIGIN után egy tartománynév következik, amelyet a későbbi relatív tartománynevek eredeteként kell használni.
  • $INCLUDE után egy fájlnév és opcionális eredeti tartománynév következik, amelyet a tartalom értelmezésekor kell használni (amelyet úgy kell kezelni, mintha a szülőfájlban jelent volna meg, majd a direktíva kiértékelését megelőzően visszaáll az eredeti értékre).
  • $TTL, amelyet az RFC 2308 (4. szakasz) határoz meg, egy szám követ, amelyet az alapértelmezett TTL (time-to-live) értékként kell használni.
  • $GENERATE, a BIND és néhány más névkiszolgáló szoftver által elfogadott nem szabványos kiterjesztés, amely egy bejegyzéssel több erőforrásrekord beillesztésére szolgál, amelyet egy nemnegatív számok növekvő sorozatának tömör megjelenítése, majd egy RR sablonbejegyzés követ. A sorozat minden egyes számához egy erőforrásrekord kerül hozzáadásra, a sablon felhasználásával, a számmal helyettesített “$” karakterekkel.

Az erőforrásrekord bejegyzés több mezőből áll az alábbiak szerint (mindkét mező sorrendje elfogadható és felcserélhető):

név ttl rekordosztály rekordtípus rekordadatok
.

név rekord osztály ttl rekord típus rekord adatok

A név mező üresen hagyható. Ha igen, akkor a rekord az előző rekordból örökli a mezőt. A szabadon álló @ jelöli az aktuális eredetet.

A ttl mező azt a másodpercszámot adja meg, amely után a gyorsítótárazó ügyfélnek el kell dobnia a rekordot, és új feloldási műveletet kell végrehajtania, hogy friss információt kapjon. Egyes névkiszolgálók, köztük a BIND, engedélyezik a nem szabványos ábrázolást, amely időegység-rövidítéseket használ (például a “2d” két 24 órás napot vagy az “1h30m” egy órát és 30 percet jelent). Elhagyható, ebben az esetben a kapott értéket az alapértelmezett TTL-értékből (ha van ilyen definiálva) vagy az előző rekordból állítja be.

A rekordosztály mező a rekordinformáció névterét jelzi. Elhagyható, ebben az esetben a kapott érték az előző rekordból lesz beállítva. A leggyakrabban használt névtér az interneté, amelyet az IN paraméter jelez, de léteznek és használatban vannak mások is, pl. CHAOS.

A rekord típusa mező az utolsó mezőben, a rekordadatokban tárolt információ típusának rövidítése. Például: egy címrekord (A típus IPv4 esetén, vagy AAAA típus IPv6 esetén) az első mezőben szereplő tartománynevet a rekordadatokban szereplő IP-címre képezi le; egy levélváltó rekord (MX típus) egy tartomány Simple Mail Transfer Protocol (SMTP) levélfogadóját adja meg.

A rekordadatok mező egy vagy több információs elemből állhat, az egyes rekordtípusok követelményeitől függően. Például egy címrekordhoz csak egy címre van szükség, míg egy levélváltó rekordhoz egy prioritásra és egy tartománynévre. Az ilyen információs elemek fehér szóközzel elválasztott mezőkként jelennek meg.

Példa fájlSzerkesztés

A example.com tartomány zónafájljának példája a következő:

$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

A zónafájlban legalább a zóna hitelesítő fő névkiszolgálójának nevét és a névkiszolgáló kezeléséért felelős személy e-mail címét tartalmazó SOA (Start of Authority) rekordot kell megadni (tartománynévként, a szokásos @ szimbólum helyett pontjellel). A SOA rekord paraméterei az időzítési és lejárati paraméterek listáját is megadják (sorszám, szolgai frissítési időszak, szolgai újbóli próbálkozási idő, szolgai lejárati idő és a rekord gyorsítótárba helyezésének maximális ideje). Egyes névkiszolgálók, köztük a BIND, legalább egy további NS-rekordot is igényelnek.

A zónafájlban a pontra végződő tartománynevek (például a fenti példában a “example.com.”) teljesen minősítettek, míg a pont nélkül végződő nevek az aktuális eredethez képest relatívak (ezért utal a www a fenti példában a www.example.com címre).

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.