Void Server como Domain Control

O objetivo nesse tutorial é subir um Controlador de Domínio Primário no Void Linux (glibc) compilando o Samba4 a partir do código fonte, configurando DNS interno, Kerberos, integração AD, ACLs, serviços e toda a pilha necessária para controlar os clientes da rede, com uma floresta de nível 2016.

[ Hits: 347 ]

Por: Eduardo Charquero em 07/12/2025 | Blog: https://www.instagram.com/educharquero/


Troubleshooting da instalação/configuração



Agora iremos validar importantes serviços do PDC como DNS, SMB, Winbind e Kerberos:

# ps aux | grep samba

Resultado recebido:

root 28030 0.0 0.0 2392 1388 ? Ss 01:14 0:00 runsv samba-ad-dc
root 28031 0.0 0.0 2540 1376 ? S 01:14 0:00 svlogd -tt /var/log/samba-ad-dc
root 28032 0.1 3.3 129656 66884 ? S 01:14 0:04 samba: root process
. root 28033 0.0 1.6 129152 33728 ? S 01:14 0:00 samba: tfork waiter process(28034)
root 28034 0.0 3.3 133112 67156 ? Ss 01:14 0:00 /opt/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground
root 28038 0.0 1.6 129152 33432 ? S 01:14 0:00 samba: tfork waiter process(28039)
root 28039 0.0 3.1 127588 63240 ? Ss 01:14 0:00 /opt/samba/sbin/winbindd -D --option=server role check:inhibit=yes --foreground
root 28180 0.0 0.1 6696 2556 pts/0 S+ 02:10 0:00 grep samba


# samba-tool user show administrator

Resultado recebido:

dn: CN=Administrator,CN=Users,DC=educatux,DC=edu
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn: Administrator
description: Built-in account for administering the computer/domain
instanceType: 4
whenCreated: 20251127040618.0Z
uSNCreated: 3889
name: Administrator
objectGUID: 732e3aed-f232-427d-9377-5bf7bc79cd8e
userAccountControl: 512
badPwdCount: 0
codePage: 0
countryCode: 0
badPasswordTime: 0
lastLogoff: 0
pwdLastSet: 134086899781242602
primaryGroupID: 513
objectSid: S-1-5-21-294413610-3908852046-3961109876-500
adminCount: 1
accountExpires: 9223372036854775807
sAMAccountName: Administrator
sAMAccountType: 805306368
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=educatux,DC=edu
isCriticalSystemObject: TRUE
memberOf: CN=Domain Admins,CN=Users,DC=educatux,DC=edu
memberOf: CN=Schema Admins,CN=Users,DC=educatux,DC=edu
memberOf: CN=Enterprise Admins,CN=Users,DC=educatux,DC=edu
memberOf: CN=Group Policy Creator Owners,CN=Users,DC=educatux,DC=edu
memberOf: CN=Administrators,CN=Builtin,DC=educatux,DC=edu
lastLogonTimestamp: 134086916533352620
whenChanged: 20251127043413.0Z
uSNChanged: 4307
lastLogon: 134086917409338150
logonCount: 5
distinguishedName: CN=Administrator,CN=Users,DC=educatux,DC=edu


# wbinfo -u

Resultado recebido:

EDUCATUX\administrator
EDUCATUX\guest
EDUCATUX\krbtgt


# wbinfo -g

Resultado recebido:

EDUCATUX\administrator
EDUCATUX\guest
EDUCATUX\krbtgt


# wbinfo -g

EDUCATUX\cert publishers
EDUCATUX\ras and ias servers
EDUCATUX\allowed rodc password replication group
EDUCATUX\denied rodc password replication group
EDUCATUX\dnsadmins
EDUCATUX\enterprise read-only domain controllers
EDUCATUX\domain admins
EDUCATUX\domain users
EDUCATUX\domain guests
EDUCATUX\domain computers
EDUCATUX\domain controllers
EDUCATUX\schema admins
EDUCATUX\enterprise admins
EDUCATUX\group policy creator owners
EDUCATUX\read-only domain controllers
EDUCATUX\protected users
EDUCATUX\dnsupdateproxy


# getent group "Domain Admins"

Resultado recebido:

EDUCATUX\domain admins:x:3000004:

# smbclient -L localhost -U Administrator

Resultado recebido:

Password for [EDUCATUX\Administrator]:

Sharename Type Comment
--------- ---- -------
sysvol Disk
netlogon Disk
IPC$ IPC IPC Service (Samba 4.23.3)
SMB1 disabled -- no workgroup available


# samba-tool dns zonelist localhost -U administrator

Resultado recebido:

Password for [EDUCATUX\administrator]:
2 zone(s) found

