22.6 Zónafájlok

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::
1. sor:

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

2. sor:

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.

3. sor:

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.

4. sor:

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.

5. sor:

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.

6. sor:

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.

7. sor:

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.

9. sor:

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.

10. sor:

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.

12–19 sor:

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
20. sor:

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. 
1. sor:

A $TTL az általános TTL-t adja meg, amely az összes itt szereplo bejegyzésre érvényes.

2. sor:

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.

3–7. sor:

Lásd a example.com elozo példáját.

9. sor:

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.

11–13. sor:

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.