Konfiguracja LDAP-DNS w Gentoo
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:
|
5.
Zasoby
Plik README.configure.gz
autorstwa autorów programu ldapdns.
Materiał udostępniany na podstawie licencji Creative Commons -
Attribution / Share Alike.
|