Si desea configurar un controlador de dominio de forma económica, Samba lo hace posible. Aquí está el cómo.

    Con la ayuda de Samba, es posible configurar su servidor Linux como un controlador de dominio. Antes de que te emociones demasiado, no estoy hablando de un controlador de dominio primario (PDC) de Active Directory. Por otro lado, puede actuar como un controlador de dominio estilo Windows NT4. Una de las principales ventajas de esta configuración es que ofrece la posibilidad de centralizar las credenciales de usuario y de máquina.

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

    Dicho esto, pongámonos a trabajar. Quiero mostrarles una pieza de este complejo rompecabezas. Esta pieza es una herramienta Samba interactiva que le ayuda a configurar su archivo /etc/smb.conf para que sirva como controlador de dominio.

    Más información sobre el código abierto

    Instalación

    Lo primero que debe hacer es instalar Samba y winbind. Abra una ventana de terminal y ejecute el siguiente comando:

    sudo apt install samba libpam-winbind

    Es posible que se hayan detectado varias dependencias para esta instalación; permita que se instalen y estará listo para iniciar la configuración.

    Preparación

    Antes de ejecutar samba-tool, debe asegurarse de que su archivo /etc/hosts se asigna correctamente a un nombre de dominio totalmente cualificado y a la dirección IP del DC, como por ejemplo:

    127.0.0.0.1 localhost.localdomain IP_ADDRESS_OF_SERVER localhostIP_ADDRESS_OF_SERVER SAMBADOM.EXAMPLE.NET SAMBADOM

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

    A continuación, debe configurar el nombre de host de su servidor. De acuerdo con nuestro archivo /etc/hosts anterior, nuestro nombre de host para esta configuración sería SAMBADOM. Para ello, abra el archivo /etc/hostname y modifíquelo en consecuencia. Una vez hecho esto, reinicie su servidor.

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

    smbd -b | grep "CONFIGFILE"smbd -b | egrep "LOCKDIR|STATEDIR|CACHEDIR|PRIVATE_DIR".

    Usando la salida de los comandos (), ahora debería ser capaz de buscar en esos directorios y eliminar los archivos necesarios. Si esos archivos no existen, puedes irte.

    Usando la herramienta samba

    Ahora es el momento de encender el comando samba-tool. Estaremos ejecutando esto en modo interactivo emitiendo el siguiente comando:

    sudo samba-tool provisión de dominio --use-rfc2307 --interactivo

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

    • El reino. También se utiliza como dominio DNS de AD y se configura en el archivo de hosts. Por ejemplo: SAMBADOM.EJEMPLO.NET
    • Dominio. El nombre de dominio NetBIOS de su servidor Samba. NOTA: Se recomienda utilizar la primera parte del dominio DNS de AD. Por ejemplo SAMBADOM
    • Función de servidor. Esto define la función del servidor. Usted querrá ir con el valor por defecto, dc
    • Backend de DNS. Establece el backend del DNS. Querrás ir con el valor por defecto, SAMBA_INTERNAL
    • Dirección IP del redireccionador DNS. Si no necesita usar el reenvío, ingrese ninguno, de lo contrario ingrese la dirección IP del redireccionador de DNS (para más información sobre el reenvío de DNS, visite esta página de Samba Wiki.
    • Contraseña de administrador. Esto establece la contraseña del administrador del dominio

    Una vez que hayas verificado tu contraseña de administrador, la herramienta samba hará lo suyo y configurará Samba como un DC. A continuación, puede consultar el archivo /etc/samba/smb.conf para realizar los cambios necesarios. Te sorprenderá lo mínimo que es el archivo smb.conf en este momento.

    En este punto, ahora deberías poder añadir usuarios/contraseña de usuario a samba. Este paso es necesario, de lo contrario los usuarios no podrán autenticarse contra Samba. Para ello, utilice los siguientes comandos:

    smbpasswd -a USERNAMEsmbpasswd -e USERNAME

    Donde USERNAME es el nombre del usuario existente que se agregará a Samba. Sólo se te pedirá que crees una contraseña de Samba para el primer comando (el segundo comando permite al usuario.

    Eliminación de DNS de origen

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

    auto INTERFACE_NAMEiface INTERFACE_NAME inet staticaddress IP_ADDRESS_FOR_SERVERnetmask NETMASKgateway GATEWAYdns-nameservers IP_ADDRESS_FOR_SERVER

    NOTA: Todo en MAYÚSCULAS arriba debe ser configurado para satisfacer sus necesidades.

    Guarde este archivo y reinicie la red con el siguiente comando:

    reinicio de redes de servicios sudo

    También debe editar el archivo /etc/resolv.conf para que refleje el mismo cambio que el anterior. En este archivo, usted entrará:

    servidor de nombres IP_ADDRESS_FOR_SERVER

    Donde IP_ADDRESS_FOR_SERVER es la misma dirección que usó en los servidores de nombres dns anteriores.

    Configuración de Kerberos

    Desde el primer momento, Kerberos tiene su propio archivo de configuración que debe ser reemplazado por el archivo krb5.conf generado por el aprovisionamiento de Samba. Para ello, ejecute los siguientes comandos:

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

    NOTA: Puede que encuentre que el archivo /etc/krb5.conf original no existe. Si ese es el caso, simplemente ejecute el segundo comando desde arriba.

    Listo para probar y conectar

    Ahora tienes todo lo que necesitas para empezar a probar y conectar con tu controlador de dominio Samba. Sin embargo, el aspecto más desafiante de conseguir su DC está hecho. Una prueba rápida para asegurarse de que todo está en marcha es emitir el comando:

    smbclient -L localhost -U%.

    Después de introducir la contraseña del usuario Samba, aparecerá una conexión correcta .

    Como puede ver, la prueba smbclient lista tanto netlogon como sysvol como acciones. Éstos se crean por defecto y deben existir en el centro de distribución para poder ser utilizados. Además, debe colocar en /var/lib/samba/sysvol/REALM/scripts todos los scripts de inicio de sesión que necesite para todos sus clientes (donde REALM es el REALM que configuró al ejecutar el comando samba-tool.

    En este punto, el controlador de dominio Samba está listo para la conexión. Puede que tenga que abrir el archivo /etc/samba/smb.conf y afinar la configuración para satisfacer mejor sus necesidades, ya que el archivo generado por la herramienta samba es bastante mínimo. Sin embargo, le indicará el camino correcto.

    Boletín Semanal de Código Abierto

    No se pierda nuestros consejos, tutoriales y comentarios sobre el sistema operativo Linux y las aplicaciones de código abierto. Entregado los martes