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

# Installer et configurer un Samba-AD secondaire sur RedHat et dérivées

Note

> Dans cette documentation, on suppose :

> - Que le contrôleur de domaine principal s’appelle srvads1.

> - Que le contrôleur de domaine secondaire s’appelle srvads2.

> - Que le domaine s’appelle mydomain.lan.

Dans les instructions décrites ci-dessous, vous remplacerez mydomain.lan avec votre propre nom de domaine et srvads1 et srvads2 avec les noms de machines de votre choix.

- Sur une base CentOS7 64 bits, préparer une configuration réseau propre en suivant cette documentation.

Les paquets de la dernière version 4.22 validé par l’équipe de Tranquil IT peuvent être télécharger à l’url redhat-samba-4.22.

Quand il sera necessaire de mettre à jour vers Samba-4.23, il faudra juste changer l’url du repo vers redhat-samba-4.23 et suivre la note de mise à jour sur la page des mises à jour.

- Récupérer la clé de signature RPM et configurer un dépôt YUM (Note : Le support de CentOS7 s’arrête avec Samba 4.20) :

    wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-10 https://samba.tranquil.it/RPM-GPG-KEY-TISSAMBA-10
    rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-10
    echo "[tis-samba]
    name=tis-samba
    baseurl=https://samba.tranquil.it/redhat10/samba-4.22/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-10" > /etc/yum.repos.d/tissamba.repo

    wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-9 https://samba.tranquil.it/RPM-GPG-KEY-TISSAMBA-9
    rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-9

    echo "[tis-samba]
    name=tis-samba
    baseurl=https://samba.tranquil.it/redhat9/samba-4.22/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-9" > /etc/yum.repos.d/tissamba.repo

    wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-8 https://samba.tranquil.it/RPM-GPG-KEY-TISSAMBA-8
    rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-8

    echo "[tis-samba]
    name=tis-samba
    baseurl=https://samba.tranquil.it/redhat8/samba-4.22/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-8" > /etc/yum.repos.d/tissamba.repo

- Vérifier l’empreinte de la clé avec sha256sum :

      # For RHEL9 / RHEL10 :
      sha256sum /etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-9 || sha256sum /etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-10
          05f21f368bdeb01453e37c3af2b8fcabba8986e2ce2b0d0298df6456a0bef60a /etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-{[9-10]}

      # For RHEL8 :
      sha256sum /etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-8
          b3cd8395e3d211a8760e95b9bc239513e9384d6c954d17515ae29c18d32a4a11 /etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-8

- Installez les paquets Samba-AD pour RedHat et ses distributions dérivées :

      yum --enablerepo=crb install -y samba samba-dc samba-winbind samba-winbind-clients krb5-workstation ldb-tools bind chrony bind-utils samba-client python3-markdown

  Avertissement

  –enablerepo=crb ne fonctionnera qu’avec les distributions dérivées. Si vous utilisez une distribution RedHat, veuillez utiliser la commande suivante pour activer le dépôt crb :

      subscription-manager repos --enable codeready-builder-for-rhel-9-$(arch)-rpms

## Configuration de base

- Modifier le fichier `/etc/hostname` pour qu’il contienne le nom FQDN de la machine :

      srvads2.mydomain.lan

- Modifier `/etc/hosts` pour qu’il contienne la résolution DNS du FQDN de la machine sur son IP (i.e. pas 127.0.0.1), avec le nom long puis le nom court :

      127.0.0.1      localhost
      192.168.1.12   srvads2.mydomain.lan srvads2

- Redémarrer la machine pour qu’elle prenne en compte son nouveau nom en faisant un reboot.

  Note

  un hostname -F /etc/hostname n’a pas l’air de suffire pour le script samba qui récupère toujours l’ancien nom …

## Joindre le contrôleur secondaire au domaine

- Configurer le DNS pour pointer sur un contrôleur de domaine Windows ou Samba dans `/etc/resolv.conf` :

      search mydomain.lan
      nameserver 192.168.1.11

### Configurer le Kerberos

