XaaS Cloud Computing Loading ...
X
درخواست شما ثبت شد

درخواست شما با موفقیت ثبت شد. گروه پشتیبانی ما درخواست شما را بررسی و در اسرع وقت با شما تماس خواهند گرفت

راه‌اندازی OpenLDAP Master-Slave

راه‌اندازی OpenLDAP Master-Slave Replication

راه‌اندازی OpenLDAP Master-Slave Replication

در این راهنما در مورد چگونگی تتظیمات اپن ال‌دپ (OpenLDAP) جهت تعریف سرور اصلی (Master)، تعریف سرور(های) پشتیبان (Slave) و ایجاد رونوشت این سرورها از همدیگر توضیح داده شده است. البته این روش دارای محدودیت نوشتن سرور(های) پشتیبان روی فهرست LDAP می‌باشد که می‌توان جهت رفع این محدودیت از روش رونوشت Multi-Master استفاده نمود.

برای این کار ابتدا باید دو سرور LDAP (Master و Slave) ایجاد کنید (در صورتی که مایل به راه‌اندازی بیش از یک سرور پشتیبان می‌باشید، یک سرور اصلی و به تعداد مورد نیاز سرور پشتیبان LDAP بسازید).

تنظیمات سرور Master:

ابتدا یک نام کاربری جدید با تمام اختیارات خواندن اشیاء LDAP بسازید تا با توجه به ملاحظات امنیتی، نیاز به استفاده از نام کاربری ریشه (admin) نباشد:

[root@openldap ~]# vim rpuser.ldif

متن زیر را در فایل LDIF کپی کنید:

dn: uid=rpuser,dc=test,dc=local
objectClass: simpleSecurityObject
objectclass: account
uid: rpuser
description: Replication User
userPassword: test123

با استفاده از دستور ldapadd یک نام کاربری جدید به فهرست OpenLDAP اضافه کنید:

[root@openldap ~]# ldapadd -x -W -D "cn=admin,dc=test,dc=local" -f rpuser.ldif

خروجی دستور:

Enter LDAP Password:
adding new entry "uid=rpuser,dc=test,dc=local"

بخش syncprov را روی سرور Master فعال کنید:

[root@openldap ~]# vim syncprov_mod.ldif

متن زیر را در فایل syncprov_mod.ldif کپی کنید:

dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulePath: /usr/lib/ldap
olcModuleLoad: syncprov.la

اکنون فایل تنظیمات را به سرور Master بفرستید:

[root@openldap ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f syncprov_mod.ldif

خروجی دستور:

SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=module,cn=config"

باید syncprov را برای همه فهرست‌ها فعال کنید:

[root@openldap ~]# vim syncprov.ldif

متن زیر را در فایل بالا کپی کنید:

dn: olcOverlay=syncprov,olcDatabase={1}hdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
olcSpSessionLog: 100

تنظیمات روی سرور LDAP را به‌روزرسانی کنید:

[root@openldap ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f syncprov.ldif

خروجی دستور:

SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "olcOverlay=syncprov,olcDatabase={1}hdb,cn=config"

تنظیمات سرور Slave:

با جایگذاری بخش‌های مهم نظیر URI سرور اصلی، نام کاربری ساخته شده در سرور اصلی جهت رونوشت (rpuser) و پسورد آن در فایل تنظیمات، سرور(های) Slave را پیکربندی کنید:

[root@openldap-slave ~]# vim rp.ldif

متن زیر را در فایل بالا کپی کنید. لازم به ذکر است عدد جلوی rid برای هر سرور باید متفاوت باشد (در صورتی که چند سرور Slave دارید) و در قسمت provider باید آی‌پی سرور اصلی را وارد نمایید:

dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcSyncRepl
olcSyncRepl: rid=001
  provider=ldap://192.168.1.1:389/
  bindmethod=simple
  binddn="uid=rpuser,dc=test,dc=local"
  credentials=test123
  searchbase="dc=test,dc=local"
  scope=sub
  schemachecking=on
  type=refreshAndPersist
  retry="30 5 300 3"
  interval=00:00:05:00
تنظیمات LDAP را به سرور Slave بفرستید:
[root@openldap-slave ~]# ldapmodify -Y EXTERNAL  -H ldapi:/// -f rp.ldif

خروجی دستور:

SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "olcDatabase={1}hdb,cn=config"

تست رونوشت (Replication):

برای تست رونوشت می‌توانید از طریق واسط کاربری phpLDAPadmin نام کاربری را سرورهای Master یا Slave بسازید، پاک کنید یا تغییر دهید و نتیجه را روی سرور دیگر مشاهده کنید.

منبع:

http://www.itzgeek.com/how-tos/linux/configure-openldap-master-slave-replication.html