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

Samba logo

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?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 4.5 / 5. Recuento de votos: 4

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

7 comentarios

  1. Firefox 78.0 Firefox 78.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0

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

    Como se soluciona esto?

  2. Google Chrome 77.0.3865.120 Google Chrome 77.0.3865.120 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36

    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.

  3. Firefox 67.0 Firefox 67.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0

    muchas gracias …todo ok….
    seguiré implementando este tutorial…gracias

  4. Firefox 68.0 Firefox 68.0 GNU/Linux x64 GNU/Linux x64
    Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0

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

    server services = -dns
    nsupdate command = /usr/bin/nsupdate -g
  5. Firefox 67.0 Firefox 67.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0

    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

  6. Firefox 67.0 Firefox 67.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0

    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?

Responder a Yoel Torres Cancelar la respuesta

Tu dirección de correo electrónico no será publicada.


*