The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

OpenLDAP: установка, конфигурация репликации (ldpa linux debian replication)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: ldpa, linux, debian, replication,  (найти похожие документы)
From: Roman Sozinov <http://sozinov.blogspot.com>; Date: Mon, 3 Jan 2008 14:31:37 +0000 (UTC) Subject: OpenLDAP: установка, конфигурация репликации Оригинал: http://sozinov.blogspot.com/2007/01/openldap.html Данное описание включает в себя описание установки и последующей настройки репликации LDAP-серверов OpenLDAP 2.2.23 на базе Debian Sarge 3.1. Установка и первоначальная конфигурация 1. Установить OpenLDAP и необходимые утилиты: # apt-get install slapd ldap-utils Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: libiodbc2 libperl5.8 libslp1 Suggested packages: slpd openslp-doc ldap-utils Recommended packages: db4.2-util The following NEW packages will be installed: libiodbc2 libperl5.8 libslp1 slapd 0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. Need to get 1509kB of archives. After unpacking 3998kB of additional disk space will be used. Do you want to continue? [Y/n] y Configuring slapd The DNS domain name is used to construct the base DN of your LDAP directory. Entering foo.bar.org will give you the base DN dc=foo, dc=bar, dc=org DNS domain name: example.com Whatever you enter here will be stored as the name of your organization in the base DN of your LDAP directory. Name of your organization: My Company Please enter the password for the admin entry in your LDAP directory Admin password: password Confirm password: password The slapd daemon now disables the old LDAPv2 protocol by default. Programs and users are generally expected to be upgraded to LDAPv3. If you have old programs which have not been moved to use LDAPv3 and you still need LDAPv2 support then select this option and 'allow bind_v2' will be added to your slapd.conf to tell slapd to accept LDAPv2 connections. Allow LDAPv2 protocol? No Setting up slapd (2.2.23-8) ... Creating initial slapd configuration... done. Creating initial LDAP directory... done. Starting OpenLDAP: (db4.2_recover not found), slapd. Дополнительную информацию об установленном пакете можно почерпнуть из документа /usr/share/doc/slapd/README.Debian 2. Теперь необходимо сконфигурировать LDAP-директорию на основании своих требований. Первым делом следует остановить сервис: # /etc/init.d/slapd stop Stopping OpenLDAP: slapd. Если не устраивает структура директории, построенная по принципу доменных имен (dc=example, dc=com) и хочется использовать географическую структуру (o=My Company, c=LT), прежде необходимо удалить текущую базу LDAP. БД находится в /var/lib/ldap, файл DB_CONFIG является просто конфигурационным файлом и его пока не следует трогать. Если структура по принципу доменных имен устраивает, то можно сразу "перенашнуть" на шаг No.6. 3. Теперь следует поправить основной конфигурационный файл /etc/ldap/slapd.conf. Необходимо изменить suffix (например, на c=lt) и dn администратора в описании доступа (cn=admin,c=lt). 4. Перед запуском LDAP-директории, чтобы избежать проблемы "яйца и курицы", необходимо "наполнить" её минимальным содержанием - сформировать корень и добавить информацию о первом пользователе (cn=admin,lt). Для этого необходимо сформировать LDIF-файл, описывающий данные корень и первого пользователя. Пример содержания: # cat ldap.ldif # Entry 1: c=LT dn: c=LT c: LT objectClass: country objectClass: top # Entry 2: cn=admin,c=LT dn: cn=admin,c=lt objectClass: simpleSecurityObject objectClass: organizationalRole cn: admin description: LDAP administrator userPassword: {crypt}IvuNBMeSU9OzA Для генерации crypt-хэша будущего пароля администратора можно воспользоваться утилитой makepassword: # echo "password" | makepasswd --clearfrom=- --crypt password IvuNBMeSU9OzA С помощью утилиты slapadd наполняем первоначальным содержимым директорию: # slapadd -l ldap.ldif 5. Запустить ldap-сервис и проверить работоспособность заново сконфигурированной директории # /etc/init.d/slapd start Starting OpenLDAP: (db4.2_recover not found), slapd. # ldapsearch -x -b "c=lt" -D "cn=admin,c=LT" -w password -h localhost # extended LDIF # # LDAPv3 # base with scope sub # filter: (objectclass=*) # requesting: ALL # # LT dn: c=LT c: LT objectClass: country objectClass: top # admin, lt dn: cn=admin,c=lt objectClass: simpleSecurityObject objectClass: organizationalRole cn: admin description: LDAP administrator userPassword:: e2NyeXB0fUl2dU5CTWVTVTlPekE= # search result search: 2 result: 0 Success # numResponses: 3 # numEntries: 2 # ldapsearch -x -b "c=lt" -h localhost # extended LDIF # # LDAPv3 # base with scope sub # filter: (objectclass=*) # requesting: ALL # # LT dn: c=LT c: LT objectClass: country objectClass: top # admin, lt dn: cn=admin,c=lt objectClass: simpleSecurityObject objectClass: organizationalRole cn: admin description: LDAP administrator # search result search: 2 result: 0 Success # numResponses: 3 # numEntries: 2 Из вывода видно, что в первом случае при аутентификации использовался пользователь cn=admin,c=lt, имеющий доступ к паролям, во втором - анонимный пользователь, имеющий ограниченный круг прав. 6. На данном этапе можно наполнить содержимым только что созданную директорию и начать с ней полноценную работу. Для работы с содержимым ldap-директории существует масса различных программ-клиентов, приведу только те, что использую сам: * phpLDAPadmin * JXplorer * LDAP Browser (только для просмотра содержимого) Репликация Для простоты реализации репликации рассматривается 2 ldap-сервера, являющиеся зеркальными копиями друг друга, сконфигурированные по вышеприведенному описанию. 1. Остановить на обоих серверах slapd сервис. 2. На master-сервере в /etc/ldap/slapd.conf добавить описание реплики (slave-сервера): replica host=slave_ldap.example.com "binddn=cn=admin,c=lt" bindmethod=simple credentials=password replogfile /var/lib/ldap/replog host - адрес slave-сервера binddn - пользователь, который будет использоваться master-сервером, при передачи обновленных данных на slave-сервер. Он должен иметь соответствующий доступ на slave-сервере. bindmethod - метод аутентификации. simple - всё передается в чистом виде, очень ненадежно с точки зрения информационной безопасности, но для тестовых целей или изолированной сети вполне подходит. credentials - пароль пользователя binddn 3. На slave-сервере в /etc/ldap/slapd.conf добавить строки: updatedn "cn=admin,c=lt" updateref "ldap://master_ldap.example.com" updatedn - пользователь, которому разрешено проводить репликацию updateref - ссылка на сервер, которая передается клиенту, если клиент пытается внести изменения на slave-сервере 4. Запустить slapd-сервисы на обоих серверах и проверить работоспособность репликации. В случае если изменения происходят на master-сервере, они почти моментально будут переданы на slave-сервер. Если же изменения клиент старается внести непосредственног на slave-сервере, ему будет возвращен адрес master-сервера: # ldapmodify -f ldap.ldif -x -h slave_ldap.example.com -D "uid=user3,ou=people, c=lt" -w password modifying entry "uid=user3,ou=people,c=lt" ldap_modify: Referral (10) referrals: ldap://master_ldap.example.com/uid=user3,ou=People,c=lt Ссылки: 1. OpenLDAP Software 2.3 Administrator's Guide 2. LDAPMODIFY(1)

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Спонсоры:
Слёрм
Inferno Solutions
Hosting by Ihor
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2019 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру