Únase a un Ubuntu DC adicional a Samba4 AD DC para la replicación de fallas - Parte 5


Este tutorial le mostrará cómo agregar un segundo controlador de dominio Samba4, provisto en el servidor Ubuntu 16.04, al bosque existente de Samba AD DC para proporcionar un grado de equilibrio de carga/conmutación por error para algunos servicios cruciales de AD DC, especialmente para servicios como Esquema LDAP de DNS y AD DC con base de datos SAM.

  1. Cree una infraestructura de Active Directory con Samba4 en Ubuntu - Parte 1

Este artículo es una Parte 5 de la serie Samba4 AD DC de la siguiente manera:

Paso 1: Configuración inicial para la instalación de Samba4

1. Antes de comenzar a realizar la unión de dominio para el segundo controlador de dominio, debe encargarse de algunas configuraciones iniciales. Primero, asegúrese de que el nombre de host del sistema que se integrará en Samba4 AD DC contenga un nombre descriptivo.

Suponiendo que el nombre de host del primer reino aprovisionado se llama adc1 , puede nombrar el segundo DC con adc2 para proporcionar un esquema de nombres coherente en todos sus controladores de dominio.

Para cambiar el nombre de host del sistema, puede ejecutar el siguiente comando.

# hostnamectl set-hostname adc2

de lo contrario, puede editar manualmente el archivo/etc/hostname y agregar una nueva línea con el nombre deseado.

# nano /etc/hostname

Aquí agregue el nombre de host.

adc2

2. A continuación, abra el archivo de resolución del sistema local y agregue una entrada con la dirección IP que señale el nombre corto y el FQDN del controlador de dominio principal, como se ilustra en la captura de pantalla siguiente.

A través de este tutorial, el nombre de DC principal es adc1.tecmint.lan y se resuelve en la dirección IP 192.168.1.254.

# nano /etc/hosts

Agregue la siguiente línea:

IP_of_main_DC		FQDN_of_main_DC 	short_name_of_main_DC

3. En el siguiente paso, abra/etc/network/interfaces y asigne una dirección IP estática para su sistema como se ilustra en la siguiente captura de pantalla.

Preste atención a las variables dns-nameservers y dns-search. Estos valores deben configurarse para que apunten a la dirección IP del dominio y el dominio primario de Samba4 AD DC para que la resolución de DNS funcione correctamente.

Reinicie el demonio de red para reflejar los cambios. Verifique el archivo /etc/resolv.conf para asegurarse de que ambos valores DNS de su interfaz de red se actualicen a este archivo.

# nano /etc/network/interfaces

Edite y reemplace con su configuración de IP personalizada:

auto ens33
iface ens33 inet static
        address 192.168.1.253
        netmask 255.255.255.0
        brodcast 192.168.1.1
        gateway 192.168.1.1
        dns-nameservers 192.168.1.254
        dns-search tecmint.lan

Reinicie el servicio de red y confirme los cambios.

# systemctl restart networking.service
# cat /etc/resolv.conf

El valor de dns-search agregará automáticamente el nombre de dominio cuando consulte un host por su nombre corto (formará el FQDN).

4. Para probar si la resolución de DNS está funcionando como se esperaba, emita una serie de comandos ping contra su nombre corto de dominio, FQDN y reino como se muestra en la captura de pantalla a continuación.

En todos estos casos, el servidor DNS Samba4 AD DC debería responder con la dirección IP de su DC principal.

5. El último paso adicional que debe tener en cuenta es la sincronización de la hora con su controlador de dominio principal. Esto se puede lograr instalando la utilidad de cliente NTP en su sistema emitiendo el siguiente comando:

# apt-get install ntpdate

6. Suponiendo que desea forzar manualmente la sincronización de tiempo con samba4 AD DC, ejecute el comando ntpdate contra el DC primario emitiendo el siguiente comando.

# ntpdate adc1

Paso 2: Instale Samba4 con las dependencias necesarias

7. Para inscribir el sistema Ubuntu 16.04 en su dominio, primero instale Samba4, el cliente Kerberos y algunos otros paquetes importantes para su uso posterior desde los repositorios oficiales de Ubuntu emitiendo el siguiente comando:

# apt-get install samba krb5-user krb5-config winbind libpam-winbind libnss-winbind

8. Durante la instalación, deberá proporcionar el nombre de dominio de Kerberos. Escriba su nombre de dominio en mayúsculas y presione la tecla [Enter] para finalizar el proceso de instalación.

