Como verificar replicação LDAP no Samba 4 em ambiente com vários DCs.
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.