发博文
liyf0371

peter1981.blog.chinaunix.net

   
个人资料
  • 博客访问:635209
  • 博文数量:524
  • 博客积分:10496
  • 博客等级:上将
  • 关注人气: 9
  • 注册时间:2008-04-01 22:35:12
订阅我的博客
  • 订阅
  • 订阅到鲜果
  • 订阅到抓虾
  • 订阅到Google
字体大小: 博文
分类: Linux


 

1.     环境说明

用于做openldap同步的两台电脑的IP192.168.0.181192.168.0.182

其中192.168.0.181 为主服务器,192.168.0.182为从服务器

两台电脑的系统都为fedora6,并且已经装好openldap,其管理员为cn=Manager,dc=my-domain,dc=com,密码为secret

Openldap的详细配置请参考:openldap 的配置

2.     配置目的

使用openldap本身的配置来完成openldap之间的同步,包括在openldap的主服务器上添加,修改,删除用户时,从服务器上也和主服务器上完成相同的操作。在从服务器上添加,修改,删除用户时,主服务器上也完成一样的操作。从而保证数据在主从openldap服务器上的一致

3.     实现原理

其实现原理如下图,当在主服务器上更新数据时,该更新通过更新日志记录,并将更新复制到从服务器上。当在从服务器上更新数据时,该更新请求将重定向给主服务器,然后主服务器将更新数据复制到从服务器

 

4.     配置过程

注意:在进行下面的操作前请先确保你的openldap已经正常安装。

4.1.   Openldap前期配置准备

Ø        DB_CONFIG文件配置

该文件配置在主从服务器上的配置相同,其步骤如下:

l        进入openldap配置文件路径

# cd /etc/openldap

l        复制DB_CONFIG.example openldap数据文件所在位置,并命名为DB_CONFIG

# cp DB_CONFIG.example /var/lib/ldap/DB_CONFIG并命名为DB_CONFIG

l        进入数据文件所在位置

#cd /var/lib/ldap

l        修改DB_CONFIG所属的用户和用户组

#chown ldap:ldap DB_CONFIG

l        赋予ldap以执行权限

#chmod +x DB_CONFIG

Ø        同步数据初始化

在主服务器192.168.0.181上将如下内容保存为ldap.ldif

 

dn: dc=my-domain,dc=com

objectclass: dcObject

objectclass: organization

o: Example Company

dc: my-domain

 

dn: cn=Manager,dc=my-domain,dc=com

objectclass: organizationalRole

cn: Manager

 

通过ldap工具连接到ldap主服务器,将ldap.ldif文件导入。

在根目录下新建用户cn=admin,其密码设为secret

然后将主服务器的数据导出为181.ldif

通过ldap工具连接到ldap从服务器,将181.ldif文件导入。

4.2.   主服务器配置

配置主服务器,保证当在主服务器上更新数据时,该数据能复制到从服务器

Ø        连接到ldap主服务器181,并停用主服务器的ldap

# service ldap stop

Ø        编辑ldap 配置文件

# vi /etc/openldap/slapd.conf

Ø        在文件最下面加入如下内容

# 赋予ldap里的admin用户对整个ldap的写权限,赋予ldap里的每个用户认证权限

access to *

        by dn="cn=admin,dc=my-domain,dc=com" write

        by anonymous auth

# 复制数据库

replogfile /var/lib/ldap/replog        /*复制的日志文件存放的路径*/

replica host=192.168.0.182:389              /*要复制到的主机*/

     binddn="cn=admin,dc=my-domain,dc=com"   /*用来进行复制操作的用户*/

     credentials=secret                          /*该用户的密码*/

     bindmethod=simple                 /*认证的类型*/

4.3.   从服务器配置

配置从服务器,保证当要在从服务器上更新数据时,该请求重定向到主服务器,然后数据再从主服务器复制到从服务器

Ø        连接到ldap从服务器182,并停用主服务器的ldap

# service ldap stop

Ø        编辑ldap 配置文件

# vi /etc/openldap/slapd.conf

Ø        在文件最下面加入如下内容

#赋予ldap里的admin用户对整个ldap的写权限,赋予ldap里的每个用户认证权限

access to *

        by dn="cn=admin,dc=my-domain,dc=com" write

        by anonymous auth

#重定向数据请求

updatedn "cn=admin,dc=my-domain,dc=com"

/*用来进行复制操作的用户,与主服务器的用户需要一致*/

updateref ldap://192.168.0.181:389         /当有请求过来是将请求重定向的位置/

4.4.   openldap同步检查

Ø        启动ldap主从服务器。在主从服务器上运行

#service ldap start

使用ldap工具连接到openldap主从两个服务器。

在主服务上添加一个组织单元如ou=unit181,在从服务器上刷新,从服务器上出现组织单元ou=unit181.

在从服务上添加一个组织单元如ou=unit182,在主服务器上刷新,主服务器上出现组织单元ou=unit182.

[发评论] 评论 重要提示:警惕虚假中奖信息!
  • chinaunix网友 2010-12-30 11:49
    这个方式好像slave修改后,master不更新啊? updateref ldap://192.168.0.181:389 添加与否好像没有关系 很奇怪,不知道怎么回事
亲,您还没有登录,请[登录][注册]后再进行评论