Pular para o conteúdo

Replicação no LDAP com slurp

Dica publicada em Linux / Introdução
Andre Luiz Facina netbug
Hits: 11.823 Categoria: Linux Subcategoria: Introdução
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Replicação no LDAP com slurp

No presente artigo irei explicar como fazer uma replicação da Base do OpenLDAP, bem como deixar um servidor como slave, para qualquer evento em que o servidor master ficar indisponível o servidor slave assuma a posição de master. :)

Primeiramente deve-se instalar o openldap tanto no servidor master, quanto no servidor slave (o arquivo de configuração slapd.conf deve ser o mesmo para os dois), exceto por algumas diretivas (veja passo 2).

Configurações:

1. Servidor master: após a criação da entrada admin na base, deve-se adicionar as seguintes diretivas no arquivo de configuração /etc/ldap/slapd.conf (atenção à indentação! Se estiver errada, a diretiva falhará):

replica uri=ldap://192.168.1.2:389
          binddn="cn=admin,dc=facina,dc=com,dc=br"
          bindmethod=simple
          credentials=senha_da_conta_admin

replogfile  /var/lib/ldap/replog.ldif
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

A primeira linha especifica o servidor slave, com a porta padrão utilizada pelo LDAP. A segunda linha define a conta administrativa do LDAP, nesse caso a conta administrativa é admin, do domínio facina.com.br.

O método "bindmethod=" quando especificada como "simple" orienta o slurp para autenticar com a senha definida em "credentials". A última linha define o arquivo de log. :)

2. Servidor slave: adicionar as seguintes diretivas no arquivo de configuração /etc/ldap/slapd.conf (a diretiva updatedn deve coincidir com a utilizada na configuração do master)

access to *
        by dn="cn=admin,dc=facina,dc=com,dc=br" write

updatedn "cn=admin,dc=facina,dc=com,dc=br"
updateref ldap://192.168.1.1

3. Agora deve-se fazer um backup ou tirar um snapshot da base master:

# slapcat > base.ldif

4. No servidor slave, basta fazer a cópia da base:

# ldapadd -x -D "cn=admin,dc=facina,dc=com,dc=br" -f base.ldif

ou

# slapadd -l base.ldif

(Antes, pare o serviço do ldap: /etc/init.d/slapd stop)

5. Iniciar os serviços slapd e slurpd no servidor master e slapd no servidor slave, para Debian (veja /etc/default/slapd):

# /etc/init.d/slapd start

6. Pronto! Agora é só fazer os testes e verificar se a réplica está funcionando. Muitos serviços como o SAMBA e autenticação PAM, permitem a utilização de 2 ou mais servidores LDAP.

O samba permite a utilização de múltiplos servidores LDAP, basta adicionar uma diretiva como essa:

passdb backend = ldapsam:"ldap://192.168.1.1/ ldap://192.168.1.2/"

Assim se o servidor LDAP master cair o samba irá buscar as informações no servidor slave, sendo um processo totalmente transparente para o usuário.

Pronto, :)

André Luiz Facina

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Montando imagens ISO no OpenBSD

Quotas de disco no OpenBSD

Centralizando logs de dispositivos Cisco com o Syslog-ng

Migrando para o Ext4, o novo file system Linux

MultiTail - Comando tail em múltiplos arquivos no Linux

Alfresco: Gerenciando documentos digitais na Era da Informação

Instalação do Oracle 11g R 2 no Slackware 13.1

Como ler notícias com paywall

Usando o tar.xz + várias threads e compactação extrema

Convertendo os dicionários do Babylon para o Stardict

#1 Comentário enviado por cadoman em 05/06/2008 - 11:19h
Como faço a configuração para que o slave assuma no caso da autenticação PAM?
#2 Comentário enviado por jairus em 28/07/2008 - 08:33h
Olá !!!

Gostei da dica, irei utilizar . Agora e nos clientes devo configurar os arquivos que direcionam para o master, por exemplo o arquivo ldap.conf ? Isso nos clientes .


Me responda.

Abraços
Jairus Lopes
#3 Comentário enviado por makebabies em 02/09/2008 - 09:21h
Seguinte, eu estou tentando usar o tutorial porém acontece o seguinte erro:

Error: Malformed "replica" line in slapd config file, line 144
Warning: failed to add replica "192.168.0.2:389 - ignoring replica.


no final do arquivo slapd.conf do servidor Master tenho:

replogfile /var/lib/ldap/replog
replica uri=ldap://192.168.0.2:389
binddn="cn=admin,dc=projeto,dc=com"
bindmethod=simple credentials=123456

no Slave slapd.conf:

updatedn "cn=admin,dc=projeto,dc=com"
updateref ldap://192.168.0.1


Ja procurei no google e nao encontrei nenhuma resposta, apenas várias pessoas com o mesmo problema!
#4 Comentário enviado por makebabies em 03/09/2008 - 11:40h
resolvi, na linha replica é preciso que todos os parâmetros estejam em uma unica linha:
replica uri=ldap://192.168.0.2:389 binddn="cn=admin,dc=projeto,dc=com" bindmethod=simple credentials=123456

Depois disso o slurpd não deu nenhum erro, mas nao estava replicando nada...
Fiz algumas modificacoes na base e estava com tail -f /var/lib/ldap/replog porem nada era escrito no arquivo...

Consegui replicar usando o syncrepl (pelo que li é mais atual que o slurpd, posso estar enganado)

Contribuir com comentário

Entre na sua conta para comentar.