系统相关
首页 > 系统相关> > centos7 LDAP双主架构

centos7 LDAP双主架构

作者:互联网

1.什么是LDAP? LDAP是轻量目录访问协议(Lightweight Directory Access Protocol)的缩写 目录是一个为查询、浏览和搜索而优化的专业分布式数据库,它呈树状结构组织数据,就好像Linux/Unix系统中的文件目录一样。目录数据库和关系数据库不同,它有优异的读性能,但写性能差,并且没有事务处理、回滚等复杂功能,不适于存储修改频繁的数据。所以目录天生是用来查询的,就好象它的名字一样。 目录服务是由目录数据库和一套访问协议组成的系统。类似以下的信息适合储存在目录中: 企业员工信息,如姓名、电话、邮箱等; 公用证书和安全密钥; 公司的物理设备信息,如服务器,它的IP地址、存放位置、厂商、购买时间等;   2.LDAP特点: LDAP的结构用树来表示,而不是用表格。正因为这样,就不能用SQL语句了 LDAP可以很快地得到查询结果,不过在写方面,就慢得多 LDAP提供了静态数据的快速查询方式 Client/server模型,Server 用于存储数据,Client提供操作目录信息树的工具 这些工具可以将数据库的内容以文本格式(LDAP 数据交换格式,LDIF)呈现在您的面前 LDAP是一种开放Internet标准,LDAP协议是跨平台的Interent协议     由于本次文档有部分图片无法上传,请打开如下链接查看:

