Pular para o conteúdo

Replicação no LDAP com slurp

Dica publicada em Linux / Introdução
Andre Luiz Facina netbug
Hits: 11.822 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.

Renomeando arquivos com caracteres especiais

Backups simples e seguros com o ssh e dd no Linux

Migrando para o Ext4, o novo file system Linux

Hardening no OpenBSD

Montando imagens ISO no OpenBSD

Vivo no Linux com Aiko 82d

IPPL - IP Protocols Logger

VMWare - Cluster - Load balancing

Packet Tracer 5.3.3 - Instalação no Ubuntu 12.04

Fedora 6 e Squid 2.6.x transparente

#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.