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.
- Introducción
- Configuración de parámetros de red y sincronización de tiempo
- Instalación y configuración de Samba4 como AD DC
- Instalación y configuración del servidor Bind9 DNS e integración con Samba AD DC
- Instalación y configuración del servidor NTP e integración con Samba AD DC
- Creación de Unidades Organizativas, Grupos y Cuentas de Usuarios
- Instalación y configuración de Squid Proxy e integración con Samba AD DC
- Instalación y configuración de eJabberd XMPP e integración con Samba AD DC
- Instalación y configuración de Postfix, Dovecot, Roundcube Mail e integración con Samba AD DC
- Conclusiones
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?
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.
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
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
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
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?
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0
Corregido. Muchas gracias.