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 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 Debian9 et CentOS7.

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.

Licensing 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 pour Debian9 64 bits

sudo apt-get install git python-requests python-lxml python-ldap
git clone  https://github.com/tranquilit/tis-sysvolsync
cd tis-sysvolsync/deb
sh createdeb.sh
ls tis-sysvolsync-*.deb

Créer le paquet SysvolSync pour Centos7 64bit

yum install rpm-build git python-requests python-lxml python-ldap
git clone  https://github.com/tranquilit/tis-sysvolsync
cd tis-sysvolsync/rpm
sh build.sh
ls *.rpm

Installer SysvolSync sur Debian9 64 bits

Hint

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.

apt-get install python-requests python-lxml python-ldap procps ldb-tools
dpkg -i tis-sysvolsync-*.deb
systemctl restart tis-sysvolsync
systemctl restart tis-sysvolacl

Installer SysvolSync sur Debian9 64 bits

Hint

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.

yum install tis-sysvolsync-*.el7.centos.x86_64.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.