Tartalomjegyzék
Kivonat
A DNS (tartománynévrendszer) a tartomány- és gépneveket IP-címekké alakító rendszer. A 192.168.2.100 IP-cím például a jupiter gépnévhez lehet rendelve. Egy saját névkiszolgáló beállítása előtt olvassa el az általános tudnivalókat a DNS-ről: 21.3. - Névmegfeleltetés. Az alábbi konfigurációs példák a BIND-ra hivatkoznak.
A tartomány névtere zónáknak nevezett részekre van osztva. Az example.com például a com tartomány example nevű részét (vagy zónáját) jelenti.
A DNS-kiszolgáló egy olyan kiszolgáló, amelyik egy adott tartomány név- és IP-adatait kezeli. Működhet egy elsődleges DNS-kiszolgáló az elsődleges zónához, egy másodlagos kiszolgáló a másodlagos zónához, vagy egy másodlagos kiszolgáló zónák nélkül, csak gyorsítótárazáshoz.
Az elsődleges (master) zóna tartalmazza a hálózat összes gépét, és az elsődleges zóna a DNS-kiszolgálón tartalmazza a legfrissebb adatokat a tartomány összes gépéről.
A másodlagos zóna az elsődleges zóna másolata. A másodlagos zóna DNS-kiszolgálója a zónaadatokat az elsődleges kiszolgálótól kapja, ún. zónatranszfer-műveletek keretében. A másodlagos zóna DNS-kiszolgálója hatályos adatokat szolgáltat a zónáról, feltéve, hogy érvényes (nem lejárt) zónaadatokkal rendelkezik. Ha a másodlagos kiszolgáló nem tudja lekérni a zónaadatokat, akkor abbahagyja a zónára vonatkozó kérések kiszolgálását.
A továbbítók olyan DNS-kiszolgálók, amelyekhez a saját DNS-kiszolgáló továbbítani tudja az olyan kéréseket, amelyeket maga nem tud megválaszolni. Arra, hogy ugyanazon konfiguráción belül többféle konfigurációs forrást is meg lehessen adni, a netconfig használható (lásd még: man 8 netconfig).
A rekordok tárolják az adatokat a nevekről és az IP-címekről. A támogatott rekordtípusokat és szintaxisukat a BIND dokumentációja írja le. Néhány fontosabb rekord:
Az NS rekord mondja meg a névkiszolgálók számára, hogy egy adott tartományzónáért mely gépek felelősek.
Az MX (mail exchange, levélcsere) rekordok írják le, hogy mely gépek felelősek az adott zónával kapcsolatos levelek irányításáért az interneten.
A SOA (Start of Authority, jogosultság kezdete) rekord a zónafájl első rekordja. A SOA rekord akkor használatos, amikor a DNS szinkronizálja az adatokat több gép között.
A DNS-kiszolgáló telepítéséhez indítsa el a YaST-ot és válassza ki a + menüpontot. Válassza ki a + menüpontot, majd a pontot. A telepítési folyamat befejezéséhez erősítse meg a függő csomagok telepítését.
Használja a YaST DNS-modulját a DNS-kiszolgáló beállításához. A modul első indításakor megjelenik egy varázsló, és feltesz néhány alapkérdést a kiszolgáló felügyeletével kapcsolatban. A kezdeti beállítások végeztével egy alapbeállításokkal rendelkező DNS-kiszolgálót kapunk. A szakértői módban olyan speciális beállítások végezhetők el, mint az ACL-ek beállítása, a naplózás, a TSIG-kulcsok megadása és még sok egyéb.
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.
A modul első elindításakor megjelenik a párbeszédablak (23.1. ábra - DNS-kiszolgáló telepítése: Továbbítók beállításai). A határozza meg, hogy az eszközök biztosítanak-e továbbítókat, vagy van saját . További információ a netconfigról: man 8 netconfig.
A továbbítók olyan DNS-kiszolgálók, amelyekhez a saját DNS-kiszolgáló továbbítani tudja az olyan kéréseket, amelyeket maga nem tud megválaszolni. Adja meg az IP-címet és nyomja meg a gombot.
A párbeszédablak több részből áll, és ez felelős a 23.6. - Zónafájlok részben leírt zónafájlok kezeléséért. Új zóna létrehozásához a mezőben adjon meg egy nevet. Visszirányú 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 (elsődleges, másodlagos vagy továbbító). Lásd: 23.2. ábra - DNS-kiszolgáló telepítése: DNS-zónák. A már meglévő zónához tartozó beállításokhoz nyomja meg a gombot. A zóna eltávolításához nyomja meg a gombot.
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 a pont megjelölésével. Ezt követően válassza ki, hogy indításkor hogyan viselkedjen a DNS-kiszolgáló ( vagy legyen kapcsolva). Az LDAP-támogatás is aktiválható. Lásd: 23.3. ábra - DNS-kiszolgáló telepítése: A varázsló használatának befejezése.
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-kiszolgálókonfiguráció, amelynek a legfontosabb funkciói már működnek.
Az részben lehet beállítani, hogy a DNS-kiszolgáló elinduljon-e rendszerindításkor, vagy kézzel legyen elindítva. A DNS-kiszolgáló azonnali elindításához nyomja meg a gombot. A DNS kiszolgáló leállításához nyomja meg a gombot. Az aktuális beállítások mentéséhez nyomja meg a gombot. A ablakban megnyitható a tűzfal DNS-portja, a segítségével pedig módosíthatók a tűzfalbeállítások.
Az 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-kiszolgáló újraindításkor vagy a konfiguráció ismételt betöltésére való felszólításkor veszi át.
Ha a helyi DNS-kiszolgáló nem tud megválaszolni egy kérést, akkor megpróbálja azt továbbítani egy felé, amennyiben így lett beállítva. A továbbító kézzel vehető fel a részbe. Ha a továbbító nem statikusan van megadva (ilyen a helyzet például telefonos kapcsolatok esetében), akkor a konfigurációt a kezeli. További információ a netconfigról: man 8 netconfig.
Ebben a részben adja meg a kiszolgáló legfontosabb beállításait. Az menüben válassza ki a kívánt elemet, majd a megfelelő beviteli mezőben adja meg az értékét. A gomb megnyomásával vegye fel az új bejegyzést.
A részben állítható be, hogy DNS-kiszolgáló mit naplózzon és hogyan. A alatt adja meg, hogy a DNS-kiszolgáló hova írja a naplóadatokat. A kiválasztása esetén a /var/log/messages rendszerszintű naplófájl kerül használatra, vagy a gombbal megadható egy másik fájl. Az utóbbi esetben adjon meg egy nevet, adja meg a maximális fájlméretet (megabyte-ban), valamint a tárolandó naplófájlok számát.
További lehetőségek a részben érhetők el. Az megjelölése esetén minden lekérdezés naplózásra kerül. Ebben az esetben a naplófájl nagyon 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-kiszolgáló közötti adatforgalom naplózásához engedélyezze a lehetőséget. Az elsődleges és másodlagos kiszolgálók közötti zónatranszfer adatforgalmának naplózása a lehetőséggel engedélyezhető. Lásd: 23.4. ábra - DNS-kiszolgáló: Naplózás.
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 mezőben adjon meg egy nevet, az mezőben adjon meg egy IP-címet (hálózati maszkkal, vagy anélkül) az alábbi módon:
{ 192.168.1/24; }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.
A TSIG-k (tranzakció-aláírások) fő célja a DHCP- és DNS-kiszolgálók közötti kommunikáció biztonságossá tétele. A TSIG-kulcsok bemutatása: 23.8. - Biztonságos tranzakciók
TSIG-kulcs előállításához a mezőben adjon meg egy egyedi nevet és adja meg a fájlt, amelyben a kulcsot tárolni kívánja (). A gomb megnyomásával erősítse meg a beállításokat.
Egy már korábban létrehozott kulcs használatához hagyja üresen a mezőt, majd a mezőben válassza ki a tároláshoz használt fájlt. Végül nyomja meg a gombot.
Egy másodlagos zóna hozzáadásához válassza ki a részt, adja meg a zóna típusát , írja be az új zóna nevét, majd kattintson a gombra.
A az részben adja meg az elsődleges kiszolgálót, ahonnan a másodlagos kiszolgáló majd veszi az adatokat. A kiszolgáló hozzáférésének korlátozásához válassza ki a lista valamelyik ACL-jét.
Egy elsődleges zóna hozzáadásához válassza ki a részt, adja meg a zóna típusát , írja be az új zóna nevét, majd kattintson a gombra. Az elsődleges (master) zóna hozzáadásakor, egy fordított (reverse) zónát is hozzá kell adni. Például a pelda.hu zóna hozzáadásakor, ami a 192.168.1.0/24 alhálózatban található gépekre mutat, akkor fel kell venni egy fordított (reverse) zónát is a megadott IP-címtartományra. A meghatározás szerint ezt 1.168.192.in-addr-arpa névvel kell ellátni.
Egy elsődleges zóna módosításához válassza ki a részt, válassza ki a táblázatból az elsődleges zónát, majd kattintson a gombra. A párbeszédablak több lapból áll: (ez jelenik meg elsőként), , , és .
A beállítóablakban (23.5. ábra - DNS-kiszolgáló: Zónaszerkesztő (alapok)) megadhatók a dinamikus DNS beállításai, valamint a zónák kliensekhez és másodlagos névkiszolgálókhoz átadásának a hozzáférési beállításai. A zónák dinamikus frissítésének engedélyezéséhez állítsa be a lehetőséget, valamit a hozzátartozó TSIG-kulcsot. A frissítés indítása előtt szükség van a kulcsra. A zónatranszferek engedélyezéséhez válassza ki az ehhez tartozó ACL-eket. ACL-eket korábban definiálni kell.
Az ablakban állítsa be a zónatranszferek engedélyezését. Annak megadásához, hogy ki tölthet le zónákat, válassza ki a megfelelő ACL-eket.
Az ablakban alternatív névkiszolgálóneveket lehet megadni a megadott zónákhoz. Ellenőrizze, hogy a saját névkiszolgálónév benne van-e a listában. Egy bejegyzés hozzáadásához a mezőben adja meg a nevét, majd nyomja meg a gombot. Lásd: 23.6. ábra - DNS-kiszolgáló: Zónaszerkesztő (NS bejegyzések).
Ha fel kíván venni egy levelezőkiszolgálót 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 gombot. Lásd: 23.7. ábra - DNS-kiszolgáló: Zónaszerkesztő (MX bejegyzések).
Ezen az oldalon lehet SOA (start of authority, jogosultság kezdete) bejegyzéseket létrehozni. Az egyes lehetőségek leírása: 23.6. példa - A /var/lib/named/example.com.zone fájl
Ebben a párbeszédablakban szabályozható a névfeloldás. A menüpontban adja meg a gépnevet, majd válassza ki a típusát. Az a fő bejegyzést ábrázolja. Ennek értéke IP-cím kell, hogy legyen. A egy másodlagos név. A részletes vagy részleges bejegyzések esetén használja az vagy típust, amelyek az és lapokon megadott információt terjesztik ki. Ez a három típus egy meglévő A rekordra kerül feloldásra. A a fordított zónákhoz való. Pont az A rekord fordítottja, például:
hostname.example.com. IN A 192.168.0.1 1.0.168.192.in-addr.arpa IN PTR hostname.example.com.
![]() | Fordított (reverse) zóna szerkesztése |
|---|---|
A továbbító (forward) zóna hozzáadása után vissza kell menni a főmenübe és a szerkesztéshez ki kell választani a fordított (reverse) zónát. Az lapon található bekapcsolása után ki kell választani a továbbító (forward) zónát. Így minden, a továbbító zónában történt változás automatikusan frissítésre kerül a fordított zónában. | |
Az openSUSE rendszeren a BIND (Berkeley Internet Name Domain) névkiszolgáló 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ő internetkapcsolattal és az /etc/resolv.conf fájlban a localhost bejegyzéshez beírta a 127.0.0.1 névkiszolgálócí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évkiszolgálón keresztül hajtja végre, ez viszont meglehetősen lassú folyamat. Célszerűbb beírni a szolgáltató DNS-kiszolgálójának 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évkiszolgáló csak ideiglenesen tároló</emphasis> (caching-only) névkiszolgálóként működik. Teljeskörű DNS-kiszolgálóvá akkor válik, ha beállít egy saját zónát. Nézze meg a /usr/share/doc/packages/bind/config fájlban található egyszerű példát.
![]() | A névkiszolgáló-adatok automatikus igazítása |
|---|---|
Az internet- vagy hálózati kapcsolat típusától függően a névkiszolgáló adatai automatikusan a meglévő állapotokhoz igazíthatók. Ehhez, állítsa be a | |
Azonban ne állítson be semmilyen hivatalos tartománynevet ha nem tulajdonosa vagy adminisztrátora az annak. 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ő webkiszolgáló például ilyenkor nem lenne elérhető a tartományból.
A névkiszolgáló elindításához adja ki az rcnamed start parancsot root felhasználóként. Ha a „done” üzenet jelenik meg a jobb oldalon zölddel, a névkiszolgáló nevével, akkor az elindítás sikeresen megtörtént. A host vagy dig programok segítségével tesztelje azonnal a névkiszolgálót a helyi rendszeren, amelynek a localhost értéket kell visszaadnia alapértelmezett kiszolgálóként a 127.0.0.1 címmel. Ha nem ez a helyzet, akkor az /etc/resolv.conf valószínűleg helytelen névkiszolgáló-bejegyzést tartalmaz, vagy a fájl nem is 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 kiszolgáló pillanatnyilag fut-e. Ha a névkiszolgáló 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évkiszolgálóját (vagy egy a hálózaton már futó névkiszolgálót) 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 (23.1. példa - 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.
23.1. 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.1.116; };
allow-query { 127/8; 192.168/16 };
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évkiszolgálót leállítja, majd az rcnamed restart parancs segítségével újraindítja. Az rcnamed stop parancs segítségével a kiszolgáló bármikor leállítható.
A BIND névkiszolgáló beállításait a /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. Az 23.2. példa - Egyszerű /etc/named.conf fájl egy minimális /etc/named.conf fájlt mutat be.
23.2. példa - Egyszerű /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";
};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.
ip-cím; };
Azokat a névkiszolgálókat 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 192.168.1.116).
Minden DNS-kérést előbb továbbít, mielőtt megpróbálná a root névkiszolgálók 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évkiszolgálókhoz. Ennek tűzfal használata esetén van kiemelt szerepe.
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.
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 kiszolgáló csak helyettesítő karakteres (wildcard) címeket tud fogadni.
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.
Azt adja meg, hogy a BIND melyik portot használja az IPv6-lekérdezésekhez.
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.2.0/24 címhez hasonlóra. A végén szereplő /24 a hálózati maszk rövid alakja (ebben az esetben a 255.255.255.0).
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.
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.
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 60 perc.
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ő esetben megadható egy perc alapú intervallum. Az alapértelmezett érték hatvan perc.
A no érték azt jelzi, hogy más névkiszolgáló nem kap értesítést a zónaadatok módosításáról és a névkiszolgáló újraindításáról.
Az elérhető kapcsolók listája a manoldalakon olvasható a man 5 named.conf parancs segítségével.
A BIND-ban részletesen megadható, hogy mi, hogyan és hova kerüljön naplózásra. Normális esetben az alapértelmezett beállítások megfelelők. A 23.3. példa - 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.
23.4. példa - Az example.com zónabejegyzései¶
zone "example.com" in {
type master;
file "example.com.zone";
notify no;
};
A zone után adja meg az adminisztrálandó tartomány nevét (example.com), amelyet az in kulcsszó követ, valamint a lényeges beállítások blokkja zárójelek között (23.4. példa - Az example.com 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évkiszolgálót, amely elsődleges névkiszolgálóként felügyeli ezt a zónát (23.5. példa - example.net zónabejegyzése). Ez az elsődleges kiszolgáló egy másik tartománynak lehet másodlagos névkiszolgálója.
23.5. példa - example.net zónabejegyzése¶
zone "example.net" in {
type slave;
file "slave/example.net.zone";
masters { 10.0.0.1; };
};A zónaparaméterek:
A master kulcsszó jelzi a BIND számára, hogy ezt a zónát ez a helyi névkiszolgáló kezeli. Ehhez persze megfelelő formátumban létre kell hozni a zónafájlt.
Ez a zóna egy másik kiszolgálóról kerül áthozásra. Ez csak elsődleges kiszolgálókkal együtt használható.
A . zóna, amely hint típusú, a gyökér névkiszolgálók megadására szolgál. Ezt a zónadefiníciót nem kell módosítani.
example.com.zone vagy „slave/example.net.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évkiszolgálók esetében nem szükséges ez a fájl, mivel ezek az adatok más névkiszolgálótó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.
kiszolgáló-ip-cím; };Ez a bejegyzés csak másodlagos zónákhoz szükséges. Megadja, hogy a zónafájlokat mely névkiszolgálóról kell átvinni.
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általán nem lehetséges. A fenti bejegyzés ugyanezt eredményezi, mivel a ! * * letiltja az ilyen műveleteket.
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.
![]() | A pont használata a zónafájlokban |
|---|---|
A végén ki kell tenni a | |
Az első esetben tételezzük fel, hogy a example.com.zone zónafájl a example.com tartományért felelős (23.6. példa - A /var/lib/named/example.com.zone fájl).
23.6. példa - 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 kezdődik a SOA vezérlőrekord:
Az adminisztrálandó tartomány neve az első pozícióban example.com. 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 a zónáért felelős elsődleges (master) névkiszolgáló neve található. A dns-ről dns.example.com-ra egészül ki, mivel nem "." karakterre végződik.
A névkiszolgálóé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@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áfűzésre.
A ( és ) közötti sorok a SOA rekordhoz tartoznak.
A sorszám 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évkiszolgálók 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.
A frissítési gyakoriság (refresh rate) azt adja meg, hogy a másodlagos névkiszolgáló mennyi időnként ellenőrizze 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 idő után kísérli meg újból az elsődleges kiszolgáló elérését. Itt két óra van beállítva.
A lejárat ideje (expiration time) azt az időkorlá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 elsődleges kiszolgálót. Itt, egy hét.
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 kiszolgálóktól érkező, nem feloldott DNS-kérések eredményei tárolásra kerülnek.
Az IN NS sor a tartományért felelős 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 elsődleges, é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 levelezőkiszolgálót adja meg, amely fogadja, feldolgozza és továbbítja az e-mail üzeneteket az example.com tartományhoz. Ebben a példában ez a mail.example.com 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őkiszolgáló kapja meg először a levelet, ha nem sikerül neki kézbesíteni, akkor a küldő a következő értékűvel 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 az example.com mindegyikhez hozzáfűzé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 cím egy IPv-cím, akkor a bejegyzés AAAA-val van megjelölve.
![]() | IPv6-szintaxis |
|---|---|
Az IPv6 bejegyzés szintaxisa valamelyest eltér az IPv4-étől. A töredezettség elkerülése érdekében kötelező információt adni a cím előtt a kihagyott bitekről. Az IPv6 cím kitöltéséhez a „0” számjegy, a két kettőspont pedig a cím megfelelő helyén használatos. pluto AAAA 2345:00C1:CA11::1234:5678:9ABC:DEF0 pluto AAAA 2345:00D2:DA11::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é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 cím tehát a 168.192.in-addr.arpa címmé alakítódik át. Lásd: 23.7. példa - Fordított keresés.
23.7. példa - 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 szereplő 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á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ő example.com példában leírtaknak megfelelőek.
Lásd az example.com előző példáját.
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.
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 dinamikus frissítés kifejezés egy olyan műveletre utal, amely hozzáadja, módosítja vagy törli az elsődleges kiszolgáló 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 szabad kézzel szerkeszteni.
A frissítendő bejegyzések az nsupdate parancs segítségével továbbítódnak a kiszolgálóhoz. 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 23.8. - 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 és használatának módját írja le.
A biztonságos tranzakciókra a különböző kiszolgálók 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 állítson elő 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 az 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 a host2 közötti biztonságos kommunikációhoz, a távoli kiszolgálókon a kulcsnak a /etc/named.conf fájlban kell lennie:
key host1-host2 {
algorithm hmac-md5;
secret "ejIkuCyyGJwwuN3xAteKgg==";
};![]() | Az /etc/named.conf fájljogosultságai |
|---|---|
Ellenőrizze, hogy az include "filename"
A | |
Annak engedélyezéséhez, hogy a host1 kiszolgáló használhassa a kulcsot a host2 kiszolgálóhoz (amely ebben a példában a 10.1.2.3 címmel rendelkezik), a kiszolgáló /etc/named.conf fájljának tartalmaznia kell az alábbi szabályt:
server 10.1.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.
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 készülnek. Az előállított nyilvános kulcsokat az $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 íródik alá. A parancs által előállított fájlokat ezután a zónák aláí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óért tekintse meg a bind-doc csomag BIND Administrator Reference Manual című kézikönyvét, 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 az openSUSE rendszeren működő BIND-kiszolgálóval kapcsolatos legfrissebb információt tartalmazza.