Dokumentáció/SL9.3/Szolgáltatások/A DNS (tartománynévrendszer, Domain Name Rendszer)

Icon-dns.png A DNS (tartománynévrendszer) a tartomány- és gépneveket IP-címekké alakító rendszer. A 192.168.0.1 IP-cím például az earth gépnévhez lehet rendelve. Egy saját névszerver beállítása előtt olvassa el az általános tudnivalókat a DNS-ről (Névfeloldás). Az alábbi konfigurációs példák a BIND-ra hivatkoznak.

Beállítás a YaST segítségével

A YaST DNS-modulja segítségével be lehet állítani egy DNS-szervert a helyi hálózaton. A modul első indításakor elindul egy varázsló, amelyben néhány, a szerveradminisztrációval kapcsolatos alapdöntést kell meghozni. A kezdeti beállítás egy alap szerverkonfigurációt hoz létre, amely a legfontosabb feladatokat már el is kell, hogy lássa. A szakértői módban a speciális konfigurációs feladatok is elvégezhetők, mint például az ACL-ek, a naplózás, a TSIG-kulcsok és más lehetőségek beállítása.

Beállító varázsló

A varázsló három lépésből (párbeszédablakból) áll. A párbeszédablakok megfelelő helyein be lehet lépni a szakértői beállítási módba.

Továbbítók beállításai
A modul első elindításakor megjelenik az ábrán látható párbeszédablak. Ebben döntse el, hogy a PPP-démonnak kell-e biztosítania továbbítók listáját DSL-en vagy ISDN-en keresztüli betárcsázáskor (PPP démon állítsa be a továbbítókat), vagy saját listát kíván megadni (Továbbítók kézi beállítása).
DNS-szerver telepítése: Továbbítók beállításai
DNS-zónák
A zónafájlok felügyeletéért felelős párbeszédablak több részből áll (Zónafájlok). Új zóna létrehozásához a Zónanév mezőben adjon meg egy nevet. Címfeloldási (reverse) zóna felvétele esetén a névnek az .in-addr.arpa karaktersorozatra kell végződnie. Végül válassza ki a Zónatípust – elsődleges (master) vagy másodlagos (slave). A meglévő zóna egyéb beállításainak módosításához kattintson a Szerkesztés gombra. Egy kijelölt zóna eltávolításához kattintson a Törlés gombra.
DNS-szerver telepítése: DNS-zónák
Varázsló használatának befejezése
Az utolsó párbeszédablakban nyithatja meg a telepítés során aktivált tűzfal portjait a DNS-szolgáltatás számára, és itt határozhatja meg, hogy a DNS-t el kell-e indítani. A szakértői konfiguráció beállítások is elérhető ebből a párbeszédablakból.
Az utolsó párbeszédablakban nyithatja meg a tűzfal DNS-portját (Port megnyitása a tűzfalban) és döntheti el, hogy a DNS-szerver elinduljon-e (Bekapcsolás vagy Kikapcsolás). Az LDAP-támogatás is aktiválható.
DNS-szerver telepítése: A varázsló használatának befejezése

Szakértői beállítások

A modul elindítása után a YaST megnyit egy ablakot, amely számos beállítási lehetőséget jelenít meg. A beállítások megadására létrejön egy DNS-szerverkonfigurcáió, amelynek a legfontosabb funkciói már működnek:

