Linux

Cómo implementar Samba como un controlador de dominio de Active Directory en Linux

sambahero
Imagen: Jack Warren

Active Directory (AD) es el método de Microsoft para crear y aplicar políticas a las computadoras asociadas con una red. Es una herramienta ampliamente utilizada por empresas y administradores de red de todo el mundo.

La solución de Microsoft no es el único medio para lograr esto; Samba de código abierto hace posible implementar controladores de dominio de Active Directory. Con este controlador, puede crear usuarios e incluso establecer políticas.

Escribiré una serie de tutoriales sobre este tema. En el primer artículo, implementaremos Samba AD en una instancia de Ubuntu Server 20.04.

Mirar: Manifiesto: Manifiesto del servidor (República Tecnológica Premium)

que necesitas

  • Una instancia en ejecución de Ubuntu 20.04
  • usuario con privilegios sudo

Cómo configurar el nombre de host

Lo primero que debemos hacer es establecer el nombre de host de nuestra máquina. Llamaremos a este servidor «dc1». Para establecer el nombre de host, inicie sesión en su servidor Ubuntu y emita el comando:

sudo hostnamectl set-hostname dc1

A continuación, debe agregar una línea al archivo /etc/hosts para asignar el nombre de host a su dirección IP. Abra el archivo para editarlo con el siguiente comando:

sudo nano /etc/hosts

En la parte inferior del archivo, agregue esta línea (edite la información para que se adapte a su esquema de dirección IP y al REALM del servidor):

192.168.1.100 dc1 dc1.example.com

Cierre sesión y vuelva a iniciarla para que el cambio de nombre de host surta efecto.

Cómo instalar los paquetes necesarios

Ahora instalaremos todo el software necesario. En una ventana de terminal, emita el comando:

sudo apt install samba smbclient winbind libpam-winbind libnss-winbind krb5-kdc libpam-krb5 -y

Durante la instalación, se le pedirá que escriba el dominio predeterminado de la versión 5 de Kerberos. Ignore esto (y asegúrese de que el error sea) ya que lo configuraremos más tarde. Después de instalar el software, puede configurar el controlador de dominio (DC).

Cómo configurar Samba como controlador AD

Primero, moveremos los archivos de configuración originales para Samba y Kerberos. Para hacer esto, emita el siguiente comando:

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
sudo mv /etc/krb5.conf /etc/krb5.conf.bak

Samba viene con un práctico comando de configuración que usaremos para configurar el controlador AD. Emita el comando:

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

El comando debe elegir el REALM y el dominio predeterminados de su archivo de hosts, así que acepte los valores predeterminados. Debe aceptar los valores predeterminados para las siguientes dos preguntas (funciones de servidor, servidor de DNS). Cuando llegue a la dirección IP del reenviador de DNS, use un servicio de DNS en el que confíe, como Cloudflare o Google. Al final, se le pedirá que cree una contraseña para el usuario administrador. Asegúrese de que esta contraseña sea fuerte y única.

Deje que Samba complete la configuración.

El siguiente paso es copiar el archivo de configuración de Kerberos usando el siguiente comando:

sudo cp /var/lib/samba/private/krb5.conf /etc

Cómo habilitar Samba AD al inicio

Finalmente, si su servidor tiene que reiniciarse, debemos asegurarnos de que todo comience. Para hacer esto, necesitamos enmascarar, detener y deshabilitar los servicios smbd, nmbd y winbind, así como umask, iniciar y habilitar el servicio samba-ad-dc. Esto se hace con el siguiente comando:

sudo systemctl mask smbd nmbd winbind
sudo systemctl disable smbd nmbd winbind
sudo systemctl stop smbd nmbd winbind
sudo systemctl unmask samba-ad-dc
sudo systemctl start samba-ad-dc
sudo systemctl enable samba-ad-dc

Una vez hecho esto, reinicie el servidor nuevamente y esté listo para probar.

Cómo probar la configuración de CC

En este punto, su controlador de dominio Samba está funcionando, pero algo salió mal. Tal como está, Samba funciona sin DNS porque su servidor está predeterminado en systemd-resolved. Para evitar este problema, detendremos y deshabilitaremos systemd-resolved con los siguientes comandos:

sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved

A continuación, tenemos que desvincular el archivo /etc/resolv.conf con el siguiente comando:

sudo unlink /etc/resolv.conf

Finalmente, abra el archivo resolv.conf con el siguiente comando:

sudo nano /etc/resolv.conf

En ese archivo, agregue lo siguiente:

nameserver SERVER
search DOMAIN

donde SERVIDOR es la dirección IP del host Samba AD y DOMINIO es el dominio asociado con el servidor.

Reinicie su servidor.

Después de que el servidor se reinicie, pruebe la conexión AD con el siguiente comando:

sudo samba
host -t SRV _ldap._tcp.monkeypantz.lan

Debería ver algo como esto:

_ldap._tcp.monkeypantz.lan has SRV record 0 100 389 dc1.monkeypantz.lan.

A continuación, pruebe la autenticación Kerberos con el siguiente comando:

kinit Administrator

Después de ingresar la contraseña que creó durante la configuración de Samba DC, debería ver una advertencia de que su contraseña caducará en X días, así:

Warning: Your password will expire in 41 days on Thu 17 Jun 2023 01:05:21 PM UTC

Felicitaciones, su servidor Ubuntu ahora está actuando como un controlador de dominio.

Suscríbase a Cómo hacer que la tecnología funcione de Tecnopedia en YouTube Obtenga los últimos consejos técnicos para profesionales de negocios de Jack Wallen.

LEER  ¿Cuál es la diferencia entre LibreOffice y OpenOffice?

Deja una respuesta

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

Botón volver arriba