Kétféle típusú zónafájl létezik: az egyik IP-címeket rendel a gépnevekhez, a másik a fordítottját csinálja: gépnevet ad meg az IP-címhez.
TANÁCS: A pont karakter használata a zónafájlokban
A . karakternek fontos jelentése van a zónafájlokban. Ha a gépnevek lezáró . végzodés nélkül vannak megadva, akkor kiegészülnek a zóna nevével. A teljes tartománynévvel megadott teljes gépneveknek . karakterrel kell végzodniük, hogy a tartomány ne legyen még egyszer hozzájuk fuzve. A hiányzó vagy rossz helyen megadott pont eredményezi a névkiszolgáló konfigurációs hibáinak nagy részét.
Az elso esetben tételezzük fel, hogy a example.com.zone zónafájl a example.com tartományért felelos (Példa 22-6).
Példa 22-6 A /var/lib/named/example.com.zone fájl
1. $TTL 2D 2. example.com. IN SOA dns root.example.com. ( 3. 2003072441 ; serial 4. 1D ; refresh 5. 2H ; retry 6. 1W ; expiry 7. 2D ) ; minimum 8. 9. IN NS dns 10. IN MX 10 mail 11. 12. gate IN A 192.168.5.1 13. IN A 10.0.0.1 14. dns IN A 192.168.1.116 15. mail IN A 192.168.3.108 16. jupiter IN A 192.168.2.100 17. venus IN A 192.168.2.101 18. saturn IN A 192.168.2.102 19. mercury IN A 192.168.2.103 20. ntp IN CNAME dns 21. dns6 IN A6 0 2002:c0a8:174::
A $TTL az alapértelmezett TTL (time to live, élettartam) értéket adja meg, amely a fájl összes bejegyzésére érvényes. Ebben a példában a bejegyzések két napig érvényesek (2 D).
Itt kezdodik a SOA vezérlorekord:
Az adminisztrálandó tartomány neve az elso pozícióban example.com. Ez .-ra végzodik, mivel ellenkezo esetben a zóna másodszor is hozzáfuzésre kerülne. Alternatívaként a @ karakter is megadható itt, amely esetben a zóna az /etc/named.conf fájl megfelelo bejegyzésébol kerül kibontásra.
Az IN SOA után a zónáért felelos elsodleges (master) névkiszolgáló neve található. A dns-rol dns.example.com-ra egészül ki, mivel nem . karakterre végzodik.
A névkiszolgálóért felelos személy e-mail címe következik. Mivel a @ jel speciális jelentéssel rendelkezik, itt is . karaktert kell használni. A root@example.com esetén a bejegyzést root.example.com. formában kell megadni. A végén ki kell tenni a . karaktert, hogy a zóna ne kerüljön hozzáfuzésre.
A ( és ) közötti sorok a SOA rekordhoz tartoznak.
A sorszám egy tetszoleges szám, amely a fájl minden módosításakor növekszik. Ennek segítségével informálhatók a másodlagos (slave) névkiszolgálók a módosításokról. A szokásos formátum egy tízjegyu dátum és egy növekvo sorozatszám együttese ÉÉÉÉHHNNSS formában.
A frissítési gyakoriság (refresh rate) azt adja meg, hogy a másodlagos névkiszolgáló mennyi idonként ellenorizze a zóna sorszámát. Ebben az esetben naponta.
A újrapróbálkozások gyakorisága (retry rate) megadja, hogy a másodlagos kiszolgáló hiba esetén mennyi ido után kísérli meg újból az elsodleges kiszolgáló elérését. Itt két óra van beállítva.
A lejárat ideje (expiration time) azt az idokorlátot adja meg, amelynek eltelte után a másodlagos névkiszolgáló törli a gyorsítótárban tárolt adatokat, amennyiben nem tudja újból elérni az elsodleges kiszolgálót. Itt egy hét van beállítva.
A SOA rekord utolsó bejegyzése megadja a negatív tárolási TTL értékét – ez az az ido, ameddig a más kiszolgálóktol érkezo, nem feloldott DNS-kérések eredményei tárolásra kerülnek.
Az IN NS sor a tartományért felelos névkiszolgálót adja meg. A dns kiegészül a dns.example.com címre, hiszen nem áll a végén . karakter. Több hasonló sor is lehet – egy az elsodleges, és egy-egy a másodlagos névkiszolgálókhoz. Ha az /etc/named.conf fájlban a notify paraméter értéke nem no, akkor az itt megjelenített névkiszolgálók értesítést kapnak a zónaadatok módosításáról.
Az MX bejegyzés a levelezokiszolgálót adja meg, amely fogadja, feldolgozza és továbbítja az e-mail üzeneteket a example.com tartományhoz. Ebben a példában ez a mail.example.com gép. A gépnév elotti szám egy úgynevezett preferenciaérték. Ha több MX bejegyzés is van, akkor a legkisebb értékkel rendelkezo levelezokiszolgáló kapja meg eloször a levelet, de nem sikerül neki kézbesíteni, akkor a küldo a következo értékuvel próbálkozik.
Ezek maguk a címrekordok, amelyekben egy vagy több IP-cím van hozzárendelve gépnevekhez. A nevek itt . nélkül kerülnek megjelenítésre, mivel nem tartalmazzák a tartományt, így a example.com mindegyikhez hozzáfuzésre kerül. A gate géphez két IP-cím van hozzárendelve, mivel két hálózati kártyával rendelkezik. Ha a cím hagyományos (IPv4), akkor a rekord A-val van megjelölve. Ha a cím egy IPv6-cím, akkor a bejegyzés A6 0-val van megjelölve . Az IPv6-címekhez korábban az AAAA jelsort használták, de ez mára elavult.
MEGJEGYZÉS: IPv6-szintaxis
Az IPv6 bejegyzés szintaxisa valamelyest eltér az IPv4-étol. A töredezettség elkerülése érdekében kötelezo információt adni a cím elott a kihagyott bitekrol. Ezt az információt még akkor is meg kell adni, ha egy egyáltalán nem töredezett címet kíván használni. A következo szintaxisú AAAA bejegyzéshez
pluto IN AAAA 2345:00C1:CA11:0001:1234:5678:9ABC:DEF0 pluto IN AAAA 2345:00D2:DA11:0001:1234:5678:9ABC:DEF0
Információt kell adni a hiányzó bitekrol IPv6-formátumban. Mivel a fenti példa teljes (egy bit sem hiányzik belole), a bejegyzés A6-formátuma:
pluto IN A6 0 2345:00C1:CA11:0001:1234:5678:9ABC:DEF0 pluto IN A6 0 2345:00D2:DA11:0001:1234:5678:9ABC:DEF0
Az ntp másodlagos név használható a dns megcímzéséhez (a CNAME rövidítés a canonical name, azaz kanonikus névbol származik).
Az in-addr.arpa pszeudotartomány használható a fordított kereséshez, ha IP-címek alapján keresünk gépneveket. Ez a cím hálózati részéhez kerül hozzáfuzésre fordított sorrendben. A 192.168 cím tehát a 168.192.in-addr.arpa címmé alakítódik át. Lásd: Példa 22-7.
Példa 22-7 Fordított keresés
1. $TTL 2D 2. 168.192.in-addr.arpa. IN SOA dns.example.com. root.example.com. ( 3. 2003072441 ; serial 4. 1D ; refresh 5. 2H ; retry 6. 1W ; expiry 7. 2D ) ; minimum 8. 9. IN NS dns.example.com. 10. 11. 1.5 IN PTR gate.example.com. 12. 100.3 IN PTR www.example.com. 13. 253.2 IN PTR cups.example.com.
A $TTL az általános TTL-t adja meg, amely az összes itt szereplo bejegyzésre érvényes.
A konfigurációs fájlnak fordított keresést kell kezdenie a 192.168 hálózatra vonatkozóan. Mivel a zóna neve 168.192.in-addr.arpa, ezért nem szabad hozzáfuzni a gépnevekhez. Az összes gépnév teljes formában van megadva – tartománnyal és egy lezáró . karakterrel. A fennmaradó bejegyzések az elozo example.com példában leírtaknak megfeleloek.
Lásd a example.com elozo példáját.
Ez a sor újra a zónáért felelos névszert adja meg. Ebben az esetben a név teljes formában kerül megadásra a tartománnyal és . karakterrel a végén.
Ezek mutató bejegyzések, amelyek a megfelelo gépek IP-címeire mutatnak. A sor elején csak az IP-cím utolsó része van megadva, lezáró . karakter nélkül. A zóna hozzáadása (.in-addr.arpa nélkül) az összes IP-címet eredményezi, fordított sorrendben.
Normális esetben a BIND különbözo verziói közötti zónatranszfernek probléma nélkül le kell zajlania.