Indítás
A Rendszerindítás részben adja meg, hogy a DNS-szerver alapértelmezés szerint Bekapcsolt vagy Kikapcsolt legyen. A DNS-szerver azonnali elindításához nyomja meg a DNS-szerver indítása most gombot. A DNS szerver leállításához nyomja meg a DNS-szerver leállítása most gombot. Az aktuális beállítások mentéséhez nyomja meg a Beállítások mentése és DNS szerver újraindítása gombot. A Port megnyitása a tűzfalban ablakban megnyitható a tűzfal DNS-portja, a Tűzfal beállítások segítségével pedig módosíthatók a tűzfalbeállítások.
Az LDAP-támogatás aktív négyzet megjelölése esetén a zónafájlokat egy LDAP-adatbázis felügyeli. Az LDAP-adatbázisba írt zónaadat-módosításokat a DNS-szerver újraindításkor vagy a konfiguráció betöltésére felszólításkor veszi át.
Továbbítók
Ez ugyanaz a párbeszédablak, mint amelyik a konfigurációs varázsló elindítása után megjelenik (Dokumentáció/SL9.3/XREF).
DNS-szerver
A legfontosabb beállítások
Ebben a részben adja meg a szerver legfontosabb beállításait. Az Opciók menüben válassza ki a kívánt elemet, majd a megfelelő beviteli mezőben adja meg az értékét. A Hozzáadás gomb megnyomásával vegye fel az új bejegyzést.
Naplózás
Ebben az ablakban állítható be, hogy DNS-szerver mit naplózzon és hogyan. A Naplózás típusa adja meg, hogy a DNS-szerver hova írja a naplóadatokat. A Naplózás a sysloggal kiválasztása esetén a /var/log/messages rendszerszintű naplófájl kerül használatra, vagy a Naplózás fájlba beállítás választásával megadható egy másik fájl. Az utóbbi esetben adja meg a maximális fájlméretet (megabájtban) és a tárolandó naplófájl verziók számát.
További lehetőségek a További naplózás részben érhetők el: A Named lekérdezések naplózása négyzet megjelölése esetén minden lekérdezés naplózásra kerül. Ebben az esetben a naplófájl mérete nagyra nőhet. Éppen ezért a hibakeresést leszámítva nem túl jó ötlet a funkció bekapcsolása. A zónafrissítés során a DHCP- és DNS-szerver közötti adatforgalom naplózásához egedélyezze a Zónafrissítések naplózása lehetőséget. Az elsődleges és másodlagos szerverek közötti zónatranszfer adatforgalmának naplózása a Zónatranszfer naplózása lehetőséggel engedélyezhető.
DNS-szerver: Naplózás
ACL-ek
Ebben az ablakban lehet megadni a hozzáférési megszorítások betartatása érdekében ACL-eket (hozzáférés-vezérlési listákat). A Név mezőben megadva egy nevet, az Érték mezőben adjon meg egy IP-címet (hálózati maszkkal, vagy anélkül) az alábbi módon:
{ 10.10/16; }
A konfigurációs fájl szintaxisa megköveteli, hogy a cím pontosvesszővel végződjön és kapcsos zárójelek határolják.
TSIG-kulcsok
A TSIG-k (tranzakció-aláírások) fő célja a DHCP- és DNS-szerverek közötti kommunikáció biztonságossá tétele. A TSIG-kulcsok bemutatása: Biztonságos tranzakciók.
TSIG-kulcs előállításához a Kulcsazonosító mezőben adjon meg egy egyedi nevet és adja meg a fájlt, amelyben a kulcsot tárolni kívánja (Fájlnév). A Hozzáadás gombra kattintva erősítse meg a beállításokat.
Egy már korábban létrehozott kulcs használatához hagyja üresen a Kulcsazonosító mezőt, majd a Fájlnév mezőben válassza ki a tároláshoz használt fájlt. Végül nyomja meg a Hozzáadás gombot.
DNS-zónák
A párbeszédablak leírása a konfigurációs varázslónál található meg a (Beállító varázsló).
Másodlagos zónaszerkesztő
Ez a párbeszédablak akkor jelenik meg, ha az [[Dokumentáció/SL9.3/|]] leírt lépésben a Másodlagos zónatípust választja. A Master DNS-szerver mezőben adja meg azt az elsődleges (master) szervert, amelytől a slave az adatokat kéri. A szerver elérésének korlátozásához a listából válasszon ki egy ACL-t.
DNS-szerver: Másodlagos zónaszerkesztő
Master zónaszerkesztő
Ez a párbeszédablak akkor jelenik meg, ha az Dokumentáció/SL9.3/XREF leírt lépésben a Master (elsődleges) zónatípust választotta. A párbeszédablak több lapból áll: Alapbeállítások (ez jelenik meg elsőként), NS bejegyzések, MX bejegyzések, SOA és Bejegyzések.
Az Alapbeállítások párbeszédablakban a kliensekhez és a másodlagos névszerverekhez megadhatók a dinamikus DNS-beállítások és a zónatranszfer hozzáférési beállításai. A zónák dinamikus frissítésének engedélyezéséhez jelölje meg a Dinamikus frissítések engedélyezése négyzetet, valamint a megfelelő TSIG-kulcsot. A kulcsot még a frissítési művelet elindulása előtt létre kell hozni. A zónatranszfer engedélyezéséhez válassza ki a megfelelő ACL-eket. Az ACL-eknek is már létezniük kell.
Az Alapbeállítások párbeszédablakban adja meg, hogy a zónatranszfer engedélyezve legyen-e. A felsorolt ACL-ek segítségével adja meg, hogy ki tölthet le zónákat.
DNS-szerver: Zónaszerkesztő (alapbeállítások)
Zónaszerkesztő (NS bejegyzések)
Ebben a párbeszédablakban alternatív névszerverneveket lehet megadni a megadott zónákhoz. Ellenőrizze, hogy a saját névszervernév benne van-e a listában. Egy bejegyzés hozzáadásához a Névszerver mezőben adja meg a nevét, majd nyomja meg a Hozzáadás gombot.
DNS-szerver: Zónaszerkesztő (NS bejegyzések)
Zónaszerkesztő (MX bejegyzések)
Ha fel kíván venni egy levelezőszervert az aktuális zóna meglévő listájába, akkor írja be a megfelelő címet és prioritásértéket. Ezután nyomja meg a Hozzáadás gombot.
DNS-szerver: Zónaszerkesztő (MX bejegyzések)
Zónaszerkesztő (SOA)
Ezen az oldalon lehet SOA (start of authority, jogosultság kezdete) bejegyzéseket létrehozni. Az egyes lehetőségek leírása: A /var/lib/named/world.zone fájl. A SOA bejegyzések módosítása LDAP-n keresztül kezelt dinamikus zónák esetén nem támogatott.
DNS-szerver: Zónaszerkesztő (SOA)
Zónaszerkesztő (bejegyzések)
Ebben a párbeszédablakban szabályozható a névfeloldás. A Bejegyzés kulcsa menüpontban adja meg a gépnevet, majd válassza ki a típusát. Az A bejegyzés a fő bejegyzést ábrázolja. Ennek értéke IP-cím kell, hogy legyen. A CNAME egy másodlagos név. A részletes vagy részleges bejegyzések esetén használja az NS és MX típust, amelyek az NS bejegyzések és MX bejegyzések lapon megadott információt terjesztik ki. Ez a három típus egy meglévő A rekordra kerül feloldásra. A PTR a fordított zónákhoz való. Pont az A rekord fordítottja.

