Hide navigation sidebar
Hide table of contents sidebar
Skip to content
SAMBA 4.24
Back to top
View this page
Toggle table of contents sidebar

# Installer et configurer Bind-DLZ pour Samba-AD

Avertissement

Tranquil IT recommande d’utiliser DNS hybride.

La méthode Bind-DLZ est désormais considérée comme obsolète et a été remplacée par le mode DNS hybride, qui est l’approche recommandée pour intégrer Bind9 à Samba AD depuis la version 4.17.

Le serveur DNS interne de Samba ne gère pas de cache, il envoie donc une requête au redirecteur pour chaque requête DNS qui ne correspond pas à son domaine. L’opération Bind-DLZ utilise le cache Bind pour les requêtes récursives. Les requêtes pour le domaine lui-même sont transmises au module DLZ à chaque fois, il n’y a pas de cache à ce niveau.

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

Indication

Sous RedHat10 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 !!

Avertissement

Tranquil IT recommande d’utiliser DNS hybride.

La méthode Bind-DLZ est désormais considérée comme obsolète et a été remplacée par le mode DNS hybride, qui est l’approche recommandée pour intégrer Bind9 à Samba AD depuis la version 4.17.

Le serveur Samba-AD sera probablement sur un réseau NATé et il sera alors préférable de configurer un forwarder DNS :

- Installer le paquet Bind :

      apt-get install bind9

- Modifier la section options du fichier `/etc/bind/named.conf.options` (penser à modifier le forwarder) :

      options {
        directory "/var/cache/bind";

        forwarders {
                1.1.1.1;
        };

        allow-query {  any;};

        dnssec-validation no;

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };

        tkey-gssapi-keytab "/var/lib/samba/bind-dns/dns.keytab";

        minimal-responses yes;
      };

- Modifier la section local du fichier `/etc/bind/named.conf.local` :

      dlz "mydomain.lan" {
      # For BIND 9.10.0
      database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_10.so";
      };

- Désactiver le bind en IPv6 sur le réseau local, dans `/etc/default/named` :

      # run resolvconf?
      RESOLVCONF=no

      # startup options for the server
      OPTIONS="-4 -u bind"

Indication

Le plugin DLZ doit accéder directement aux bases LDB de Samba (l’équivalent de NTDS.DIT). Ce mode de fonctionnement n’est certes pas optimal pour la séparation des services au sein de l’AD. Toutefois, il 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 forwarder =

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-ad-dc
      systemctl restart bind9

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 bien à la bonne heure et synchronisés !!