Cómo configurar tu servidor Linux como un controlador de dominio con Samba

Con la ayuda de Samba, es posible configurar tu servidor Linux como un Controlador de Dominio. Antes de emocionarte demasiado, no me refiero a un Controlador de Dominio Principal de Active Directory (PDC). Por otro lado, puede actuar como un controlador de dominio estilo Windows NT4. Una ventaja principal de esta configuración es que ofrece la capacidad de centralizar las credenciales de usuarios y máquinas.

En otras palabras, si no necesitas un PDC completo y estás buscando simplemente centralizar el almacenamiento de credenciales, la configuración de Ubuntu Server/Samba será mucho más fácil de trabajar y te ahorrará considerablemente en el presupuesto.

Dicho esto, pongámonos manos a la obra. Quiero mostrarte una pieza de este rompecabezas bastante complejo. Esa pieza es una herramienta interactiva de Samba que te ayuda a configurar tu archivo /etc/smb.conf para que funcione como un Controlador de Dominio.

Índice de Contenido
  1. Instalación
  2. Preparación
  3. Usando samba-tool
  4. Eliminando el DNS ascendente
  5. Configurando Kerberos
  6. Listo para probar y conectar

Instalación

Lo primero que debes hacer es instalar Samba y winbind. Abre una ventana de terminal y ejecuta el siguiente comando:

sudo apt install samba libpam-winbind

Cómo utilizar Isearch para buscar archivos de texto en Linux

Puede que se instalen varias dependencias; permite que se instalen y estarás listo para comenzar la configuración.

Preparación

Antes de ejecutar samba-tool, debes asegurarte de que tu archivo /etc/hosts mapee correctamente a un nombre de dominio completamente calificado y a la dirección IP del DC, como:

127.0.0.1 localhost.localdomain
IP_ADDRESS_OF_SERVER localhost
IP_ADDRESS_OF_SERVER SAMBADOM.EXAMPLE.NET SAMBADOM

Donde IP_ADDRESS_OF_SERVER es la dirección real de tu servidor Samba. Asegúrate de editar lo anterior para que se ajuste a las necesidades de tu red.

A continuación, debes establecer el nombre de host para tu servidor. De acuerdo con nuestro archivo /etc/hosts anterior, el nombre de host para esta configuración sería SAMBADOM. Para hacerlo, abre el archivo /etc/hostname y cámbialo en consecuencia. Una vez que hayas hecho eso, reinicia tu servidor.

Una vez que el servidor se haya reiniciado, debes eliminar el archivo smb.conf actual, así como cualquier archivo de base de datos de Samba (*.tdb y *.ldb). Para localizar los directorios que contienen estos archivos, ejecuta los siguientes dos comandos:

Guía para entender y gestionar los permisos de archivos y directorios en Linux

smbd -b | grep "CONFIGFILE"

smbd -b | egrep "LOCKDIR|STATEDIR|CACHEDIR|PRIVATE_DIR"

Usando la salida de los comandos (Figura A), ahora deberías poder revisar esos directorios y eliminar los archivos necesarios. Si esos archivos no existen, estás listo para continuar.

Figura A

Usando samba-tool

Ahora es el momento de iniciar el comando samba-tool. Lo ejecutaremos en modo interactivo utilizando el siguiente comando:

Cómo configurar un servidor Linux como puerta de enlace para una red local

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

Al ejecutar el comando con --use-rfc2307, habilitamos las extensiones de NIS. En este punto, samba-tool te pedirá que configures las siguientes opciones:

  • Realm. Esto también se usa como el dominio DNS de AD y se configura en tu archivo hosts. Por ejemplo: SAMBADOM.EXAMPLE.NET
  • Domain. Nombre NetBIOS del dominio de tu servidor Samba. NOTA: Se recomienda utilizar la primera parte del dominio DNS de AD. Por ejemplo: SAMBADOM
  • Server Role. Define el rol del servidor. Deberías elegir el valor predeterminado, dc
  • DNS backend. Establece el backend DNS. Deberías elegir el valor predeterminado, SAMBA_INTERNAL
  • DNS forwarder IP address. Si no necesitas utilizar reenvío, ingresa none; de lo contrario, ingresa la dirección IP del reenviador DNS (para obtener más información sobre el reenvío de DNS, consulta esta página de Wiki de Samba)
  • Administrator password. Esto establece la contraseña del administrador del dominio