A BIND névszerver elindítása

SUSE LINUX rendszeren a BIND (Berkeley Internet name domain) névszerver előre be van állítva, így akár közvetlenül a telepítés után gond nélkül elindítható. Ha már rendelkezik egy működő internet-kapcsolattal és az /etc/resolv.conf fájlban a localhost bejegyzéshez beírta a 127.0.0.1 névszervercímet, akkor máris rendelkezik egy működő névfeloldással anélkül, hogy a szolgáltató DNS-ét ismerné. A BIND ekkor a névfeloldást a root névszerveren keresztül hajtja végre, ez viszont meglehetősen lassú folyamat. Célszerűbb beírni a szolgáltató DNS-szerverének címét az /etc/named.conf konfigurációs fájlba a forwarders részbe a hatékony és biztonságos névfeloldás biztosítása érdekében. Ha ez működik, akkor a névszerver csak ideiglenesen tároló (caching-only) névszerverként működik. Teljeskörű DNS-szerverre akkor válik, ha beállít egy saját zónát. Egy egyszerű példa az /usr/share/doc/packages/bind/sample-config könyvtárban található dokumentációban olvasható.
Icon-info.png A névszerver-adatok automatikus igazítása

Az internet- vagy hálózati kapcsolat típusától függően a névszerver adatai automatikusan a meglévő állapotokhoz igazíthatók. Ehhez állítsa az /etc/sysconfig/network/config fájlban lévő MODIFY_NAMED_CONF_DYNAMICALLY változót yes értékre.

