Categorías: Como se hace

Guía para la implementación de servicios integrados a Samba4 como Active Directory Domain Controller (AD DC) en Debian 9/10 – Parte 2

Instalación y configuración de Samba4 como AD DC

Instalación de paquetes necesarios

Deshabilitar la interacción de configuración y proceder con la instalación de paquetes.

export DEBIAN_FRONTEND=noninteractive
apt install samba krb5-user winbind libnss-winbind
unset DEBIAN_FRONTEND

Preparación del aprovisionamiento

Detener y deshabilitar todos los servicios relacionados con Samba.

systemctl stop samba-ad-dc smbd nmbd winbind
systemctl disable samba-ad-dc smbd nmbd winbind

Opcionalmente se puede hacer una copia del archivo de configuración inicial de Samba ya que se sobrescribe durante el aprovisionamiento.

mv /etc/samba/smb.conf{,.org}

Aprovisionamiento Samba Active Directory Domain Controller

Modo interactivo:

samba-tool domain provision --use-rfc2307 --interactive

Aceptar los valores por defecto a menos que se desee lo contrario.

Modo no interactivo:

samba-tool domain provision \
    --server-role=dc \
    --use-rfc2307 \
    --dns-backend=SAMBA_INTERNAL \
    --realm=EXAMPLE.TLD \
    --domain=EXAMPLE \
    --function-level=2008_R2 \
    --adminpass='P@s$w0rd.123'

Editar el archivo de configuración de samba.

nano /etc/samba/smb.conf
[global]
    dns forwarder = 127.0.0.1
    netbios name = DC
    realm = EXAMPLE.TLD
    server role = active directory domain controller
    server string = Samba4 AD DC
    workgroup = EXAMPLE
    idmap_ldb:use rfc2307 = yes
    ldap server require strong auth = no
[netlogon]
    path = /var/lib/samba/sysvol/example.tld/scripts
    read only = No
    create mask = 0700
    directory mask = 0644
[sysvol]
    path = /var/lib/samba/sysvol
    read only = No
    create mask = 0700
    directory mask = 0644

La directiva ldap server require strong auth = no en la sección [global] se utiliza para permitir el acceso por el puerto tcp\389.

Las directivas create mask = 0700 y directory mask = 0644 en las secciones [netlogon] y [sysvol] son para la correcta asignación de permisos tanto a ficheros como directorios.

Configuración de Kerberos

Durante el aprovisionamiento, Samba crea un archivo de configuración con los valores necesarios para el correcto funcionamiento del AD DC.

Utilizar el fichero configuración de Kerberos generada durante el aprovisionamiento y editarlo.

mv /etc/krb5.conf{,.org}
ln -s /var/lib/samba/private/krb5.conf /etc/krb5.conf
nano /etc/krb5.conf
[libdefaults]
    default_realm = EXAMPLE.TLD
    dns_lookup_realm = false
    dns_lookup_kdc = true
[realms]
    EXAMPLE.TLD = {
        kdc = DC.EXAMPLE.TLD
        master_kdc = DC.EXAMPLE.TLD
        admin_server = DC.EXAMPLE.TLD
        default_domain = example.tld
    }
[domain_realm]
    .example.tld = EXAMPLE.TLD
    example.tld = EXAMPLE.TLD

Iniciar, verificar el estado y habilitar el servicio de Samba AD DC.

systemctl unmask samba-ad-dc
systemctl start samba-ad-dc
systemctl status samba-ad-dc
systemctl enable samba-ad-dc

Evitar que la cuenta del usuario Administrator expire.

samba-tool user setexpiry Administrator --noexpiry

Reiniciar el servidor.

Comprobaciones

Comprobar el nivel del dominio.

samba-tool domain level show

Comprobar la resolución del nombre de domino, FQDN y hostname por la dirección IP estática.

ping -c4 example.tld
ping -c4 dc.example.tld
ping -c4 dc

Solicitar ticket de Kerberos y listarlo.

kinit Administrator@EXAMPLE.TLD
klist

Como referencia, debajo se muestra la lista de artículos de esta serie.

  1. Introducción
  2. Configuración de parámetros de red y sincronización de tiempo
  3. Instalación y configuración de Samba4 como AD DC
  4. Instalación y configuración del servidor Bind9 DNS e integración con Samba AD DC
  5. Instalación y configuración del servidor NTP e integración con Samba AD DC
  6. Creación de Unidades Organizativas, Grupos y Cuentas de Usuarios
  7. Instalación y configuración de Squid Proxy e integración con Samba AD DC
  8. Instalación y configuración de eJabberd XMPP e integración con Samba AD DC
  9. Instalación y configuración de Postfix, Dovecot, Roundcube Mail e integración con Samba AD DC
  10. Conclusiones

¿De cuánta utilidad te ha parecido este contenido?

Yoel Torres

Ver comentarios

  • Estoy implementando Samba 4 durante el aprovisionamiento y se detiene y me da este error:
    #44 /usr/bin/python2.7(_start+0x2a) [0x55896694daea]
    Can not dump core: corepath not set up
    Me pueden explicar el porque y como solucionarlo?

  • Muy buenos articulos Yoel pero quisiera añadir en el fichero smb.conf que se utilizará las siguientes líneas:

    tls enabled = yes
    tls keyfile = tls/key.pem
    tls certfile = tls/cert.pem
    tls cafile = tls/ca.pem

    para que la comunicación de los servicios integrados con AD Samba 4 fuese sobre conexión segura, y entonces habría que quitar la línea

    ldap server require strong auth = no

    Mis saludos.

    • Saludos, si hago eso me da error a la hora de reiniciar el samba.

      Job for samba-ad-dc.service failed because the control process exited with error code.
      See "systemctl status samba-ad-dc.service" and "journalctl -xe" for details.

  • Estoy queriendo implementar samba 4.9 y durante esl aprovisionamiento se detiene aquí y me da esto me pudieran yudar explicándome a qué se debe y que puedo hacer para resolverlo ...
    #47 /usr/bin/python2.7(_start-0x0a) ....
    Cannot dump core: corepth not set up

Compartir
Publicado por
Yoel Torres

Entradas recientes

Alta disponibilidad de sus base de datos con Percona XtraDB Cluster en Kubernetes

Uno de los grandes retos al que nos podemos enfrentar cuando una aplicación crece, es…

8 meses hace

Home automation (Parte 3) – ESPHome

Qué es lo que deseo hacer en este capítulo? Básicamente un sonoff, quiero encender/apagar las…

1 año hace

Home automation (Parte 2) – Home Assistant

Hace algunos meses estoy escuchando hablar del proyecto Home Assistant (HA). En palabras literales del…

1 año hace

Home automation (Parte 1)

Desde hace varios meses vengo con la idea de automatizar la casa donde vivo. Poco…

1 año hace

Cocinando una imagen personalizada de OpenWRT

El artículo describe el uso para un caso particular de OpenWRT y la creación de…

1 año hace