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.20 validé par l’équipe de Tranquil IT peuvent être télécharger à l’url https://samba.tranquil.it/redhat9/samba-4.20/.
Quand il sera necessaire de mettre à jour vers Samba-4.21, il faudra juste changer l’url du repo vers https://samba.tranquil.it/redhat9/samba-4.21/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 :
wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-7 https://samba.tranquil.it/RPM-GPG-KEY-TISSAMBA-7
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-7
echo "[tis-samba]
name=tis-samba
baseurl=https://samba.tranquil.it/redhat7/samba-4.20/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-8" > /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.20/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-8" > /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.20/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-9" > /etc/yum.repos.d/tissamba.repo
Vérifier l’empreinte de la clé avec sha256sum :
# For RHEL7 / RHEL8 : sha256sum /etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-8 b3cd8395e3d211a8760e95b9bc239513e9384d6c954d17515ae29c18d32a4a11 /etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-8 # For RHEL9 : sha256sum /etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-9 05f21f368bdeb01453e37c3af2b8fcabba8986e2ce2b0d0298df6456a0bef60a /etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-8
Install the Samba-AD packages for RedHat9 and derivative distributions :
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 will only work with derivative distros. If you are using a RedHat distro, please use the following command to enable crb repo:
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 Bind-DLZ
Avant de passer en production, il faut remplacer le DNS interne Samba par le module Bind-DLZ. Pour cela suivre 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.