Ne állítson be hivatalos tartományokat addig, amíg egy felelős intézmény ki nem osztja őket. Még ha rendelkezik is saját tartománnyal, ha azt a szolgáltató felügyeli, ne állítson be rá névfeloldást házon belül, mert akkor a BIND nem fogja továbbítani a kéréseket ehhez a tartományhoz. A szolgáltatónál lévő webszerver például ilyenkor nem lenne elérhető a tartományból.

A névszerver elindításához root felhasználóként adja ki az rcnamed start parancsot. Ha a »done« üzenet jelenik meg a jobboldalon zöld színnel, a névszerver nevével, akkor az elindítás sikeresen megtörtént. A host vagy dig programok segítségével tesztelje azonnal a névszervert a helyi rendszeren, amelynek a localhost értéket kell visszaadnia alapértelmezett szerverként a 127.0.0.1 címmel. Ha nem ez a helyzet, akkor az /etc/resolv.conf valószínűleg helytelen névszerver-bejegyzést tartalmaz, vagy a fájl nem létezik. Az első teszteléskor adja ki a host 127.0.0.1 parancsot, amelynek mindig működnie kell. Ha hibaüzenetet kap, akkor az rcnamed status parancs segítségével nézze meg, hogy a szerver pillanatnyilag fut-e. Ha a névszerver nem indul el vagy nem a várt módon viselkedik, akkor ennek oka általában a /var/log/messages hibafájlban megtalálható.Ha továbbítóként a szolgáltató névszerverét vagy egy a hálózaton már futó névszervert kívánja használni, akkor a forwarders alatt lévő options részbe írja be a megfelelő IP-címet vagy -címeket. A példában (Továbbítási beállítások a named.conf fájlban) látható címek helyett természetesen a valódi címeket kell használni. A bejegyzések az Ön beállításainak feleljenek meg.


Icon-example.png Példa: Továbbítási beállítások a named.conf fájlban

options {
        directory "/var/lib/named";
        forwarders { 10.11.12.13; 10.11.12.14; };
        listen-on { 127.0.0.1; 192.168.0.99; };
        allow-query { 127/8; 192.168.0/24; };
        notify no;
        };

Az options bejegyzést a zóna, a localhost és 0.0.127.in-addr.arpa bejegyzései követik. A type hint bejegyzésnek a ».« alatt mindig jelen kell lennie. A kapcsolódó fájlokat nem kell módosítani, működniük kell, ahogy vannak. Győződjön meg róla, hogy minden bejegyzést pontosvessző zár le és a kapcsos zárójelek a megfelelő helyen vannak. Az /etc/named.conf konfigurációs fájl vagy a zónafájlok módosítása után az rcnamed reload parancs segítségével utasítsa a BIND-ot, hogy olvassa újra be őket. Ugyanez az eredmény érhető el, ha a névszervert az rcnamed restart parancs segítségével újraindítja. Az rcnamed stop parancs segítségével a szerver bármikor leállítható.

Az /etc/named.conf konfigurációs fájl

A BIND névszerver a beállításait az /etc/named.conf fájl tárolja. A tartományok zónaadatai – a gépnevek, IP-címek stb. – külön fájlokban tárolódnak a /var/lib/named könyvtárban. Alább részletesen is leírjuk a fájl beállításait.

Az /etc/named.conf két fő területre oszlik. Az egyik, az options kulcsszóval kezdődő rész az általános beállításokat, a zone kulcsszóval kezdődő rész az egyes tartományok zónabejegyzéseit tartalmazza. A logging rész és az acl (hozzáférés-vezérlési lista) szakaszok nem kötelezők. A megjegyzéssorok # vagy // jellel kezdődnek. A Egyszerű /etc/named.conf fájl egy minimális /etc/named.conf fájlt mutat be.


Icon-example.png Példa: /etc/named.conf fájl

options {
        directory "/var/lib/named";
        forwarders { 10.0.0.1; };
        notify no;
};

zone "localhost" in {
       type master;
       file "localhost.zone";
};

zone "0.0.127.in-addr.arpa" in {
        type master;
        file "127.0.0.zone";
};

zone "." in {
        type hint;
        file "root.hint";
};


A legfontosabb beállítási lehetőségek