pszZoneName : educatux.edu
Flags : DNS_RPC_ZONE_DSINTEGRATED DNS_RPC_ZONE_UPDATE_SECURE
ZoneType : DNS_ZONE_TYPE_PRIMARY
Version : 50
dwDpFlags : DNS_DP_AUTOCREATED DNS_DP_DOMAIN_DEFAULT DNS_DP_ENLISTED
pszDpFqdn : DomainDnsZones.educatux.edu

pszZoneName : _msdcs.educatux.edu
Flags : DNS_RPC_ZONE_DSINTEGRATED DNS_RPC_ZONE_UPDATE_SECURE
ZoneType : DNS_ZONE_TYPE_PRIMARY
Version : 50
dwDpFlags : DNS_DP_AUTOCREATED DNS_DP_FOREST_DEFAULT DNS_DP_ENLISTED
pszDpFqdn : ForestDnsZones.educatux.edu


# samba-tool user show administrator

Resultado recebido:

dn: CN=Administrator,CN=Users,DC=educatux,DC=edu
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn: Administrator
description: Built-in account for administering the computer/domain
instanceType: 4
whenCreated: 20251127040618.0Z
uSNCreated: 3889
name: Administrator
objectGUID: 732e3aed-f232-427d-9377-5bf7bc79cd8e
userAccountControl: 512
badPwdCount: 0
codePage: 0
countryCode: 0
badPasswordTime: 0
lastLogoff: 0
pwdLastSet: 134086899781242602
primaryGroupID: 513
objectSid: S-1-5-21-294413610-3908852046-3961109876-500
adminCount: 1
accountExpires: 9223372036854775807
sAMAccountName: Administrator
sAMAccountType: 805306368
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=educatux,DC=edu
isCriticalSystemObject: TRUE
memberOf: CN=Domain Admins,CN=Users,DC=educatux,DC=edu
memberOf: CN=Schema Admins,CN=Users,DC=educatux,DC=edu
memberOf: CN=Enterprise Admins,CN=Users,DC=educatux,DC=edu
memberOf: CN=Group Policy Creator Owners,CN=Users,DC=educatux,DC=edu
memberOf: CN=Administrators,CN=Builtin,DC=educatux,DC=edu
lastLogonTimestamp: 134086916533352620
whenChanged: 20251127043413.0Z
uSNChanged: 4307
lastLogon: 134086917409338150
logonCount: 5
distinguishedName: CN=Administrator,CN=Users,DC=educatux,DC=edu


Desabilitar a complexidade de senhas para usuários do domínio (facilitar testes em laboratório - Inseguro para produção!)

# samba-tool domain passwordsettings set --complexity=off
# samba-tool domain passwordsettings set --history-length=0
# samba-tool domain passwordsettings set --min-pwd-length=0
# samba-tool domain passwordsettings set --min-pwd-age=0
# samba-tool user setexpiry Administrator --noexpiry


Reler as configurações do Samba4:

# smbcontrol all reload-config

Validar troca de tickets do Kerberos

# kinit Administrator@EDUCATUX.EDU
# klist


Resultado recebido:

Ticket cache: FILE:/tmp/krb5cc_0
Default principal: Administrator@EDUCATUX.EDU

Valid starting Expires Service principal
27/11/2025 02:22:52 27/11/2025 12:22:52 krbtgt/EDUCATUX.EDU@EDUCATUX.EDU
renew until 28/11/2025 02:22:47


# samba-tool dns query voiddc01 educatux.edu @ A -U Administrator

Resultado recebido:

Password for [EDUCATUX\Administrator]:

Name=, Records=1, Children=0
A: 192.168.70.250 (flags=600000f0, serial=1, ttl=900)
Name=_msdcs, Records=0, Children=0
Name=_sites, Records=0, Children=1
Name=_tcp, Records=0, Children=4
Name=_udp, Records=0, Children=2
Name=DomainDnsZones, Records=0, Children=2
Name=ForestDnsZones, Records=0, Children=2
Name=voiddc01, Records=1, Children=0
A: 192.168.70.250 (flags=f0, serial=1, ttl=900)


# drill google.com @192.168.70.250

Resultado obtido:

;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 50285
;; flags: qr rd ra ; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;; google.com. IN A

;; ANSWER SECTION:
google.com. 300 IN A 172.217.30.142

;; AUTHORITY SECTION:

;; ADDITIONAL SECTION:

;; Query time: 224 msec
;; EDNS: version 0; flags: ; udp: 1232
;; SERVER: 192.168.70.250
;; WHEN: Thu Nov 27 02:30:42 2025
;; MSG SIZE rcvd: 55


# samba_dnsupdate --verbose