Una vez que hayas verificado tu contraseña de administrador, samba-tool llevará a cabo su tarea y configurará Samba como un DC. Luego, podrás revisar el archivo /etc/samba/smb.conf y realizar los cambios necesarios. Te sorprenderá lo mínimo que es el archivo smb.conf en este punto.

En este punto, ahora deberías poder agregar usuarios/contraseñas de usuario a Samba. Este paso es necesario, de lo contrario, los usuarios no podrán autenticarse con Samba. Para hacer esto, utiliza los siguientes comandos:

smbpasswd -a USERNAME
smbpasswd -e USERNAME

Donde USERNAME es el nombre del usuario existente que deseas agregar a Samba. Solo se te pedirá crear una contraseña de Samba para el primer comando (el segundo comando habilita al usuario).

Windows al alcance de Linux: Accede a recursos con smbmount y smbclient

Eliminando el DNS ascendente

Debemos asegurarnos de que el DNS del Controlador de Dominio apunte a sí mismo. Para hacerlo, debemos editar el archivo /etc/network/interfaces para que refleje lo siguiente (lo cual también asegurará que la interfaz de red utilice una dirección IP estática):

auto INTERFACE_NAME
iface INTERFACE_NAME inet static
address IP_ADDRESS_FOR_SERVER
netmask NETMASK
gateway GATEWAY
dns-nameservers IP_ADDRESS_FOR_SERVER

NOTA: Todo en MAYÚSCULAS arriba debe configurarse según tus necesidades.

Guarda este archivo y reinicia la red con el siguiente comando:

sudo service networking restart

También debes editar el archivo /etc/resolv.conf para reflejar el mismo cambio que indicamos anteriormente. En este archivo, ingresarás:

Cómo configurar y utilizar logrotate para la gestión de archivos de registro en Linux

nameserver IP_ADDRESS_FOR_SERVER

Donde IP_ADDRESS_FOR_SERVER es la misma dirección que utilizaste en dns-nameservers.

Configurando Kerberos

Por defecto, Kerberos tiene su propio archivo de configuración que debe reemplazarse con el archivo krb5.conf generado por el aprovisionamiento de Samba. Para hacer eso, ejecuta los siguientes comandos:

sudo mv /etc/krb5.conf /etc/krb5.conf.orig
sudo ln -sf /var/lib/samba/private/krb5.conf /etc/krb5.conf

NOTA: Es posible que el archivo original /etc/krb5.conf no exista. En ese caso, simplemente ejecuta el segundo comando de arriba.

Listo para probar y conectar

Ahora tienes todo lo necesario para comenzar a probar y conectarte a tu Controlador de Dominio Samba. Sin embargo, lo más desafiante de obtener tu DC está hecho. Una prueba rápida para asegurarte de que todo funcione correctamente es ejecutar el siguiente comando:

Cómo instalar y configurar ALSA en Linux: Guía paso a paso

smbclient -L localhost -U%

Después de ingresar la contraseña de usuario de Samba, deberías ver una conexión exitosa aparecer (Figura B).

Figura B

Cómo configurar tu servidor Linux como un controlador de dominio con Samba - Código abierto | Imagen 1 Newsmatic

Como puedes ver, la prueba de smbclient muestra tanto netlogon como sysvol como recursos compartidos. Estos se crean de forma predeterminada y deben existir en el DC para que se utilicen. Además, debes colocar en /var/lib/samba/sysvol/REALM/scripts cualquier script de inicio que necesites para todos tus clientes (donde REALM es el REALM que configuraste al ejecutar el comando samba-tool).

En este punto, tu Controlador de Dominio Samba está listo para la conexión. Es posible que necesites abrir el archivo /etc/samba/smb.conf y ajustar la configuración para que se ajuste mejor a tus necesidades, ya que el archivo generado por samba-tool es bastante mínimo. Sin embargo, te pondrá en el camino correcto.

Consejos rápidos para la navegación de directorios en Linux: cd y pushd

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Código abierto, allí encontraras muchos artículos similares a Cómo configurar tu servidor Linux como un controlador de dominio con Samba , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.