directory "fájlnév";
Azt a könyvtárat adja meg, amelyben a BIND a zónaadatokat tartalmazó fájlokat keresi. Ez általában a /var/lib/named.
forwarders { ip-cím; };
Azokat a névszervereket adja meg (általában a szolgáltatóét), amelyhez a DNS-kéréseket továbbítani kell, ha közvetlenül nem oldhatók fel. Az ip-cím helyére írjon be egy IP-címet (hasonlót, mint a 10.0.0.1).
forward first;
Minden DNS-kérést előbb továbbít, mielőtt megpróbálná a root névszerverek segítségével feloldani. Ha a forward first helyett forward only szerepel, akkor a kérések kizárólag továbbításra kerülnek, egyáltalán nem kerülnek elküldésre a root névszererekhez. Ennek tűzfal használata esetén van kiemelt szerepe.
listen-on port 53 { 127.0.0.1; ip-cím; };
Meghatározza, hogy a BIND melyik hálózati csatolón és porton fogadja a klienskéréseket. A port 53 értéket nem kell külön megadni, mivel az 53 az alapértelmezett port. A helyi géptől érkező kérések engedélyezéséhez írja be a 127.0.0.1 címet. Ha ez a bejegyzés teljesen ki van hagyva, akkor alapértelmezés szerint az összes csatoló használatra kerül.
listen-on-v6 port 53 {any; };
Azt adja meg, hogy a BIND melyik porton figyelje az IPv6-klienskéréseket. Az any egyetlen alternatívája a none. IPv6 esetén a szerver csak helyettesítő karakteres (wildcard) címeket tud fogadni.
query-source address * port 53;
Ez a bejegyzés akkor szükséges, ha a tűzfal blokkolja a kimenő DNS-kéréseket. Ezt azt jelzi a BIND számára, hogy a kéréseket külsőleg az 53-as portról küldje el, ne az 1024 fölötti portokról.
query-source-v6 address * port 53;
Azt adja meg, hogy a BIND melyik portot használja az IPv6-lekérdezésekhez.
allow-query { 127.0.0.1; net; };
Megadja a hálózatokat, amelyről a kliensek DNS-kéréseket tudnak küldeni. A net bejegyzést cserélje le a 192.168.1/24 címhez hasonlóra. A végén levő /24 a hálózati maszk rövid alakja, ebben az esetben a 255.255.255.0.
allow-transfer ! *;;
Azt szabályozza, hogy mely gépek kérhetnek zónatranszfert. Ebben a példában ! * miatt minden kérés visszautasításra kerül. E bejegyzés nélkül korlátozás nélkül bárhonnan kérhető zónatranszfer.
statistics-interval 0;
E bejegyzés hiányában a BIND a /var/log/messages fájlban óránként sok sornyi statisztikai bejegyzést állít elő. A statisztikák teljes elhagyásához állítsa az értéket 0-ra vagy adjon meg egy intervallumot percben.
cleaning-interval 720;
Ez a paraméter azt szabályozza, hogy a BIND mennyi idő után ürítse ki az ideiglenes tárolóját. Minden ürítés egy bejegyzést hoz létre a /var/log/messages fájlban. Az idő percben van megadva. Az alapértelmezett érték hatvan perc.
interface-interval 0;
A BIND rendszeres időközönként végigkeresi a hálózati eszközöket, hiszen megjelenhetnek újak, vagy megszűnhetnek régiek. 0 érték megadása esetén ez nem történik meg: a BIND csak az induláskor észlelt csatolókat figyeli. Ellenkező eseben megadható egy perc alapú intervallum. Az alapértelmezett érték hatvan perc.
notify no;
A no érték azt jelzi, hogy más névszerver nem kap értesítést a zónaadatok módosításáról és a névszerver újraindításáról.

Naplózás

A BIND-ban részletesen megadható, hogy mi, hogyan és hova kerüljön naplózásra. Az esetek többségében az alapértelmezett beállítások megfelelők. A Bejegyzés a naplózás letiltásához a bejegyzés legegyszerűbb formáját mutatja be, amely a naplózást teljesen letiltja.

Example: Bejegyzés a naplózás letiltásához

logging {
        category default { null; };
};

Zónabejegyzések