文档:LDAP双主架构.note
链接:http://note.youdao.com/noteshare?id=7154536c099b1127d3166bc714e96a36

    本次搭建双主架构 本次所有需要用到的附件 ldap.zip   第一部分:搭建ldap环境 (两台主机都需要执行)   1.关闭防火墙 systemctl stop firewalld.service && systemctl disable firewalld.service   2.安装openldap yum install openldap openldap-servers openldap-clients compat-openldap   3.拷贝数据库配置文件 cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG chown ldap:ldap /var/lib/ldap/DB_CONFIG #DB_CONIFG中主要是关于Berkeley DB的相关的一些配置   4.启动openldap systemctl enable slapd && systemctl start slapd #slapd即standard alone ldap daemon,该进程默认监听389端口   5.设置root用户密码 #生成一个管理用于ldap用户(root)的密码,注意:即使同一个密码再次生成也会产生不同密文 slappasswd 新建文件root_pwd.ldif(名称自定义) vim root_pwd.ldif dn: olcDatabase={0}config,cn=config changetype: modify add: olcRootPW olcRootPW: {SSHA}TtW9KhXyXLSWGyaCRiqHgL1SbXi5LQS6 #注意替换为上边生成密码   下面使用ldapadd命令将上面的rootpwd.ldif文件写入LDAP: ldapadd -Y EXTERNAL -H ldapi:/// -f root_pwd.ldif   6.导入schma #schema包含为了支持特殊场景相关的属性,可根据选择导入,这里先全部导入 ls /etc/openldap/schema/*.ldif | while read f; do ldapadd -Y EXTERNAL -H ldapi:/// -f $f; done   7.设定域 slappassword (生成登录域的管理用户密码,它跟上边ldap管理用户(root)是不同账号,不要混淆了,这里我们可以使用上边生成的密码,也可以再次创建新密码) 新建文件domain.ldif vim domain.ldif   dn: olcDatabase={1}monitor,cn=config changetype: modify replace: olcAccess olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read by dn.base="cn=Manager,dc=xingyuehui,dc=com" read by * none   dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcSuffix olcSuffix: dc=xingyuehui,dc=com   dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcRootDN olcRootDN: cn=Manager,dc=xingyuehui,dc=com   dn: olcDatabase={2}hdb,cn=config changetype: modify add: olcRootPW olcRootPW: {SSHA}TtW9KhXyXLSWGyaCRiqHgL1SbXi5LQS6 #替换上面生成的密码     dn: olcDatabase={2}hdb,cn=config changetype: modify add: olcAccess olcAccess: {0}to attrs=userPassword,shadowLastChange by dn="cn=Manager,dc=xingyuehui,dc=com" write by anonymous auth by self write by * none olcAccess: {1}to dn.base="" by * read olcAccess: {2}to * by dn="cn=Manager,dc=xingyuehui,dc=com" write by * read   注意:红色部分是替换为我自己的域名和密码,如果导入过程中有错误,大部分都是格式出现了问题,请仔细检查语法格式,或者百度上搜一个复制粘贴即可,不建议手工输入,格式非常容易出错。   ldapmodify -Y EXTERNAL -H ldapi:/// -f domain.ldif   8.添加基本目录(ou) 新建文件basedomain.ldif vim basedomain.ldif   dn: dc=xingyuehui,dc=com objectClass: top objectClass: dcObject objectclass: organization o: xingyuehui com dc: xingyuehui   dn: cn=Manager,dc=xingyuehui,dc=com objectClass: organizationalRole cn: Manager description: Directory Manager   dn: ou=People,dc=xingyuehui,dc=com objectClass: organizationalUnit ou: People   dn: ou=Group,dc=xingyuehui,dc=com objectClass: organizationalUnit ou: Group   注意:红色部分是替换为我自己的域名 理解dn,cn,dc DC即Domain Component,LDAP目录类似文件系统目录dc=xingyuehui,dc=com相当于/com/xingyuehui CN即Common Name,CN有可能代表一个用户名,例如cn=Manager,dc=xingyuehui,dc=com表示在/com/xingyuehui域下的管理员用户Manager OU即Organizational Unit,例如ou=People,dc=xingyuehui,dc=com表示在/com/xingyuehui域下的一个组织单元People   ldapadd -x -D cn=Manager,dc=zhidaoauto,dc=com -W -f basedomain.ldif ldapadd 常用参数: -x   进行简单认证       -D   用来绑定服务器的DN       -h   目录服务的地址       -w   绑定DN的密码       -f   使用ldif文件进行条目添加的文件 问题1:对于多次安装小伙伴如果提示已存在,则就不用执行如上这一步骤了。(或者删除/etc/openldap/slapd.d和/var/lib/ldap/目录,从头再来重新安装)   9.测试 ldapsearch -LLL -W -x -D "cn=Manager,dc=xingyuehui,dc=com" -H ldap://localhost -b "dc=xingyuehui,dc=com"     10.管理工具ldapadmin 链接:http://www.ldapadmin.org/download/ldapadmin.html 下载解压,依次打开——start——new_connection 下图是我连接的两台ldap主机 新建一个测试账号:wangjh   11.ldap客户端设置 在linux客户端配置测试(主机1测试即可):authconfig-tui   测试账号:id wangjh   问题2:如果提示 no such user ,建议修改如下参数,在尝试 这是因为ldap默认随机创建的用户uidUumber已经超过linux用户限制了,修改至合适大小即可。 再次测试成功:     第二部分 搭建双主模型 (两台主机都需要执行,部分步骤存在细微差异)   12.添加模块syncprov ldap双主复制功能的实现依赖于syncprov模块,这个模块位于/usr/lib64/openldap目录下 vim syncprov_mod.ldif   dn: cn=module,cn=config objectClass: olcModuleList cn: module olcModulePath: /usr/lib64/openldap olcModuleLoad: syncprov.la   ldapadd -Y EXTERNAL -H ldapi:/// -f syncprov_mod.ldif 13.导入配置 vim syncprov.ldif   dn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=config objectClass: olcOverlayConfig objectClass: olcSyncProvConfig olcOverlay: syncprov olcSpSessionLog: 100   ldapadd -Y EXTERNAL -H ldapi:/// -f syncprov.ldif   14.开启同步 vim master_node_1.ldif   dn: cn=config changetype: modify replace: olcServerID olcServerID: 1 ###设置主机ID,不同主机ID不同,配置主机2是需要修改此参数   dn: olcDatabase={2}hdb,cn=config changetype: modify add: olcSyncRepl olcSyncRepl: rid=001 provider=ldap://192.168.1.14:389/ ###修改为主2的地址,可以不加端口 。同理更改主机2的地址为,主机1的地址,实现同步 bindmethod=simple binddn="cn=Manager,dc=xingyuehui,dc=com" ###管理域的管理员账号 credentials=123123 ###修改为自己的明文密码 searchbase="dc=xingyuehui,dc=com" scope=sub schemachecking=on type=refreshAndPersist retry="30 5 300 3" - add: olcMirrorMode olcMirrorMode: TRUE   dn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=config changetype: add objectClass: olcOverlayConfig objectClass: olcSyncProvConfig olcOverlay: syncprov   主1:ldapmodify -Y EXTERNAL -H ldapi:/// -f master_node_1.ldif 主2:ldapmodify -Y EXTERNAL -H ldapi:/// -f master_node_2.ldif   15.测试账号 测试在主机1建立账号,主机2可以正常同步。   参考文档: https://www.cnblogs.com/hit-zb/p/11401624.html https://www.cnblogs.com/chadiandianwenrou/p/9522756.html  

标签:dn,cn,dc,xingyuehui,centos7,LDAP,ldif,com,双主
来源: https://www.cnblogs.com/junhuiwang/p/14907039.html