9. Una vez finalizada la instalación de los paquetes, verifique la configuración solicitando un vale de Kerberos para un administrador de dominio mediante el comando kinit. Utilice el comando klist para enumerar el ticket Kerberos concedido.

# kinit [email protected]_DOMAIN.TLD
# klist

Paso 3: Únase a Samba4 AD DC como controlador de dominio

10. Antes de integrar su máquina en Samba4 DC, primero asegúrese de que todos los demonios de Samba4 que se ejecutan en su sistema estén detenidos y, también, cambie el nombre del archivo de configuración predeterminado de Samba para comenzar limpio. Mientras aprovisiona el controlador de dominio, samba creará un nuevo archivo de configuración desde cero.

# systemctl stop samba-ad-dc smbd nmbd winbind
# mv /etc/samba/smb.conf /etc/samba/smb.conf.initial

11. Para iniciar el proceso de unión al dominio, primero inicie solo el demonio samba-ad-dc, después de lo cual ejecutará el comando samba-tool para unirse al reino utilizando una cuenta con privilegios administrativos en su dominio.

# samba-tool domain join your_domain DC -U "your_domain_admin"

Extracto de integración de dominio:

# samba-tool domain join tecmint.lan DC -U"tecmint_user"
Finding a writeable DC for domain 'tecmint.lan'
Found DC adc1.tecmint.lan
Password for [WORKGROUP\tecmint_user]:
workgroup is TECMINT
realm is tecmint.lan
checking sAMAccountName
Deleted CN=ADC2,CN=Computers,DC=tecmint,DC=lan
Adding CN=ADC2,OU=Domain Controllers,DC=tecmint,DC=lan
Adding CN=ADC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=tecmint,DC=lan
Adding CN=NTDS Settings,CN=ADC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=tecmint,DC=lan
Adding SPNs to CN=ADC2,OU=Domain Controllers,DC=tecmint,DC=lan
Setting account password for ADC2$
Enabling account
Calling bare provision
Looking up IPv4 addresses
Looking up IPv6 addresses
No IPv6 address will be assigned
Setting up share.ldb
Setting up secrets.ldb
Setting up the registry
Setting up the privileges database
Setting up idmap db
Setting up SAM db
Setting up sam.ldb partitions and settings
Setting up sam.ldb rootDSE
Pre-loading the Samba 4 and AD schema
A Kerberos configuration suitable for Samba 4 has been generated at /var/lib/samba/private/krb5.conf
Provision OK for domain DN DC=tecmint,DC=lan
Starting replication
Schema-DN[CN=Schema,CN=Configuration,DC=tecmint,DC=lan] objects[402/1550] linked_values[0/0]
Schema-DN[CN=Schema,CN=Configuration,DC=tecmint,DC=lan] objects[804/1550] linked_values[0/0]
Schema-DN[CN=Schema,CN=Configuration,DC=tecmint,DC=lan] objects[1206/1550] linked_values[0/0]
Schema-DN[CN=Schema,CN=Configuration,DC=tecmint,DC=lan] objects[1550/1550] linked_values[0/0]
Analyze and apply schema objects
Partition[CN=Configuration,DC=tecmint,DC=lan] objects[402/1614] linked_values[0/0]
Partition[CN=Configuration,DC=tecmint,DC=lan] objects[804/1614] linked_values[0/0]
Partition[CN=Configuration,DC=tecmint,DC=lan] objects[1206/1614] linked_values[0/0]
Partition[CN=Configuration,DC=tecmint,DC=lan] objects[1608/1614] linked_values[0/0]
Partition[CN=Configuration,DC=tecmint,DC=lan] objects[1614/1614] linked_values[28/0]
Replicating critical objects from the base DN of the domain
Partition[DC=tecmint,DC=lan] objects[97/97] linked_values[24/0]
Partition[DC=tecmint,DC=lan] objects[380/283] linked_values[27/0]
Done with always replicated NC (base, config, schema)
Replicating DC=DomainDnsZones,DC=tecmint,DC=lan
Partition[DC=DomainDnsZones,DC=tecmint,DC=lan] objects[45/45] linked_values[0/0]
Replicating DC=ForestDnsZones,DC=tecmint,DC=lan
Partition[DC=ForestDnsZones,DC=tecmint,DC=lan] objects[18/18] linked_values[0/0]
Committing SAM database
Sending DsReplicaUpdateRefs for all the replicated partitions
Setting isSynchronized and dsServiceName
Setting up secrets database
Joined domain TECMINT (SID S-1-5-21-715537322-3397311598-55032968) as a DC

