Replicação com OpenLDAP

Nesse artigo iremos demonstrar o funcionamento do sistema de replicação com o OpenLDAP. Replicação é a manutenção de uma cópia, seja parcial ou total, dos dados em outros servidores. Este é um método muito utilizado quando trabalhamos em um ambiente corporativo, onde temos a necessidade de alta disponibilidade nos serviços.

[ Hits: 25.754 ]

Por: Ronaldo Meneguite em 04/03/2010 | Blog: http://www.rlmti.com


Exemplo de configuração



4. Exemplo de configuração

Bom, abaixo iremos apresentar um exemplo de configuração de replicação para o OpenLDAP fazendo uso da estrutura Master x Slave. Consideraremos que já possuímos dois servidores configurados com o servidor OpenLDAP instalado e funcionando, assim apenas demonstraremos os parâmetros relacionados as replicações entre os servidores. A distribuição Linux utilizada foi Debian 5 e o OpenLDAP na versão 2.4.9.

4.1 Configuração Master x Slave

4.1.1 Configurando o servidor MASTER

Inicialmente o arquivo a ser alterado é o arquivo principal de configuração do OpenLDAP o /etc/ldap/slapd.conf. Alterando o parâmetro modulepath para syncprov e inserindo as seguintes linhas logo abaixo da opção "index":

overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100

Devemos Inserir também junto a ACL responsável pelos atributos de senha, userPassword e shadowLastChange a seguinte linha:

by dn="cn=replicator,dc=dominio,dc=com,dc=br" read

Assim inserimos a permissão para o usuário replicador, ao qual deve ser criado anteriormente para ler os campos de senha dos usuários, pois sem o acesso a leitura ele não conseguiria efetuar a replicação completa da base.

Neste ponto foi reiniciado o servidor com o comando:

# /etc/init.d/slapd restart

4.1.2 Configurando o servidor SLAVE

Iniciaremos a configuração do servidor slave editando o arquivo de configuração /etc/ldap/slapd.conf e removendo o caractere "#" antes da linha "rootdn", e logo após inserimos as seguintes linhas abaixo de "index":

syncrepl rid=1
provider=ldap:// servidor1.dominio.com.br:389
type=refreshAndPersist
retry="5 + 5 +"
interval=00:00:00:10
searchbase="dc=dominio,dc=com,dc=br"
filter="(objectClass=*)"
scope=sub
attrs="*"
schemachecking=on 41
bindmethod=simple
binddn="cn=replicator,dc=dominio,dc=com,dc=br"
credentials=senha_do_usuario_replicator

Após os procedimentos acima citados, paramos o servidor OpenLDAP, removemos os diretórios e novamente iniciamos o servidor. Para isso utilizamos as seguintes linhas de comando:

# /etc/init.d/slapd stop
# rm /var/lib/ldap/*
# /etc/init.d/slapd start


Assim temos agora os dois servidores configurados, sendo que os dados do servidor1.dominio.com.br estão sendo replicados para o servidor2.dominio.com.br, porém o mesmo não tem autoridade sobre os dados fazendo com que para alterarmos qualquer informação na base, teremos que fazer isso no servidor1.dominio.com.br e essa atualização será replicada de imediato para o servidor slave.

Artigo originalmente publicado em:
Página anterior    

Páginas do artigo
   1. Base teórica sobre replicação no OpenLDAP
   2. Exemplo de configuração
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Integridade dos arquivos do sistema

Metasploit - Instalação e utilização em ambiente GNU/Linux

Autenticação via hardware: o módulo pam_blue

PaX: Solução eficiente para segurança em Linux

IDS com Debian 4, Snort 2.8.3.1 e BASE 1.4.1

  
Comentários
[1] Comentário enviado por inforrak em 04/03/2010 - 11:30h

Artigo bem interessante. Parabéns!




[2] Comentário enviado por tatototino em 04/03/2010 - 19:26h

O assunto é bom, mas não gostei do artigo.Ele não aborda nada parece ser mais um conf do slapd.conf.
Se colocasse o que cada opção no arquivo de configuração faz, as diferenças de cada método (n-way, delta, mirrormode, proxymode), como funciona cada método, e como funciona uma sincronização básica e etc seria um bom artigo.
Também esqueceu de mencionar os index para agilizar a replicação entryUUID, entryCSN e etc
Ficou muito nos parâmetros de configuração e pouca teoria.


Mas se a intenção foi dar um conceito básico de replicação, então peço desculpas!

[3] Comentário enviado por grandmaster em 04/03/2010 - 23:58h

Acho que valeu para um startup.

Agora vale um segundo indo mais afundo nos assunto.


---
Renato de Castro Henriques
ITILv3 Foundation Certified
CobiT Foundation 4.1 Certified ID: 90391725
http://www.renato.henriques.nom.br

[4] Comentário enviado por luizmarceloo em 05/03/2010 - 04:44h

Esse método de diretório distribuído funciona com um master replicando para vários slaves onde cada slave apenas recebe parte do ramo da árvore, ou tem relação com o uso de refferral???

Obrigado

[5] Comentário enviado por rlmti em 05/03/2010 - 09:49h

Bom respondendo aos comentários:

inforrak: Muito obrigado!

atototino: Bom de fato este artigo não teve nem de longe a pretensão de ser uma solução definitiva sobre o assunto, que por sinal é de fato extremamente extenso. Tive interesse em fazer este, não com foco em experts em OpenLDAP, e sim em administradores de rede as quais iniciam o aprendizado sobre o mesmo, demonstrando que é possível utilizamos a replicação no OpenLDAP e também que limitações as quais existiam anteriormente com o slurpd hoje já não mais existem... mais certamente seu comentário foi bem vindo, e servira como sugestão para um artigo futuro! Obrigado pelas colocações!

Renato de Castro:
De fato entendeu o espírito da coisa.. realmente foi esse o interesse.. um inicio. Obrigado!

Luiz Marcelo: Bom diretório distribuído pode ser aplicado como simplesmente uma copia parcial do servidor em um servidor remoto (Master x Slave).. Ou despendendo a um segundo servidor autoridade a uma parte da arvore de diretórios (Master x Master).. como também podemos utilizar referrals de forma a manter a arvore de forma distribuída entre os servidores! Obrigado pelo comentário.. e qualquer dúvida estou a disposição!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts