¿Un controlador de dominio en un servidor Linux? ¡Imposible! La reacción es válida, especialmente para quienes escuchan el concepto por primera vez. Resulta que no solo puede configurar un servidor Linux controlador de dominio, ¡sino que también puede hacerlo de forma gratuita!
Ya sea que opte por Linux por el costo, la estandarización o una pila de tecnología más eficiente y ecológica, aprender a configurar un CD de Linux es una buena habilidad para todos los administradores.
Siga leyendo para aprender a usar Samba como un servidor Linux controlador de dominio confiable.
Requisitos
Este tutorial será una demostración práctica. Si desea seguir, asegúrese de tener un servidor Ubuntu. Este tutorial utilizará un Ubuntu Server 22.04 LTS con la siguiente configuración.
- Nombre de host:
oddjobs-dc
- Dirección IP:
192.168.8.10
- Dominio:
OJI.COM
- FQDN:
oddjobs-dc.oji.com
Preparación del controlador de dominio en el servidor Linux
Después de cumplir con todos los requisitos previos, debe asegurarse de que no haya una configuración predeterminada del sistema operativo que pueda obstaculizar el funcionamiento del DC. No te preocupes. Este paso no es tan complicado como puede parecer. Siga los pasos a continuación para realizar esta tarea.
Configurar la entrada del archivo de hosts
La primera tarea es agregar el nombre de host de su servidor y las entradas FQDN en los hosts locales. (/etc/hosts
) archivo.
1. Primero, abra su cliente SSH preferido e inicie sesión en su servidor Ubuntu.
2. Abra sus hosts (/etc/hosts) en un editor de texto, como nano.
sudo nano /etc/hosts
3. Elimine cualquier entrada que asigne su nombre de host o FQDN a cualquier IP además de la IP estática. Por ejemplo, la dirección IP estática de este servidor es 192.168.8.10, así que deje esta entrada si existe. Consulte el ejemplo a continuación.
4. A continuación, agregue una entrada para asignar el FQDN y la dirección IP estática de su host. En este tutorial, el FQDN del servidor es oddjobs-dc.oji.com, por lo que la entrada para agregar es:
192.168.8.10 oddjobs-dc.oji.com oddjobs-dc
5. Guarde los hosts (/etc/hosts) y salga del editor.
Confirmar nombre de host y resolución FQDN
Ejecute los siguientes comandos para confirmar el nombre de host del servidor y que el FQDN se resuelva en la dirección IP correcta.
# verify server FQDN
hostname -A
# verify FQDN resolves to your server IP address
ping -c1 oddjobs-dc.oji.com
Como puede ver a continuación, los comandos devolvieron el FQDN y la dirección IP esperados.
Deshabilitar el servicio de resolución de nombres de red
Ubuntu tiene un servicio llamado systemd-resolved
, que se encarga de las solicitudes de resolución de DNS. Este servicio no es adecuado para Samba, y debe deshabilitarlo y configurar manualmente la resolución de DNS en su lugar.
1. Deshabilite el servicio resuelto por systemd ejecutando el siguiente comando.
sudo systemctl disable --now systemd-resolved
2. A continuación, elimine el enlace simbólico al archivo /etc/resolv.conf.
sudo unlink /etc/resolv.conf
3. Cree un nuevo archivo /etc/resolv.conf en su editor de texto. Este ejemplo usa nano.
sudo nano /etc/resolv.conf
4. Rellene el archivo /etc/resolv.conf con la siguiente información. Reemplace 192.168.8.10 con la dirección IP de su servidor y oji.com con su dominio. Deje el servidor de nombres 1.1.1.1 como el sistema de resolución de DNS alternativo, que es el sistema de resolución de DNS público de Cloudflare.
# your Samba server IP Address
nameserver 192.168.8.10
# fallback resolver
nameserver 1.1.1.1
# your Samba domain
search oji.com
Su /etc/resolv.conf debería verse similar a la siguiente captura de pantalla.
5. Guarde el archivo y salga del editor.
Instalando Samba
Después de completar la preparación del servidor, es hora de instalar Samba y otros paquetes necesarios para aprovisionar el controlador de dominio.
1. Primero, asegúrese de que el caché del repositorio esté actualizado ejecutando el siguiente comando.
sudo apt-get update
2. Ejecute el siguiente comando para instalar los paquetes necesarios para un controlador de dominio en pleno funcionamiento.
sudo apt install -y acl attr samba samba-dsdb-modules samba-vfs-modules smbclient winbind libpam-winbind libnss-winbind libpam-krb5 krb5-config krb5-user dnsutils chrony net-tools
3. En el paso Configuración de la autenticación Kerberos, escriba el dominio DNS en mayúsculas. En este ejemplo, el dominio de dominio predeterminado es OJI.COM. Resalte Ok y presione Entrar para aceptar el valor.
4. En la siguiente pantalla que solicita los servidores Kerberos para su dominio, escriba el nombre de host del servidor y presione Entrar.
5. En la siguiente pantalla que solicita el servidor administrativo para su dominio Kerberos, escriba el nombre de host del servidor y presione Entrar.
6. Después de la configuración, deshabilite los servicios innecesarios (winbind, smbd y nmbd).
sudo systemctl disable --now smbd nmbd winbind
7. Habilite y active el servicio samba-ad-dc. Este servicio es lo que Samba necesita para actuar como un servidor Linux controlador de dominio de Active Directory.
# unmask the samba-ad-dc service
sudo systemctl unmask samba-ad-dc
# enable samba-ad-dc service
sudo systemctl enable samba-ad-dc
Aprovisionamiento del servidor Linux del controlador de dominio
Usando el binario de la herramienta samba, ahora puede aprovisionar el controlador de dominio en su instalación de Samba. Samba-también l es una herramienta de configuración para interactuar y configurar varios aspectos de un AD basado en Samba.
1. Por si acaso, haga una copia de seguridad de los archivos /etc/samba/smb.conf y /etc/krb5.conf existentes.
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
sudo mv /etc/krb5.conf /etc/krb5.conf.bak
2. Ejecute el siguiente comando para promocionar Samba a un servidor Linux de controlador de dominio de Active Directory.
El conmutador –use-rfc2307 habilita la extensión del Servicio de información de red (NIS), que permite que el controlador de dominio administre las cuentas de usuario basadas en UNIX de manera adecuada.
sudo samba-tool domain provision --use-rfc2307 --interactive
3. Responda las indicaciones de la siguiente manera.
- Reino – la herramienta detecta automáticamente su reino Kerberos. En este ejemplo, el reino es
OJI.COM
. Pulse Intro para aceptar el valor predeterminado.
- Dominio – la herramienta detecta automáticamente el nombre de dominio NetBIOS. En este ejemplo, NetBIOS es
OJI
. Presione Entrar para continuar.
- Función de servidor – la herramienta completa automáticamente la función del servidor como un controlador de dominio (
dc
). Presione Entrar para continuar.
- Servicio DNS – el valor predeterminado es
SAMBA_INTERNAL
. Pulse Intro para aceptar el valor predeterminado.
- Dirección IP del reenviador de DNS – escriba la dirección de resolución alternativa que especificó en
resolve.conf
anterior, que es1.1.1.1
. Presione Entrar para continuar.
- Contraseña de administrador – establecer la contraseña del administrador de dominio predeterminado. La contraseña que especifique debe cumplir con los requisitos mínimos de complejidad de Microsoft. Pulse Intro para continuar.
- Vuelva a escribir la contraseña:vuelva a escribir la contraseña predeterminada del administrador del dominio y presione Entrar.
Al final de la configuración, verá la siguiente información.
4. El comando samba-tool generó el archivo de configuración Samba AD Kerberos en /var/lib/samba/private/krb5.conf. Debe copiar este archivo a /etc/krb5.conf. Para hacerlo, ejecute el siguiente comando.
sudo cp /var/lib/samba/private/krb5.conf /etc/krb5.conf
5. Finalmente, inicie el servicio samba-ad-dc.
sudo systemctl start samba-ad-dc
sudo systemctl status samba-ad-dc
Como puede ver a continuación, el estado del servicio ahora está activo (en ejecución).
Prueba del servidor Linux del controlador de dominio
El servidor Samba AD DC ahora se está ejecutando. En esta sección, realizará algunas pruebas posteriores a la instalación para confirmar que los componentes clave funcionan como se desea. Una de esas pruebas es intentar iniciar sesión en los recursos compartidos de red predeterminados en el DC.
Ejecute el comando smbclient para iniciar sesión como la cuenta de administrador predeterminada y enumere (ls) el contenido del recurso compartido netlogon.
smbclient //localhost/netlogon -U Administrator -c 'ls'
Introduzca la contraseña de administrador predeterminada. El recurso compartido debe ser accesible sin errores si el controlador de dominio está en buen estado. Como puede ver a continuación, el comando enumeró el directorio compartido de netlogon.
Verificación de la resolución de DNS para registros de dominio clave
Ejecute los siguientes comandos para buscar los siguientes registros DNS.
- Registro SRV de LDAP basado en TCP para el dominio.
- Registro Kerberos SRV basado en UDP para el dominio.
- Un registro del controlador de dominio.
host -t SRV _ldap._tcp.oji.com
host -t SRV _kerberos._udp.oji.com
host -t A oddjobs-dc.oji.com
Cada comando debe devolver los siguientes resultados, lo que indica que la resolución de DNS funciona.
Prueba de Kerberos
La última prueba es intentar emitir un ticket de Kerberos con éxito.
1. Ejecute el comando kinit para el usuario administrador. El comando agrega automáticamente el reino a la cuenta de usuario. Por ejemplo, el administrador se convertirá en [email protected], donde OJI.com es el reino.
kinit administrator
2. Escriba la contraseña de administrador en el indicador y presione Entrar. Si la contraseña es correcta, verá un mensaje de advertencia sobre el vencimiento de la contraseña, como se muestra a continuación.
3. Ejecute el comando klist a continuación para enumerar todos los boletos en el caché de boletos.
klist
La siguiente captura de pantalla muestra que el ticket de Kerberos para la cuenta de administrador está en la caché de tickets. Este resultado indica que la autenticación Kerberos funciona en el servidor Linux del controlador de dominio.
Conclusión
Felicitaciones por llegar al final de este tutorial. Ahora ha aprendido a instalar rápidamente un servidor Linux de controlador de dominio de Active Directory. Profundice sus conocimientos sobre el tema aprendiendo a crear usuarios y unir equipos cliente en el dominio.