12. Después de que Ubuntu con el software samba4 se haya integrado en el dominio, abra el archivo de configuración principal de samba y agregue las siguientes líneas:

# nano /etc/samba/smb.conf

Agregue el siguiente extracto al archivo smb.conf.

dns forwarder = 192.168.1.1
idmap_ldb:use rfc2307 = yes

   template shell = /bin/bash
   winbind use default domain = true
   winbind offline logon = false
   winbind nss info = rfc2307
        winbind enum users = yes
        winbind enum groups = yes

Reemplace la dirección IP del reenviador DNS con su propia IP del reenviador DNS. Samba reenviará todas las consultas de resolución de DNS que estén fuera de la zona autorizada de su dominio a esta dirección IP.

13. Finalmente, reinicie el demonio samba para reflejar los cambios y verifique la replicación del directorio activo ejecutando los siguientes comandos.

# systemctl restart samba-ad-dc
# samba-tool drs showrepl

14. Además, cambie el nombre del archivo de configuración Kerberos inicial de la ruta/etc y reemplácelo con el nuevo archivo de configuración krb5.conf generado por samba mientras aprovisiona el dominio.

El archivo se encuentra en el directorio/var/lib/samba/private. Utilice el enlace simbólico de Linux para vincular este archivo al directorio/etc.

# mv /etc/krb5.conf /etc/krb5.conf.initial
# ln -s /var/lib/samba/private/krb5.conf /etc/
# cat /etc/krb5.conf

15. Además, verifique la autenticación Kerberos con el archivo samba krb5.conf. Solicite un ticket para un usuario administrador y enumere el ticket almacenado en caché emitiendo los siguientes comandos.

# kinit administrator
# klist

Paso 4: validaciones de servicios de dominio adicionales

16. La primera prueba que debe realizar es la resolución de DNS de Samba4 DC. Para validar la resolución de DNS de su dominio, consulte el nombre de dominio usando el comando de host contra algunos registros AD DNS cruciales como se muestra en la siguiente captura de pantalla.

El servidor DNS debería reproducirse ahora con un par de dos direcciones IP para cada consulta.

# host your_domain.tld
# host -t SRV _kerberos._udp.your_domain.tld  # UDP Kerberos SRV record
# host -t SRV _ldap._tcp.your_domain.tld  # TCP LDAP SRV record

17. Estos registros DNS también deben ser visibles desde una máquina Windows inscrita con herramientas RSAT instaladas. Abra el Administrador de DNS y expanda los registros tcp de su dominio como se muestra en la imagen de abajo.

18. La siguiente prueba debe indicar si la replicación LDAP del dominio funciona como se esperaba. Usando samba-tool, cree una cuenta en el segundo controlador de dominio y verifique si la cuenta se replica automáticamente en el primer Samba4 AD DC.

# samba-tool user add test_user
# samba-tool user list | grep test_user

19. También puede crear una cuenta desde una consola de Microsoft AD UC y verificar si la cuenta aparece en ambos controladores de dominio.

De forma predeterminada, la cuenta debe crearse automáticamente en ambos controladores de dominio samba. Consulte el nombre de la cuenta desde adc1 usando el comando wbinfo.

20. De hecho, abra la consola AD UC desde Windows, expanda a Controladores de dominio y debería ver ambas máquinas DC inscritas.

Paso 5: Habilite el servicio Samba4 AD DC

21. Para habilitar los servicios samba4 AD DC en todo el sistema, primero deshabilite algunos demonios Samba antiguos y no utilizados y habilite solo el servicio samba-ad-dc ejecutando los siguientes comandos:

# systemctl disable smbd nmbd winbind
# systemctl enable samba-ad-dc

22. Si administra de forma remota el controlador de dominio Samba4 desde un cliente de Microsoft o tiene otros clientes Linux o Windows integrados en su dominio, asegúrese de mencionar la dirección IP de la máquina adc2 en su servidor DNS de interfaz de red Configuración de IP para obtener un nivel de redundancia.

Las siguientes capturas de pantalla ilustran las configuraciones necesarias para un cliente Windows o Debian/Ubuntu.

Suponiendo que el primer DC con 192.168.1.254 se desconecte, invierta el orden de las direcciones IP del servidor DNS en el archivo de configuración para que no intente consultar primero un servidor DNS no disponible.

Finalmente, en caso de que desee realizar la autenticación local en un sistema Linux con una cuenta de Active Directory Samba4 o otorgar privilegios de root para cuentas AD LDAP en Linux, lea los pasos 2 y 3 del tutorial Administrar la infraestructura AD de Samba4 desde la línea de comandos de Linux.