IPs: ['192.168.70.250']
Looking for DNS entry A voiddc01.educatux.edu 192.168.70.250 as voiddc01.educatux.edu.
Looking for DNS entry CNAME a9126dd4-c5ad-46b4-b91b-6ae91313e3b8._msdcs.educatux.edu
voiddc01.educatux.edu as a9126dd4-c5ad-46b4-b91b-6ae91313e3b8._msdcs.educatux.edu.
Looking for DNS entry NS educatux.edu voiddc01.educatux.edu as educatux.edu.
Looking for DNS entry NS _msdcs.educatux.edu voiddc01.educatux.edu as _msdcs.educatux.edu.
Looking for DNS entry A educatux.edu 192.168.70.250 as educatux.edu.
Looking for DNS entry SRV _ldap._tcp.educatux.edu voiddc01.educatux.edu 389 as _ldap._tcp.educatux.edu.
Checking 0 100 389 voiddc01.educatux.edu. against SRV _ldap._tcp.educatux.edu voiddc01.educatux.edu 389
Looking for DNS entry SRV _ldap._tcp.dc._msdcs.educatux.edu voiddc01.educatux.edu 389 as _ldap._tcp.dc._msdcs.educatux.edu.
Checking 0 100 389 voiddc01.educatux.edu. against SRV _ldap._tcp.dc._msdcs.educatux.edu voiddc01.educatux.edu 389
Looking for DNS entry SRV _ldap._tcp.f5cccdab-a9d9-4b1f-9344-d2affb3c9855.domains._msdcs.educatux.edu voiddc01.educatux.edu 389 as _ldap._tcp.f5cccdab-a9d9-4b1f-9344-d2affb3c9855.domains._msdcs.educatux.edu.
Checking 0 100 389 voiddc01.educatux.edu. against SRV _ldap._tcp.f5cccdab-a9d9-4b1f-9344-d2affb3c9855.domains._msdcs.educatux.edu voiddc01.educatux.edu 389
Looking for DNS entry SRV _kerberos._tcp.educatux.edu voiddc01.educatux.edu 88 as _kerberos._tcp.educatux.edu.
Checking 0 100 88 voiddc01.educatux.edu. against SRV _kerberos._tcp.educatux.edu voiddc01.educatux.edu 88
Looking for DNS entry SRV _kerberos._udp.educatux.edu voiddc01.educatux.edu 88 as _kerberos._udp.educatux.edu.
Checking 0 100 88 voiddc01.educatux.edu. against SRV _kerberos._udp.educatux.edu voiddc01.educatux.edu 88
Looking for DNS entry SRV _kerberos._tcp.dc._msdcs.educatux.edu voiddc01.educatux.edu 88 as _kerberos._tcp.dc._msdcs.educatux.edu.
Checking 0 100 88 voiddc01.educatux.edu. against SRV _kerberos._tcp.dc._msdcs.educatux.edu voiddc01.educatux.edu 88
Looking for DNS entry SRV _kpasswd._tcp.educatux.edu voiddc01.educatux.edu 464 as _kpasswd._tcp.educatux.edu.
Checking 0 100 464 voiddc01.educatux.edu. against SRV _kpasswd._tcp.educatux.edu voiddc01.educatux.edu 464
Looking for DNS entry SRV _kpasswd._udp.educatux.edu voiddc01.educatux.edu 464 as _kpasswd._udp.educatux.edu.
Checking 0 100 464 voiddc01.educatux.edu. against SRV _kpasswd._udp.educatux.edu voiddc01.educatux.edu 464
Looking for DNS entry SRV _ldap._tcp.Default-First-Site-Name._sites.educatux.edu voiddc01.educatux.edu 389 as _ldap._tcp.Default-First-Site-Name._sites.educatux.edu. Checking 0 100 389 voiddc01.educatux.edu. against SRV _ldap._tcp.Default-First-Site-Name._sites.educatux.edu voiddc01.educatux.edu 389
Looking for DNS entry SRV _ldap._tcp.Default-First-Site-Name._sites.dc._msdcs.educatux.edu voiddc01.educatux.edu 389 as _ldap._tcp.Default-First-Site-Name._sites.dc._msdcs.educatux.edu. Checking 0 100 389 voiddc01.educatux.edu. against SRV _ldap._tcp.Default-First-Site-Name._sites.dc._msdcs.educatux.edu voiddc01.educatux.edu 389
Looking for DNS entry SRV _kerberos._tcp.Default-First-Site-Name._sites.educatux.edu voiddc01.educatux.edu 88 as _kerberos._tcp.Default-First-Site-Name._sites.educatux.edu. Checking 0 100 88 voiddc01.educatux.edu. against SRV _kerberos._tcp.Default-First-Site-Name._sites.educatux.edu voiddc01.educatux.edu 88
Looking for DNS entry SRV _kerberos._tcp.Default-First-Site-Name._sites.dc._msdcs.educatux.edu voiddc01.educatux.edu 88 as _kerberos._tcp.Default-First-Site-Name._sites.dc._msdcs.educatux.edu.
Checking 0 100 88 voiddc01.educatux.edu. against SRV _kerberos._tcp.Default-First-Site-Name._sites.dc._msdcs.educatux.edu voiddc01.educatux.edu 88
Looking for DNS entry SRV _ldap._tcp.pdc._msdcs.educatux.edu voiddc01.educatux.edu 389 as _ldap._tcp.pdc._msdcs.educatux.edu.
Checking 0 100 389 voiddc01.educatux.edu. against SRV _ldap._tcp.pdc._msdcs.educatux.edu voiddc01.educatux.edu 389
Looking for DNS entry A gc._msdcs.educatux.edu 192.168.70.250 as gc._msdcs.educatux.edu. Looking for DNS entry SRV _gc._tcp.educatux.edu voiddc01.educatux.edu 3268 as _gc._tcp.educatux.edu.
Checking 0 100 3268 voiddc01.educatux.edu. against SRV _gc._tcp.educatux.edu voiddc01.educatux.edu 3268
Looking for DNS entry SRV _ldap._tcp.gc._msdcs.educatux.edu voiddc01.educatux.edu 3268 as _ldap._tcp.gc._msdcs.educatux.edu.
Checking 0 100 3268 voiddc01.educatux.edu. against SRV _ldap._tcp.gc._msdcs.educatux.edu voiddc01.educatux.edu 3268
Looking for DNS entry SRV _gc._tcp.Default-First-Site-Name._sites.educatux.edu voiddc01.educatux.edu 3268 as _gc._tcp.Default-First-Site-Name._sites.educatux.edu. Checking 0 100 3268 voiddc01.educatux.edu. against SRV _gc._tcp.Default-First-Site-Name._sites.educatux.edu voiddc01.educatux.edu 3268
Looking for DNS entry SRV _ldap._tcp.Default-First-Site-Name._sites.gc._msdcs.educatux.edu voiddc01.educatux.edu 3268 as _ldap._tcp.Default-First-Site-Name._sites.gc._msdcs.educatux.edu. Checking 0 100 3268 voiddc01.educatux.edu. against SRV _ldap._tcp.Default-First-Site-Name._sites.gc._msdcs.educatux.edu voiddc01.educatux.edu 3268
Looking for DNS entry A DomainDnsZones.educatux.edu 192.168.70.250 as DomainDnsZones.educatux.edu.
Looking for DNS entry SRV _ldap._tcp.DomainDnsZones.educatux.edu voiddc01.educatux.edu 389 as _ldap._tcp.DomainDnsZones.educatux.edu.
Checking 0 100 389 voiddc01.educatux.edu. against SRV _ldap._tcp.DomainDnsZones.educatux.edu voiddc01.educatux.edu 389
Looking for DNS entry SRV _ldap._tcp.Default-First-Site-Name._sites.DomainDnsZones.educatux.edu voiddc01.educatux.edu 389 as _ldap._tcp.Default-First-Site-Name._sites.DomainDnsZones.educatux.edu.
Checking 0 100 389 voiddc01.educatux.edu. against SRV _ldap._tcp.Default-First-Site-Name._sites.DomainDnsZones.educatux.edu voiddc01.educatux.edu 389 Looking for DNS entry A ForestDnsZones.educatux.edu 192.168.70.250 as ForestDnsZones.educatux.edu.
Looking for DNS entry SRV _ldap._tcp.ForestDnsZones.educatux.edu voiddc01.educatux.edu 389 as _ldap._tcp.ForestDnsZones.educatux.edu.
Checking 0 100 389 voiddc01.educatux.edu. against SRV _ldap._tcp.ForestDnsZones.educatux.edu voiddc01.educatux.edu 389
Looking for DNS entry SRV _ldap._tcp.Default-First-Site-Name._sites.ForestDnsZones.educatux.edu voiddc01.educatux.edu 389 as _ldap._tcp.Default-First-Site-Name._sites.ForestDnsZones.educatux.edu.
Checking 0 100 389 voiddc01.educatux.edu. against SRV _ldap._tcp.Default-First-Site-Name._sites.ForestDnsZones.educatux.edu voiddc01.educatux.edu 389
No DNS updates needed

Página anterior     Próxima página

Páginas do artigo
   1. Layout da rede e instalação dos pacotes
   2. Obtendo o código fonte e instalando o SAMBA4
   3. Provisionando o domínio
   4. Criando os serviços do samba-ad-dc no runit
   5. NTP / Chrony Server
   6. Ajuste de DNS Winbind e Kerberos pós provisionamento
   7. O arquivo smb.conf
   8. Troubleshooting da instalação/configuração
   9. Resumo
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Linux logando no Domínio NT

Samba 4 - Configurado para reportar a diferentes redes

Resara Server Configuration

Samba - Instalação e configuração descomplicada

Samba: Servidor de arquivos Linux com estações Windows

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts