Categorías: Como se hace

Guía para la implementación de servicios integrados a Samba4 como Active Directory Domain Controller (AD DC) en Debian 9/10 – Parte 3

Configuración del servidor Bind9 DNS e integración con Samba AD DC

Durante el aprovisionamiento se utilizó el dns-backend=SAMBA_INTERNAL, que provee un servidor DNS interno del paquete Samba; aunque funcional en un entorno básico, tiene determinadas desventajas, como son la asignación de servidores DNS forwarders y una caché de resolución lenta. Para suplir estas carencias, se instalará Bind9 integrándolo a Samba.

Instalación de paquetes necesarios

apt install bind9 dnsutils net-tools

Deshabilitar el servicio DNS proporcionado por Samba

Editar el fichero /etc/samba/smb.conf y en la sección [global] añadir las directivas:

server services = -dns
nsupdate command = /usr/bin/nsupdate -g

Comentar ó eliminar la directiva dns forwarder = 127.0.0.1.

Modificación del aprovisionamiento AD DC

Definir Bind9 como dns-backend.

mv /etc/bind/named.conf.local{,.org}
nano /etc/bind/named.conf.local
dlz "samba4" {
    database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_10.so";
};

La linea anterior depende de la versión de bind9 que hayamos instalados, si fuera bind9.11 o bind9.12, se tendría que editar para ser dlz_bind9_11.so o dlz_bind9_12.so

Cambiar el backend DNS y establecer permisos al archivo keytab

samba_upgradedns --dns-backend=BIND9_DLZ
chown bind /var/lib/samba/private/dns.keytab

Integración de Bind9 con Samba AD DC

mv /etc/bind/named.conf.options{,.org}
nano /etc/bind/named.conf.options
options {
    directory "/var/cache/bind";
    forwarders { 8.8.8.8; 8.8.4.4; };
    forward first;
    dnssec-validation no;
    auth-nxdomain no;
    listen-on-v6 { none; };
    tkey-gssapi-keytab "/var/lib/samba/private/dns.keytab";
    minimal-responses yes;
    allow-query { any; };
    recursion yes;
};
mv /etc/default/bind9{,.org}
nano /etc/default/bind9
RESOLVCONF=no
OPTIONS="-4 -u bind"

nano /var/lib/samba/private/named.conf.update

grant *.example.tld wildcard *.0.168.192.in-addr.arpa. PTR TXT;
grant local-ddns zonesub any;

Reiniciar los servicios y habilitar bind9.

systemctl restart samba-ad-dc bind9
systemctl enable bind9

Creación de zona inversa y registro PTR del servidor

samba-tool dns zonecreate localhost 0.168.192.in-addr.arpa -U 'administrator'%'P@s$w0rd.123'
samba-tool dns add localhost 0.168.192.in-addr.arpa 1 PTR 'dc.example.tld.' -U 'administrator'%'P@s$w0rd.123'

Comprobaciones

Comprobar correcta ejecución del servidor Bind9 DNS.

netstat -tapn | grep 53
netstat -lptun

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

dig example.tld
host -t A dc.example.tld
host 192.168.0.1
host -t SRV _kerberos._udp.example.tld
host -t SRV _ldap._tcp.example.tld

Comprobar actualización automática de los registros DNS.

samba-tool dns query 127.0.0.1 example.tld @ ALL -U 'administrator'%'P@s$w0rd.123'
samba_dnsupdate --verbose --all-names

Como referencia, debajo se muestra la lista de artículos de esta serie.

  1. Introducción
  2. Configuración de parámetros de red y sincronización de tiempo
  3. Instalación y configuración de Samba4 como AD DC
  4. Instalación y configuración del servidor Bind9 DNS e integración con Samba AD DC
  5. Instalación y configuración del servidor NTP e integración con Samba AD DC
  6. Creación de Unidades Organizativas, Grupos y Cuentas de Usuarios
  7. Instalación y configuración de Squid Proxy e integración con Samba AD DC
  8. Instalación y configuración de eJabberd XMPP e integración con Samba AD DC
  9. Instalación y configuración de Postfix, Dovecot, Roundcube Mail e integración con Samba AD DC
  10. Conclusiones

¿De cuánta utilidad te ha parecido este contenido?

Yoel Torres

Ver comentarios

  • samba_upgradedns --dns-backend=BIND9_DLZ ese comando no existe samba_upgradedns: orden no encontrada

    Como se soluciona esto?

  • En mis experiencia con samba4 en ubuntu 14.04 y 18.04 cuando integras el samba4 con bind9 no hay necesida de crear la zona dlz porque el crea un fichero en /var/lib/samba/private/named.conf que tiene dicha zona creada con las librerías para las diferentes versiones de bind9 y solo hay que incluir dicho fichero en /etc/bind/named.conf
    include "/var/lib/samba/private/named.conf";

    y reiniciar el bind9, en caso de error al cargar las zonas del AD
    verificar la versión del bind9 y descomentar la linea que le corresponda en el fichero
    /var/lib/samba/private/named.conf y todo listo.
    Mis saludos.

  • ¿Te fijaste que son dos líneas distintas? Una debajo de la otra

    server services = -dns
    nsupdate command = /usr/bin/nsupdate -g
  • entonces cuando instalo bind9 (apt install bind9)
    y continuo con el tutorial ocurre:
    --------------------------------------
    root@pdc:~# samba_upgradedns --dns-backend=BIND9_DLZ
    Unsupported list syntax for: server services = -dns nsupdate command = /usr/bin/nsupdate -g
    Traceback (most recent call last):
    File "/usr/sbin/samba_upgradedns", line 284, in
    lp = sambaopts.get_loadparm()
    File "/usr/lib/python2.7/dist-packages/samba/getopt.py", line 94, in get_loadparm
    self._lp.load_default()
    RuntimeError: Unable to load default file

  • EN EL APARTADO...
    ---------------------
    Definir Bind9 como dns-backend.
    mv /etc/bind/named.conf.local{,.org}
    nano /etc/bind/named.conf.local
    ---------------------
    NO ESTA INSTALADO BIND9...POR LO TANTO NO SE PUEDE CONTINUAR?

Compartir
Publicado por
Yoel Torres

Entradas recientes

Alta disponibilidad de sus base de datos con Percona XtraDB Cluster en Kubernetes

Uno de los grandes retos al que nos podemos enfrentar cuando una aplicación crece, es…

8 meses hace

Home automation (Parte 3) – ESPHome

Qué es lo que deseo hacer en este capítulo? Básicamente un sonoff, quiero encender/apagar las…

1 año hace

Home automation (Parte 2) – Home Assistant

Hace algunos meses estoy escuchando hablar del proyecto Home Assistant (HA). En palabras literales del…

1 año hace

Home automation (Parte 1)

Desde hace varios meses vengo con la idea de automatizar la casa donde vivo. Poco…

1 año hace

Cocinando una imagen personalizada de OpenWRT

El artículo describe el uso para un caso particular de OpenWRT y la creación de…

1 año hace