Icon-example.png Példa: A my-domain.de zónabejegyzései

zone "my-domain.de" in {
      type master;
      file "my-domain.zone";
      notify no;
};

A zone után adja meg az adminisztrálandó tartomány nevét (my-domain.de), amelyet az in kulcsszó követ, valamint a lényeges beállítások blokkja zárójelek között (A my-domain.de zónabejegyzései). Egy másodlagos zóna megadásához állítsa a type paramétert slave értékre és adja meg a névszervert, amely master (elsődleges) névszerverként felügyeli ezt a zónát (Az other-domain.de zónabejegyzése). Ez a master szerver egy másik tartománynak lehet másodlagos névszervere.


Icon-example.png Példa: Az other-domain.de zónabejegyzése

zone "other-domain.de" in {
      type slave;
      file "slave/other-domain.zone";
      masters { 10.0.0.1; };
};

A zónaparaméterek:

type master;
A master kulcsszó jelzi a BIND számára, hogy ezt a zónát ez a helyi névszerver kezeli. Ehhez természetesen megfelelő formátumban létre kell hozni a zónafájlt.
type slave;
Ez a zóna egy másik szerverről kerül áthozásra. Ez csak master szerverekkel együtt használható.
type hint;
A hint típusú . zóna a gyökér névszerverek megadására szolgál. Ezt a zónadefiníciót nem kell módosítani.
my-domain.zone vagy »slave/other-domain.zone« fájl;
Ez a bejegyzés azt a fájlt adja meg, amelyben a tartomány zónaadatai találhatók. Másodlagos névszerverek esetében nem szükséges ez a fájl, mivel ezek az adatok más névszervertől érkeznek. Az elsődleges (master) és másodlagos (slave) fájlok megkülönböztetése érdekében a slave fájlokhoz használja a slave könyvtárat.
masters { szerver-ip-cím; };
Ez a bejegyzés csak slave zónákhoz szükséges. Megadja, hogy a zónafájlokat mely névszerverről kell átvinni.
allow-update {! *; };
Ez a beállítás vezérli a külső írási hozzáférést, amely lehetővé teszi a kliensek számára DNS-bejegyzések létrehozását – biztonsági okokból ez általában nem kívánatos. E bejegyzés hiányában a zónafrissítés egyátalán nem lehetséges. A fenti bejegyzés ugyanezt eredményezi, mivel a ! * letiltja az ilyen műveleteket.

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.
Icon-info.png A pont karakter használata a zónafájlokban

A . karakternek fontos jelentése van a zónafájlokban. Ha a gépnevek . végződé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égződniük, hogy a tartomány ne legyen még egyszer hozzájuk fűzve. A hiányzó vagy rossz helyen megadott pont eredményezi a névszerver konfigurációs hibáinak nagy részét.

Az első esetben tételezzük fel, hogy a world.zone zónafájl a world.cosmos tartományért felelős (A /var/lib/named/world.zone fájl).


Icon-example.png Példa: A /var/lib/named/world.zone fájl

$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
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 kezdődik a SOA vezérlőrekord:
  • Az adminisztrálandó tartomány neve az első pozícióban world.cosmos. Ez .-ra végződik, mivel ellenkező esetben a zóna másodszor is hozzáfűzésre kerülne. Alternatívaként a @ karakter is megadható itt, amely esetben a zóna az /etc/named.conf fájl megfelelő bejegyzéséből kerül kibontásra.
  • Az IN SOA után közvetlenül a zónáért felelős elsődleges (master) névszerver neve található. A név gateway-ről gateway.world.cosmos-ra egészül ki, mivel nem . karakterre végződik.
  • A névszerverért felelős személy e-mail címe következik. Mivel a @ jel speciális jelentéssel rendelkezik, itt is . karaktert kell használni. A root@world.cosmos esetén a bejegyzést root.world.cosmos formában kell megadni. A végén ki kell tenni a . karaktert, hogy a zóna ne kerüljön hozzáfűzésre.
  • A ( és ) közötti sorok a SOA rekordhoz tartoznak.
