Como verificar replicação LDAP no Samba 4 em ambiente com vários DCs.

Alexander Silva
Samba Server PRO
Published in
6 min readAug 15, 2023

Quando trabalhamos com múltiplos DCs Samba 4 precisamos, para afeito de testes e diagnósticos, verificar replicação LDAP entre os controladores de domínio. E isso que pretendo te ensinar neste post .

Mas o que é replicação LDAP no Samba 4 ?

A replicação LDAP é o processo que acontece quando os objetos (usuários, grupos, OU e etc) são sincronizados com todos o DCs na rede , possibilitado assim que aja uma consistência. Assim o login no domínio pode ser feito a partir de qualquer DC.

Além disso, você precisa entender que o serviço de diretório no samba 4 é composto por partições e são elas :

Domain
Configuration
Schema
Dnsdomain
Dnsforest

São estas partições que contem as informações como, configuração dos domínios, informações sobre classes e atributos de objetos que são usuários, grupos, computadores e unidades organizacionais.

Ou seja, não é só usuários, grupos OUs que são replicados outras informações importantíssimas também são .

O que acontece se a replicação no Samba 4 não está acontecendo com sucesso?

  • Inconsistência dos objetos nos DCs impossibilitando o login nas estações de trabalho quando algum Dc estiver off.
  • Problemas com permissões no servidor de arquivos.

Como fazer testes de replicação LDAP nos DCs Samba 4 ?

Antes você precisa entender que :

  • A comparação funciona via LDAP. Portanto, o servidor LDAP deve estar ativo e acessível na porta 389.
  • Ele compara valores de atributos de objetos retornados apenas pela pesquisa curinga, de modo que nenhum atributo oculto seja processado.
  • Certos atributos são explicitamente ignorados, são atributos não replicantes e sempre têm valores diferentes nos objetos correspondentes em DCs separados.
  • Os testes abaixo está levando em consideração que você já configurou mais de um DC na rede.
  • A ferramenta samba-tool fornece um subcomando para testar a replicação LDAP entre controladores de domínio — independentemente de estarem executando Samba, Windows ou mistos.

O que iremos fazer.

Vamos seguir uma sequência lógica:

  • Primeiro fazer uma comparação de entre DCs e encontrar discrepâncias ( se for o caso).
  • Segundo testar a replicação.

1 — Fazendo a comparação entre DCs Samba 4

  • Comprando todo o diretório nos controladores de domínio
samba-tool ldapcmp ldap://DC1 ldap://DC2 -Uadministrator

Mas rodando o comando acima você vai ter uma saida que pode aparentar que você está tendo problemas e a base dos dois DCs não estão com as mesmas informações. Veja um exemplo de saída.

* Comparing [DOMAIN] context...

* Objects to be compared: 308

