Synchroniser les SYSVOL entre plusieurs contrôleurs de domaine
Note
Le répertoire SYSVOL
est un répertoire spécial sur un contrôleur de domaine Active Directory qui sert à stocker les scripts netlogon et les définitions des GPO.
Aujourd’hui, il n’existe pas de support officiel pour un mécanisme DFS-R dans Samba qui se base sur les spécifications Microsoft.
Les développements pour parvenir à obtenir la fonctionnalité sont identifiés et chiffrés. Si vous êtes intéressé pour financer la fonctionnalités, contactez-nous.
Tranquil IT a développé une méthode qui obtient le même résultat que DFS-R pour synchroniser le SYSVOL entre serveurs Samba-AD d’un même domaine.
SysvolSync est une solution pour synchroniser le répertoire SYSVOL
entre deux contrôleurs de domaine Samba Active Directory. Elle n’est pas compatible avec DFS-R.
La méthode présentée ci-après a été testée avec Debian / RedHat8 et dérivées.
Présentation de l’utilitaire SysvolSync
Note
SysvolSync est basé sur Syncthing, un outil de synchronisation très efficace. Syncthing peut envoyer des notifications sur une url http. SysvolSync reçoit et traite ces notifications en déclenchant un samba-tool ntacl sysvolreset.
Cette méthode n’a pas pour objectif d’être efficiente car elle réinitialise les ACLs sur tout l’arbre SYSVOL. Des améliorations de performance sont à l’étude.
Licence Copyright : Tranquil IT Systems, GPL v3.0.
Le code est téléchargeable sur l”espace Github de Tranquil IT.
Packager l’utilitaire SysvolSync
Créer le paquet SysvolSync
# for 64-bit Debian
sudo apt-get install git python3-requests python3-lxml python3-ldap
git clone https://github.com/tranquilit/tis-sysvolsync
cd tis-sysvolsync/deb
sh createdeb.sh
ls tis-sysvolsync-*.deb
# for 64-bit RedHat8 and derived distributions
yum install rpm-build git python3-requests python3-lxml python3-ldap
git clone https://github.com/tranquilit/tis-sysvolsync
cd tis-sysvolsync/rpm
sh build.sh
ls *.rpm
Installer SysvolSync
Indication
Pensez à installer le paquet tis-sysvolsync sur tous vos contrôleurs de domaine avant de poursuivre la configuration car Syncthing se connecte aux autres DC pour échanger des clés de chiffrement.
# for 64-bit Debian
apt-get install python3-requests python3-lxml python3-ldap procps ldb-tools
dpkg -i tis-sysvolsync-*.deb
systemctl restart tis-sysvolsync
systemctl restart tis-sysvolacl
# for 64-bit RedHat8 and derived distributions
yum install tis-sysvolsync-*.rpm
systemctl enable tis-sysvolsync
systemctl enable tis-sysvolacl
systemctl restart tis-sysvolsync
systemctl restart tis-sysvolacl
Configurer l’utilitaire SysvolSync
Une fois SysvolSync déployé sur l’ensemble des contrôleurs du domaine, vous pouvez procéder à la configuration.
La configuration vous demandera une authentification par SSH pour échanger les clés de chiffrement :
/opt/tis-sysvolsync/sysvolsync.py configure
Note
La topologie de réplication pour SysvolSync se base sur celle définie par les objets ntdsconnection du KCC.
Donc si vous avez une topologie de réplication en étoile, alors SysvolSync aura une topologie de réplication en étoile.