3. sor
A sorszám (serial) egy tetszőleges 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évszerverek a módosításokról. A szokásos formátum egy tízjegyű dátum és egy növekvő 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évszerver mennyi időnként ellenőrizze a zóna sorszámát. Ebben az esetben naponta.
5. sor
Az újrapróbálkozások gyakorisága (retry rate) megadja, hogy a másodlagos szerver hiba esetén mennyi idő után kísérli meg újból az elsődleges szerver elérését. Itt két óra van beállítva.
6. sor
A lejárat ideje (expiration time) azt az időkorlátot adja meg, amelynek eltelte után a másodlagos névszerver törli a gyorsítótárban tárolt adatokat, amennyiben nem tudja újból elérni az elsődleges szervert. 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 idő, ameddig a más szerverektől érkező, nem feloldott DNS-kérések eredményei tárolásra kerülnek.
9. sor
Az IN NS sor a tartományért felelős névszervert adja meg. A gateway kiegészül a gateway.world.cosmos címre, hiszen nem áll a végén . karakter. Több hasonló sor is lehet – egy az elsődleges, és egy-egy a másodlagos névszerverekhez. Ha az /etc/named.conf fájlban a notify paraméter értéke nem no, akkor az itt megjelenített névszerverek értesítést kapnak a zónaadatok módosításáról.
10. sor
Az MX bejegyzés a levelezőszervert adja meg, amely fogadja, feldolgozza és továbbítja az e-mail üzeneteket a world.cosmos tartományhoz. Ebben a példában ez a sun.world.cosmos gép. A gépnév előtti szám egy úgynevezett preferenciaérték. Ha több MX bejegyzés is van, akkor a legkisebb értékkel rendelkező levelezőszerver kapja meg először a levelet, de ha nem sikerül neki kézbesíteni, akkor a küldő a következő értékűvel próbálkozik.
12–17. 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 world.cosmos midegyikhez hozzáfűzésre kerül. A gateway 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-tal van megjelölve. Az IPv6-címekhez korábban az AAAA jelsort használták, de ez mára elavult.
18. sor
A www álnév használható a moon megcímzéséhez (a CNAME rövidítés a canonical name, azaz kanonikus névből 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áfűzésre fordított sorrendben. A 192.168.1 cím tehát a 1.168.192.in-addr.arpa címre kerül átalakításra. Lásd Fordított keresés.


Icon-example.png Példa: Fordított keresés

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


1. sor
A $TTL az általános TTL-t adja meg, amely az összes itt szereplő bejegyzésre érvényes.
2. sor
A konfigurációs fájlnak fordított keresést kell kezdenie a 192.168.1.0 hálózatra vonatkozóan. Mivel a zóna neve 1.168.192.in-addr.arpa, ezért nem szabad hozzáfűzni 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 előző world.cosmos példában leírtaknak megfelelőek.
3–7. sor
Lásd a world.cosmos előző példáját.
9. sor
Ez a sor újra a zónáért felelős 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 megfelelő 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öző verziói közötti zónatranszfernek probléma nélkül le kell zajlania.

A zónaadatok dinamikus frissítése

A dinamikus frissítés kifejezés egy olyan műveletre utal, amely hozzáadja, módosítja vagy törli a master szerver zónafájljaiban lévő bejegyzéseket. A mechanizmus leírását az RFC 2136 tartalmazza. A dinamikus frissítés minden zónabejegyzéséhez egyénileg kerül beállításra egy opcionális allow-update vagy update-policy szabály hozzáadásával. A dinamikusan frissített zónákat nem célszerű kézzel szerkeszteni.

A frissítendő bejegyzések az nsupdate parancs segítségével kerülnek továbbításra a szerverhez. A parancs pontos szintaxisához tekintse meg az nsupdate kézikönyvoldalát (man 8 nsupdate). Biztonsági okokból az ilyen frissítést TSIG-kulcsok segítségével kell végrehajtani (lásd Biztonságos tranzakciók).

Biztonságos tranzakciók

Biztonságos tranzakciók a tranzakciók aláírásával (TSIG) és megosztott titkos kulcsok alkalmazásával (TSIG-kulcsok) készíthetők. Ez a rész az ilyen kulcsok előállításának módját írja le.

A biztonságos tranzakciókra a különböző szerverek közötti kommunikációhoz és a zónaadatok dinamikus frissítése érdekében van szükség. A kulcsokon alapuló hozzáférés-vezérlés sokkal biztonságosabb, mint a csak IP-címekre épülő vezérlés.

Az alábbi parancs segítségével előállíthat egy TSIG-kulcsot (részletes leírásért tekintse meg a man dnssec-keygen parancs által megjelenített kézikönyvoldalt):

dnssec-keygen -a hmac-md5 -b 128 -n HOST host1-host2

Ez két fájlt hoz létre az alábbihoz hasonló névvel:

Khost1-host2.+157+34265.private Khost1-host2.+157+34265.key

A kulcs maga (például ejIkuCyyGJwwuN3xAteKgg== karaktersorozat) mindkét fájlban megtalálható. A tranzakcióhoz a második fájlt (Khost1-host2.+157+34265.key) át kell vinni a távoli gépre, lehetőleg biztonságos módon (például scp segítségével). A host1 és host2 közötti biztonságos kommunikáció engedélyezéséhez a távoli szerveren az /etc/named.conf fájlban meg kell adni a kulcsot:


key host1-host2. {
 algorithm hmac-md5;
 secret ";ejIkuCyyGJwwuN3xAteKgg==;
};
Icon-Caution.png Az /etc/named.conf fájljogosultságai

Ellenőrizze, hogy az /etc/named.conf fájl jogosultságai megfelelően korlátozva vannak-e. A fájl alapértelmezett jogosultságértéke 0640, a tulajdonos a root, a csoport pedig named. Egy olyan megoldás is lehetséges, hogy a kulcsokat egy külön, korlátozott jogosultságokkal rendelkező fájlba helyezi, amely az /etc/named.conf fájlból kerül betöltésre.

Annak engedélyezéséhez, hogy a host1 szerver használhassa a kulcsot a host2 szerverhez (amely ebben a példában a 192.168.2.3 címmel rendelkezik), a szerver /etc/named.conf fájljának tartalmaznia kell az alábbi szabályt:


server 192.168.2.3 {
  keys { host1-host2. ;};
};

Hasonló bejegyzéseket a host2 konfigurációs fájljába is kell írni.

A biztonságos tranzakciók kialakításához az IP-címekhez és -címtartományokhoz megadott ACL-eken (hozzáférés-vezérlési listák – nem összekeverendő a fájlrendszer ACL-ekkel) kívül TSIG-kulcsokat is meg kell adni. A megfelelő bejegyzés az alábbihoz hasonlóan néz ki:

allow-update { key host1-host2. ;};

A témakör részletesebb leírását a BIND Administrator Reference Manual update-policy része tartalmazza.

Biztonságos DNS

A DNSSEC (biztonságos DNS) leírását az RFC 2535 tartalmazza. A DNSSEC-hez rendelkezésre álló eszközöket a BIND kézikönyv tárgyalja.

Egy biztonságos zónának egy vagy több zónakulccsal kell rendelkeznie. Ezek a dnssec-keygen paranccsal generálhatók, a gépkulcsokhoz hasonlóan. A kulcsok a DSA titkosítási algoritmus segítségével kerülnek előállításra. Az előállított nyilvános kulcsokat a $INCLUDE szabály segítségével a megfelelő zónafájlban kell megadni.

A dnssec-makekeyset parancs segítségével az előállított kulcsok egy halmazba kerülnek, amelyet azután biztonságos módon át kell küldeni a szülőzónához. A szülőn a halmaz a dnssec-signkey parancs segítségével kerül aláírásra. A parancs által előállított fájlokat ezután a zónák aláráírásához használja a rendszer a dnssec-signzone paranccsal, amely végül előállítja a fájlokat, amelyeket minden zóna /etc/named.conf fájljának tartalmaznia kell.

További információ

További információért tekintse meg a BIND Administrator Reference Manual című kézikönyvet, amely az /usr/share/doc/packages/bind/ könyvtárban található. Érdemes elolvasni a kézikönyv által hivatkozott RFC-ket és a BIND man oldalait is. Az /usr/share/doc/packages/bind/README.SuSE fájl a SUSE LINUX-on működő BIND szerverrel kapcsolatos legfrissebb információt tartalmazza.