LDAP és DNS együttműködése

LDAP DNS helyett

Ha nem is szorosan, de kapcsolódik a témához az a lehetőség, hogy a DNS-szerver helyett csak LDAP-szervert használjunk saját belső címeink feloldására. Erre ad lehetőséget a NSS (Name Service Switch) modul LDAP kiegészítése (libnss-ldap). Segítségével többek között az /etc/hosts állományban rögzíthető adatokat szedhetjük közvetlenül LDAP-szerverből is. A csomag telepítése után az /etc/nsswitch.conf állomány az alábbiak szerint kell kiegészíteni:

hosts: files, dns, ldap

Ennek hatására a glibc gethostbyname és kapcsolódó függvényei a névfeloldást az /etc/hosts állomány, majd a DNS után a /etc/libnss-ldap.conf állományban megadott LDAP konfigurációnak megfelelően közvetlenül egy LDAP-szerverből fogják elvégezni.

Az LDAP szerverben a RFC2307 ajánlásnak megfelelő bejegyzéseknek kell szerepelniük. Itt egy példa:

dn: cn=n1.example.test,o=Network,dc=ldaptest,dc=hu
objectclass: top
objectclass: ipHost
cn: n1.example.test
ipHostNumber: 1.1.1.1

DNS szerverek konfigurációs állományainak generálása LDAP-ból

Egyfelől ilyen alkalmazásokat magunk is készíthetünk viszonylag egyszerűen, de a különféle Linux terjesztésekben csomagban is találhatunk néhányat:

  • ldap2dns: BIND8 és tinydns szerverekhez tud zóna állományokat generálni. Saját sémát használ. Egy webes adminisztrációs felület is tartozik hozzá.
  • ldaptor-utils: python nyelven írt scriptek. Több különféle szerver is támogat (PowerDNS, MaraDNS, BIND)

Összefoglalás

Mint láthatjuk számos lehetőség kínálkozik a hagyományos állomány alapú DNS zóna állományok helyett egy központosított, LDAP alapú DNS management kialakítására. A technológiai lehetőségek adottak, bár koránt sem teljesek és végletekig optimalizáltak. Mindemellett fontos, hogy a lehetőségek közül igényeinknek megfelelően válasszunk és a válaszott megoldást megfelelően illesszük a rendszermanagement eszközeinkhez.

Szalai Ferenc | 2006, június 5 - 15:45 | |