Installer et configurer Bind-DLZ pour Samba-AD

Bien que Samba-AD vienne par défaut avec son propre serveur DNS interne, Tranquil IT recommande l’usage de Bind-DLZ. Le serveur DNS interne de Samba ne gère pas de cache, il fera donc une requête sur le forwarder pour chaque requête DNS qui ne correspond pas à son domaine. Le fonctionnement Bind-DLZ fait utilise le cache de Bind pour les requêtes en récursion. Les requêtes pour le domaine lui même sont à chaque fois passée au module DLZ, il n’a pas de cache à ce niveau là.

La fonctionnalité Bind-DLZ n’est pas compatible avec la fonctionnalité multi-view de Bind.

Indication

Sous RedHat8 et ses dérivées, pour que bind puisse fonctionner, il faut désactiver SElinux situé dans /etc/selinux/config et passer la variable SELINUX à disabled. Pour bien prendre en compte cette modification, redémarrer la machine.

  • Installer les paquets Bind et DLZ :

    yum install bind samba-dc-bind-dlz bind-utils
    
  • Modifier la section options du fichier /etc/named.conf (penser à modifier le forwarder) :

    options {
      listen-on port 53 { any; };
      listen-on-v6 port 53 { ::1; };
      forwarders { 1.1.1.1; }; # modify depending on your local DNS forwarder
      tkey-gssapi-keytab "/var/lib/samba/bind-dns/dns.keytab";
      directory       "/var/named";
      dump-file       "/var/named/data/cache_dump.db";
      statistics-file "/var/named/data/named_stats.txt";
      memstatistics-file "/var/named/data/named_mem_stats.txt";
      allow-query { any; };
      allow-recursion { any; };
      allow-query-cache { any; };
      recursion yes;
      dnssec-enable no;
      dnssec-validation no;
      bindkeys-file "/etc/named.iscdlv.key";
      managed-keys-directory "/var/named/dynamic";
      pid-file "/run/named/named.pid";
      session-keyfile "/run/named/session.key";
      minimal-responses yes;
    };
    logging {
      channel default_debug {
      file "data/named.run";
      severity dynamic;
      };
    };
    zone "." IN {
      type hint;
      file "named.ca";
      };
    include "/etc/named.rfc1912.zones";
    include "/etc/named.root.key";
    dlz "mydomain.lan" {
      database "dlopen /usr/lib64/samba/bind9/dlz_bind9_11.so";
      };
    
  • Désactiver le bind en IPv6 sur le réseau local dans /etc/sysconfig/named :

    OPTIONS="-4"
    

Indication

Le plugin DLZ doit accéder directement aux bases LDB de Samba (l’équivalent de NTDS.DIT sous Microsoft Active Directory). Ce mode de fonctionnement n’est certes pas optimal pour la séparation des services au sein de l’AD et ce fonctionnement empêche d’activer SELinux. Toutefois, plugin DLZ est nécessaire.

  • Dans le fichier /etc/samba/smb.conf, ajouter la ligne suivante et commenter la ligne dns forwarders :

    [global]
    ...
    server services = -dns
    # dns forwarders =
    

Indication

Les commandes suivantes vont créer un compte dans le serveur AD pour le serveur Bind. Cela n’est pas nécessaire si l’on ne veut pas bénéficier des mises à jour dynamiques (ce qui peut être éventuellement souhaitable).

  • Créer deux répertoires dans /var/lib/samba :

    mkdir /var/lib/samba/bind-dns
    mkdir /var/lib/samba/bind-dns/dns
    
  • Configurer les mises à jour dynamiques des entrées DNS :

    samba_upgradedns --dns-backend=BIND9_DLZ
    
  • Enfin relancer les services samba et bind :

    systemctl restart samba
    systemctl restart named
    

Vérifier la bonne configuration de Bind et de DLZ

  • Vérifier que c’est bien le serveur Bind qui écoute sur le port 53 :

    netstat -tapn | grep 53
    
    tcp     0    0 192.168.149.11:53    0.0.0.0:*    LISTEN      5291/named
    
  • Tester des requêtes locales et des requêtes en récursion :

    dig @localhost google.fr
    dig @localhost srvads.mydomain.lan
    dig -t SRV @localhost _ldap._tcp.mydomain.lan
    

Félicitations, votre configuration avance et vous venez de franchir un pas supplémentaire vers la solidité et l’efficacité de votre installation Samba-AD.

Maintenant, nous allons configurer le service NTP pour que votre Samba-AD et les stations de travail de votre réseau soient tous et toutes bien à la bonne heure et synchronisés !!