1

Instalar y configurar Controlador de dominio Samba

Hola a tod@s, en este post vamos a ver como instalar y  configurar un controlador de dominio Samba.

  • Actualizamos el sistema operativo con las últimas versiones de los paquetes disponibles en los repositorios, para ello, ejecutaremos apt-get update && apt-get upgrade:

  • Editamos el fichero hosts, nano /etc/hosts e introducimos el nombre del servidor, tanto el nombre DNS como el nombre NETBIOS:

  • A continuación vamos a configurar la conexión de red, para ello, editamos el fichero nano /etc/netplan/01-network-manager-all.yaml:

  • Aplicamos la nueva configuración de red con netplan apply:

  • Si ejecutamos ip a podmeos ver que los cambios se han aplicado:

  • Ahora vamos a cambiarle el nombre al equipo, para ello, ejecutamos hostnamectl set-hostname dc02aso y reiniciamos el equipo para que se apliquen los cambios:

  • Seguiremos por instalar los paquetes necesarios, además de los paquetes propios de Samba necesitaremos disponer de algunos otros, que deberán estar preinstalados antes de comenzar con el proceso de configuración, aunque todos ellos están en los repositorios. Son los siguientes:
  • samba: servidor de archivos, impresión y autenticación para SMB/CIFS.
  • smbclient: clientes de línea de comandos para SMB/CIFS.
  • krb5-config: Archivos de configuración para Kerberos Version 5.
  • winbind: Servicio para resolver información sobre usuarios y grupos de servidores Windows NT.
  • Ejecutamos este comando, apt-get install samba krb5-config winbind smbclient:

  • Cuando llegue el momento de instalar Kerberos, nos preguntará por el reino, que se refiere al nombre del dominio, en nuestro caso JRRG.LOCAL:

  • Nos solicita el nombre de los servidores de Kerberos para nuestro reino, en este caso, se refiere a los controladores de dominio que tengamos definidos, en nuestro caso, sólo tenemos uno que se llama dc02aso:

  • Nos solicita el servidor administrativo para nuestro reino de Kerberos, como sólo tenemos uno, volvemos a escribir su nombre, dc02aso:

  • Como podemos ver, la instalación finaliza satisfactoriamente:

  • Una vez completada la instalación de los paquetes, vamos a configurar samba:
  • Lo primero que haremos será renombrar el fichero de configuración de samba, ya que para poder realizar la promoción de este servidor a controlador de dominio debe utilizar su propio fichero de configuración de samba personalizado, mv /etc/samba/smb.conf /etc/samba/smb.conf.orig:

  • Después de esto, ya estaría preparado nuestro equipo Ubuntu para promoverlo a controlador de dominio samba, para ello, usaremos el comando samba-tool domain provision, y lo haremos de forma interactiva, para que sea el propio comando el que nos solicite los valores que necesite y, cuando sea posible, nos sugiera sus valores predeterminados, dejamos todos los valores como nos va indicando y solo cambiamos el DNS forwarder que ponemos el de google, también nos indica que configuremos la password del Administrator del dominio:

  • Con todo esto que hemos realizado, además de configurarse Samba de forma adecuada, se ha generado un archivo de configuración para Kerberos en la ruta /var/lib/samba/private/krb5.conf, solo tenemos que copiarlo a la ubicación adecuada, cp /var/lib/samba/private/krb5.conf /etc/:

  • Ahora vamos a ajustar la resolución de nombres, y comenzaremos deteniendo los servicios implicados, systemctl stop smbd nmbd winbind systemd-resolved:

  • Los deshabilitamos, para que no vuelvan a iniciarse si reiniciamos el equipo, systemctl disable smbd nmbd winbind systemd-resolved:

  • Nos aseguraremos de que el servicio samba-ad-dc se podrá iniciar sin dificultades, evitando cualquier enmascaramiento que pueda existir, systemctl unmask samba-ad-dc:

  • Eliminamos el archivo conf que, en realidad, será un enlace a ../run/systemd/resolve/stub-resolv.conf, para comprobarlo, comenzamos por consultar su entrada en el directorio, ls -l /etc/resolv.conf:

  • Procedemos a eliminar el enlace, rm /etc/resolv.conf:

  • Utilizamos el editor nano para crear un nuevo archivo que lo sustituya, nano /etc/resolv.conf:

  • Editamos los valores adecuados para nuestro dominio:

domain jrrg.local

nameserver 127.0.0.1

 

  • Volvemos a iniciar el servicio samba-ad-dc, systemctl start samba-ad-dc:

  • Lo habilitamos, para que también se inicie automáticamente al arrancar el Sistema, systemctl enable samba-ad-dc:

  • Ahora vamos a comprobar la instalación, para consultar el nivel de nuestro dominio, es decir, el tipo de servidor que hemos implementado, ejecutamos este commando, samba-tool domain level show:

 

  • Ahora vamos a crear cuatro cuentas de usuario, al igual que hicimos para el controlador de dominio windows, para ello, ejecutamos este commando, samba-tool user create nombreusuario:

  • Confirmamos que el servidor DNS funciona de manera adecuada.
  • Comprobamos el servicio LDAP sobre el protocolo TCP, para lo que escribiremos, host -t SRV _ldap._tcp.jrrg.local, si todo es correcto, recibiremos una respuesta parecida a ésta, _tcp.jrrg.local has SRV record 0 100 389 dc02aso.jrrg.local.

  • Comprobamos el registro SRV para el protocolo Kerberos sobre UDP, para lo que escribiremos, host -t SRV _kerberos._udp.jrrg.local, si todo es correcto, recibiremos una respuesta parecida a ésta, _udp.jrrg.local has SRV record 0 100 88 dc02aso.jrrg.local.

  • Para terminar, comprobamos la resolución del nombre de nuestro servidor, host -t A dc02aso.jrrg.local, si todo es correcto, recibiremos una respuesta parecida a ésta, jrrg.local has address 192.168.5.52:

  • Comprobamos con nslookup que nuestro dominio resuelve correctamente:

  • Ahora vamos a comprobar el funcionamiento de Kerberos para ver si nuestros usuarios pueden autenticar de forma correcta, para ello, ejecutamos este comando, smbclient -L dc02aso.jrrg.local -U ‘administrator’:

  • Para terminar, si reiniciásemos nuestro servidor o nuestra conexión de red, el fichero resolv.conf se restablecería con la configuración original y todo dejaría de funcionar, ya que no tendríamos resolución de nombres, para evitar que esto no suceda lo que vamos a hacer es protegerlo contra escritura, para ello, ejecutamos el comando chattr +i /etc/resolv.conf:

  • Una vez ejecutado, podemos consultar si está protegido, ejecutando el comando lsattr /etc/resolv.conf:

 

Saludos y espero que os sea de ayuda 😉

Jose Ramon Ramos Gata

Técnico Superior STI

Un comentario

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.