Comparing:
'CN=Builtin,DC=samdom,DC=example,DC=com' [ldap://DC1]
'CN=Builtin,DC=samdom,DC=example,DC=com' [ldap://DC2]
Attributes found only in ldap://DC1:
serverState
FAILED

Comparing:
'DC=samdom,DC=example,DC=com' [ldap://DC1]
'DC=samdom,DC=example,DC=com' [ldap://DC2]
Attributes found only in ldap://DC1:
serverState
msDS-NcType
FAILED

* Result for [DOMAIN]: FAILURE

SUMMARY
---------

Attributes found only in ldap://DC1:

msDS-NcType
serverState
ERROR: Compare failed: -1

Isso acontece porque alguns atributos são conhecidos por serem diferentes entre dc , você pode filtrá-los com a opção “ — filter”

Dessa forma

samba-tool ldapcmp ldap://DC1 ldap://DC2 -Uadministrator domain --filter=msDS-NcType,serverState

Ou dessa forma

samba-tool ldapcmp ldap://DC1 ldap://DC2 -Uadministrator --filter=msDS-NcType,serverState,subrefs

Então a saída será mais ou menos assim

* Comparing [DOMAIN] context...

* Objects to be compared: 308

* Result for [DOMAIN]: SUCCESS

Você pode também comparar partições únicas do AD no controlador de domínio DC1 e DC2:

samba-tool ldapcmp ldap://DC1 ldap://DC2 -Uadministrator domain
samba-tool ldapcmp ldap://DC1 ldap://DC2 -Uadministrator configuration
samba-tool ldapcmp ldap://DC1 ldap://DC2 -Uadministrator schema
samba-tool ldapcmp ldap://DC1 ldap://DC2 -Uadministrator dnsdomain
samba-tool ldapcmp ldap://DC1 ldap://DC2 -Uadministrator dnsforest

2 — Agora vamos testar a replicação verificando o status

O samba-tool drs showrepl exibe os acordos de replicação de entrada e saída com outro controlador de domínio na floresta do AD. A saída é relatada do ponto de vista do Samba DC, no qual você executa o comando.

samba-tool drs showrepl

A saída desse comando será mais ou menos assim :

Default-First-Site-Name\DC2
DSA Options: 0x00000001
DSA object GUID: c14a774f-9732-4ec2-b9fa-2156c95c4e48
DSA invocationId: 7bdb135c-6868-4dd9-9460-33dea4b6b87b

==== INBOUND NEIGHBORS ====

CN=Schema,CN=Configuration,DC=samdom,DC=example,DC=com
Default-First-Site-Name\DC1 via RPC
DSA object GUID: 4a6bd92a-6612-4b15-aa8c-9ec371e8994f
Last attempt @ Sat May 13 02:52:36 2017 CEST was successful
0 consecutive failure(s).
Last success @ Sat May 13 02:52:36 2017 CEST

DC=DomainDnsZones,DC=samdom,DC=example,DC=com
Default-First-Site-Name\DC1 via RPC
DSA object GUID: 4a6bd92a-6612-4b15-aa8c-9ec371e8994f
Last attempt @ Sat May 13 02:52:36 2017 CEST was successful
0 consecutive failure(s).
Last success @ Sat May 13 02:52:36 2017 CEST

CN=Configuration,DC=samdom,DC=example,DC=com
Default-First-Site-Name\DC1 via RPC
DSA object GUID: 4a6bd92a-6612-4b15-aa8c-9ec371e8994f
Last attempt @ Sat May 13 02:52:36 2017 CEST was successful
0 consecutive failure(s).
Last success @ Sat May 13 02:52:36 2017 CEST

DC=ForestDnsZones,DC=samdom,DC=example,DC=com
Default-First-Site-Name\DC1 via RPC
DSA object GUID: 4a6bd92a-6612-4b15-aa8c-9ec371e8994f
Last attempt @ Sat May 13 02:52:36 2017 CEST was successful
0 consecutive failure(s).
Last success @ Sat May 13 02:52:36 2017 CEST

DC=samdom,DC=example,DC=com
Default-First-Site-Name\DC1 via RPC
DSA object GUID: 4a6bd92a-6612-4b15-aa8c-9ec371e8994f
Last attempt @ Sat May 13 02:52:36 2017 CEST was successful
0 consecutive failure(s).
Last success @ Sat May 13 02:52:36 2017 CEST

==== OUTBOUND NEIGHBORS ====

CN=Schema,CN=Configuration,DC=samdom,DC=example,DC=com
Default-First-Site-Name\DC1 via RPC
DSA object GUID: 4a6bd92a-6612-4b15-aa8c-9ec371e8994f
Last attempt @ NTTIME(0) was successful
0 consecutive failure(s).
Last success @ NTTIME(0)

DC=DomainDnsZones,DC=samdom,DC=example,DC=com
Default-First-Site-Name\DC1 via RPC
DSA object GUID: 4a6bd92a-6612-4b15-aa8c-9ec371e8994f
Last attempt @ NTTIME(0) was successful
0 consecutive failure(s).
Last success @ NTTIME(0)

CN=Configuration,DC=samdom,DC=example,DC=com
Default-First-Site-Name\DC1 via RPC
DSA object GUID: 4a6bd92a-6612-4b15-aa8c-9ec371e8994f
Last attempt @ NTTIME(0) was successful
0 consecutive failure(s).
Last success @ NTTIME(0)

DC=ForestDnsZones,DC=samdom,DC=example,DC=com
Default-First-Site-Name\DC1 via RPC
DSA object GUID: 4a6bd92a-6612-4b15-aa8c-9ec371e8994f
Last attempt @ NTTIME(0) was successful
0 consecutive failure(s).
Last success @ NTTIME(0)

DC=samdom,DC=example,DC=com
Default-First-Site-Name\DC1 via RPC
DSA object GUID: 4a6bd92a-6612-4b15-aa8c-9ec371e8994f
Last attempt @ NTTIME(0) was successful
0 consecutive failure(s).
Last success @ NTTIME(0)

==== KCC CONNECTION OBJECTS ====

Connection --
Connection name: fb03f58b-1654-4a02-8e11-f0ea120b60cc
Enabled : TRUE
Server DNS name : DC1.samdom.example.com
Server DN name : CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=samdom,DC=example,DC=com
TransportType: RPC
options: 0x00000001
Warning: No NC replicated for Connection!

O que Warning: No NC replicated for Connection! significa?

O aviso aparece porque o Samba define incorretamente alguns sinalizadores ao registrar o controlador de domínio para replicação. O aviso é inofensivo e pode ser ignorado.

E se os testes não forem bem sucedidos?

  • Verifique se os DCs sabem da existência dos outros DCs certificando que as configurações de DNS dos dcs apontem uns para os outros.
  • Confira se há comunicação entre os DCS
  • Verifique se o Samba 4 está UP em todos DCs

Agora preste atenção

💎As inscrições para o Método Infra Open já estão abertas .No método eu ensino infraestrutura de redes com sistemas open source com Samba 4 e outros sistemas .Reserve aqui.

💬 Precisa de um especialista em Samba para o seu projeto ? entre contato comigo por e-mail alexander@astreinamentos.com.br ou no WhatsApp

E antes e ir embora não se esqueça de clicar no botão Follow para não perder nenhuma publicação.

--

--

Alexander Silva
Samba Server PRO

Trabalha com treinamento e capacitação de profissionais de TI,preparando alunos para as mais importantes certificações.