Gentoo Logo

Konfiguracja LDAP-DNS w Gentoo

Spis treści:

1.  Wprowadzenie

LDAPDNS to mały serwer dostarczający usługę DNS dla lokalnej sieci. Dzięki DNS można zarządzać nazwami hostów w scentralizowany sposób, dzięki czemu możliwa jest rezygnacja z irytującego aktualizowania plików /etc/hosts po każdej zmianie nazwy hosta któregoś z komputerów.

Pakiet LDAPDNS wykorzystuje LDAP do przechowywania wszystkich wpisów DNS (linii zawierających nazwę hosta i przypisany mu numer IP). LDAP to protokół umożliwiający centralne przechowywanie danych w bazach zwanych katalogami. Najbardziej znanym pakietem tego typu w systemie Linux jest OpenLDAP, darmowa implementacja LDAP.

Dzięki temu krótkiemu opisowi, możliwe będzie skonfigurowanie usług DNS w sieci minimalnym kosztem pracy.

2.  Konfiguracja LDAP-DNS

Po pierwsze instalujemy pakiet net-dns/ldapdns.

Listing 2.1: Instalowanie ldapdns

# emerge net-dns/ldapdns

Następnie konfigurujemy ldapdns, aby przechowywał wpisy DNS dla naszej sieci. W tym celu skorzystamy z polecenia ldapdns-conf, z następującą składnią:

Listing 2.2: Składnia ldapdns-conf

ldapdns-conf acct logacct /path yourip ldaphost dn [suffix]
Słowo kluczowe Wyjaśnienie Przykład
acct Nazwa użytkownika z jaką zostanie uruchomiony ldapdns ldapdns
logacct Nazwa użytkownika z jaką zostanie uruchomione logowanie ldapdns dnslog
/path Katalog, w którym zostanie zamknięty ldapdns (chroot) /var/lib/ldapdns
yourip Adres IP, na którym będziemy nasłuchiwać 127.0.0.1
ldaphost Adres serwera LDAP ldapi://%2fvar%2frun%2fopenldap%2fslapd.sock
dn Referencje logowania w LDAP cn=Manager,dc=yourdomain
suffix Opcjonalna domyślna ścieżka ldap do dodawania wszystkich zapytań ou=Machines,dc=yourdomain

Należy zastąpić 127.0.0.1 adresem IP serwera, który jest osiągalny dla wszystkich komputerów. Należy też wpisać odpowiednią nazwę domeny zamiast yourdomain.

Listing 2.3: Przykładowe uruchomienie ldapdns-conf

# ldapdns-conf ldapdns dnslog /var/lib/ldapdns 127.0.0.1 ldapi://%2fvar%2frun%2fopenldap%2fslapd.sock cn=Manager,dc=yourdomain ou=Machines,dc=yourdomain

Następnie ustawiamy hasło do LDAP:

Listing 2.4: Ustawianie hasła do LDAP

# echo YourSecretPassword > /var/lib/ldapdns/root/password
# chmod 0400 /var/lib/ldapdns/root/password

Następnie konfigurujemy ldapdns, aby używał prostych metod autoryzacji:

Listing 2.5: Konfiguracja ldapdns

# echo simple > /var/lib/ldapdns/env/LDAP_AUTH
# echo cosine > /var/lib/ldapdns/env/SCHEMA

Opcjonalnie można też podać adres e-mailowy administratora:

Listing 2.6: Ustawianie adresu mailowego

# echo Mail@adres > /var/lib/ldapdns/env/HOSTMASTER

Następnie dodajemy usługę do nadzorowanego skanowania, którego demona uruchomimy teraz, o ile nie zrobiliśmy tego wcześniej:

Listing 2.7: Zarządzanie usługami

# ln -s /var/lib/ldapdns /service
# /etc/init.d/svscan start
# rc-update add svscan default

3.  Konfiguracja OpenLDAP

Następnie musimy skonfigurować OpenLDAP do obsługi DNS. Otwieramy plik /etc/openldap/slapd.conf ulubionym edytorem i upewniamy się, że znajdują się tam następujące linie:

Listing 3.1: Edycja /etc/openldap/slapd.conf

include         /etc/openldap/schema/cosine.schema
include         /etc/openldap/schema/inetorgperson.schema
include         /etc/openldap/schema/nis.schema

Następnie bootstrapujemy LDAP z bazą dn zdefinowaną wcześniej w ldapdns-conf. W tym celu najpierw tworzymy plik o nazwie bootstrap.ldif, a następnie wypełniamy go informacjami o DNS.

W przykładzie ustawimy bootstrap.ldif dla fikcyjnej domeny cherchetoujours.org.

Następnie przeprowadzamy bootstrap LDAP:

Listing 3.2: Bootstrapowanie LDAP

# ldapadd -x -D "cn=Manager,dc=yourdomain" -W -f bootstrap.ldif

4.  Sprawdzanie konfiguracji

Wszystko gotowe. Pozostaje sprawdzić ustawienia za pomocą programu nslookup (należącego do pakietu net-dns/bind-tools):

Listing 4.1: Sprawdzanie konfiguracji ldapdns

# nslookup ns1.yourdomain
 Note:  nslookup is deprecated and may be removed from future releases.
 Consider using the `dig' or `host' programs instead.  Run nslookup with
 the `-sil[ent]' option to prevent this message from appearing.
 Server:         127.0.0.1
 Address:        127.0.0.1#53

 Name:   ns1.example.com
 Address: (Adres IP serwera)

5.  Zasoby

Plik README.configure.gz autorstwa autorów programu ldapdns.



Drukuj

Zaktualizowano 1 maja 2008

Oryginalna wersja dokumentu nie jest już aktualizowana

Podsumowanie: Dzięki ldapdns można w prosty sposób udostępnić usługi DNS dla lokalnej sieci. Wpisy DNS są wtedy przechowywane w środowisku LDAP. Ten tekst opisuje proces konfiguracji OpenLDAP i ldapdns w tym właśnie celu.

Steve-o
Autor

Sven Vermeulen
Redaktor

Donate to support our development efforts.

Copyright 2001-2012 Gentoo Foundation, Inc. Questions, Comments? Contact us.