- Ouvrir `/etc/krb5.conf`, supprimer son contenu et rajouter :

      [libdefaults]
        default_realm = MYDOMAIN.LAN
        dns_lookup_kdc = false
        dns_lookup_realm=false
      [realms]
        MYDOMAIN.LAN = {
        kdc = 127.0.0.1
        kdc = 192.168.1.12
        }

  Attention

  Il faut respecter les majuscules et remplacer les 2 IP par :

  - L’IP de votre nouveau serveur AD en premier, on peut utiliser localhost 127.0.0.1.

  - L’IP du serveur AD existant en deuxième (ex· 192.168.1.12).

- Redémarrer la machine :

      reboot

- Après redémarrage, tester que le kerberos est bien configuré et que vous obtenez bien un TGT :

  Attention

  L’administrateur par défaut est administrator en anglais (taper le mot de passe du compte administrator, si ça ne renvoie rien ou que vous obtenez un message concernant l’expiration du mot de passe, c’est que c’est bon).

      kinit administrator
      klist

### Configurer Samba comme contrôleur de domaine secondaire

- Supprimer le fichier de configuration `/etc/samba/smb.conf` qui a été généré automatiquement lors de l’installation des paquets :

      rm -f /etc/samba/smb.conf

- Joindre srvads2 comme membre du domaine :

      samba-tool domain join mydomain.lan DC -U administrator --realm=MYDOMAIN.LAN -W MYDOMAIN

- Modifier le DNS pour qu’il pointe sur lui-même dans `/etc/resolv.conf` :

      nameserver 127.0.0.1

- Rajouter un forwarder DNS au fichier `smb.conf` :

      [global]
         ...
         dns forwarder = 8.8.8.8
         ...

- Activer le démarrage automatique du service AD :

      systemctl enable samba
      systemctl disable winbind nmb smb
      systemctl mask winbind nmb smb

- Faire pointer votre Kerberos vers le bon fichier de configuration :

  Indication

  Par défaut le provisioning Samba-AD crée un fichier d’exemple `krb5.conf` dans le répertoire `/var/lib/samba/private`.

  Ce fichier est utilisé par défaut par certains appels Samba.

  Il est préférable de le remplacer par un lien symbolique vers `/etc/kbr5.conf` pour éviter certains effets de bord.

      rm /var/lib/samba/private/krb5.conf
      ln -s /etc/krb5.conf /var/lib/samba/private/krb5.conf

- Relancer Samba :

      systemctl restart samba

- Vérifier que les champs DNS sont bien créés :

      samba_dnsupdate --verbose

- S’il subsiste des failed, utiliser cette méthode qui permet d’outre passer kerberos :

      samba_dnsupdate --use-samba-tool

## Configurer le SYSVOL

- Graphiquement, vous pouvez récupérer le contenu de `\srvadssysvol` de srvads1 et le copier sur srvads2 depuis un poste windows en tant qu’Administrateur du domaine. Sur srvads2, lancer la commande :

      rsync -aP root@srvads1:/var/lib/samba/sysvol/ /var/lib/samba/sysvol/

- Puis renitialiser les ACL du SYSVOL, et revérifier les ACLs (ça ne devrait rien retourner si c’est OK):

      samba-tool ntacl sysvolreset
      samba-tool ntacl sysvolcheck

Indication

En attendant le développement d’un DFS-R officiellement supporté par la Samba-team, Tranquil IT propose l’utilitaire tis-sysvolsync pour synchroniser les partages SYSVOL entre des contrôleurs de domaine Samba.

## Valider la nouvelle installation

- Tester la connexion au DNS à partir de la console DNS Active Directory.

- Tester la connexion à partir de la console Utilisateurs et Ordinateurs Active Directory.

- Vérifier l’état des réplications :

      samba-tool drs showrepl

## Configurer le NTP signé

- Configurer le NTP en suivant la documentation de configuration du service NTP avec Samba.

## Configurer le DNS hybride

Avant de passer en production, le DNS interne de Samba doit être remplacé par le DNS hybride. Pour ce faire, suivez la documentation pour intégrer Samba avec Bind9.

Super, si vous êtes parvenu jusqu’à cette étape, c’est que tout s’est bien passé et que vous avez un nouveau contrôleur de domaine secondaire opérationnel.