Skip to content

Instantly share code, notes, and snippets.

@oneohthree
Last active February 16, 2023 18:40
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save oneohthree/9247f2629a492bd2159617e3d777f854 to your computer and use it in GitHub Desktop.
Save oneohthree/9247f2629a492bd2159617e3d777f854 to your computer and use it in GitHub Desktop.
samba-ad-dc-howto.md

Instalación de Samba como Active Directory Domain Controller (AD DC)

Consideraciones previas

  • Sistema operativo: Debian GNU/Linux 9 (Stretch)
  • Nombre de host: dc
  • Nombre de dominio: foo.bar
  • Dirección IP: 192.168.0.1

Configuración de nombres de hosts

cat /etc/hosts

127.0.0.1       localhost       localhost.localdomain
192.168.0.1     dc.foo.bar      dc

Instalación de paquetes necesarios

Aceptar los valores por defecto de Kerberos ya que se usará la configuración generada durante el aprovisionamiento.

apt install samba winbind libnss-winbind krb5-user

Aprovisionamiento

Opcional: Hacer una copia del archivo de configuración inicial de Samba ya que se sobrescribe durante el aprovisionamiento.

mv /etc/samba/smb.conf{,.org}

Utilizar samba-tool para el aprovisionamiento.

samba-tool domain provision --realm=FOO.BAR --domain=FOO --server-role=dc

Establecer la contraseña de administrador.

samba-tool user setpassword administrator

A partir de Samba 4.4 el valor por defecto de ldap server require strong auth es yes Añadir en la sección [global] de /etc/samba/smb.conf ldap server require strong auth = no para permitir el acceso por el puerto 389 a otras aplicaciones, de lo contrario deberá configurarse Samba por TLS.

Configuración DNS

cat /etc/resolv.conf

search foo.bar
nameserver 127.0.0.1

Configuración de Kerberos

Opcional: Hacer una copia del archivo de configuración inicial de Kerberos. Durante el aprovisionamiento, Samba crea un archivo de configuración con los valores necesarios para el correcto funcionamiento del AD DC que será utilizado posteriormente.

mv /etc/krb5.conf{,.org}

Utilizar la configuración de Kerberos generada durante el aprovisionamiento.

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

Por defecto, Debian utiliza el servicio samba-ad-dc y no samba.

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

Reiniciar el servidor.

reboot

Comprobaciones

samba-tool domain level show

Comprobar la resolución del nombre de domino, FQDN y hostname por la IP estática.

ping -c4 foo.bar
ping -c4 dc.foo.bar
ping -c4 dc

Comprobar registros DNS necesarios para el funcionamiento correcto de AD DC.

host -t A dc.foo.bar
host -t SRV _kerberos._udp.foo.bar
host -t SRV _ldap._tcp.foo.bar

Solicitar ticket de Kerberos.

kinit administrator

Listar tickets de Kerberos en cache.

klist

Servidor DNS

Crear de zona inversa y registro PTR.

samba-tool dns zonecreate localhost 0.168.192.in-addr.arpa -U administrator
samba-tool dns add localhost 0.168.192.in-addr.arpa 1 PTR dc.foo.bar. -U administrator

Comandos útiles

  • samba-tool (herramienta principal para la administración de Samba)
  • wbinfo (consultar información utilizando windbind)
  • pdbedit (manipular la base de datos de usuarios de Samba)

Referencias

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment