Migrer un domaine Samba vers un domaine Microsoft

Si vous avez des soucis avec votre Samba-AD, avant de vouloir vous compliquer la vie avec un MS-AD, passez nous un coup de fil pour en parler !

Présentation de la procédure

Dans la documentation suivante, on suppose :

  • Que le dernier serveur Samba-AD que l’on conservera dans le domaine jusqu’à la bascule vers MS-AD s’appelle samba-ad1.mydomain.lan.

  • Que le serveur MS-AD temporaire nécessaire pour initier le processus de migration s’appelle ms-ad-temp.mydomain.lan.

  • Que le premier MS-AD définitif qui sera conservé au terme de la migration s’appelle ms-ad-final1.mydomain.lan.

  • Que le deuxième MS-AD définitif qui sera conservé au terme de la migration s’appelle ms-ad-final2.mydomain.lan.

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

La première machine Windows ms-ad-temp.mydomain.lan sera une machine de transition car il existe actuellement un soucis avec l’attribut ntSecurityDescriptor quand on joindra ms-ad-temp.mydomain.lan avec samba-ad1.mydomain.lan. On utilisera donc ms-ad-temp.mydomain.lan comme pivot. Ensuite on joindra ms-ad-final1.mydomain.lan à ms-ad-temp.mydomain.lan, ce qui assurera le bon fonctionnement de la réplication et la bonne application des ACLs sur la LDAP et le SYSVOL. Ensuite, on supprimera le contrôleur ms-ad-temp.mydomain.lan. Enfin, on joindra un deuxième contrôleur de domaine Windows ms-ad-final2.mydomain.lan au domaine Windows 2012R2, ce qui permettra de valider le bon fonctionnement global.

Joindre un premier contrôleur de domaine MS-AD au domaine Samba-AD

Démoter les contrôleurs de domaine Samba-AD

Une fois que le MS-AD est joint correctement il faut démoter les serveurs Samba-AD. Pour cela il est préférable de supprimer toutes les références au domaine Samba-AD directement sur ms-ad-temp.mydomain.lan.

Note

Conceptuellement il est préférable de supprimer les références sur le serveur qui reste actif plutôt que de le faire sur le serveur que l’on veut supprimer.

  • Supprimer tous les contrôleurs de domaine sauf samba-ad1.mydomain.lan. Pour cela, et pour chaque contrôleur du domaine Samba-AD, on execute la ligne de commande suivante sur samba-ad1.mydomain.lan :

    samba-tool domain demote  --remove-other-dead-server=<other-samba-servers>
    
  • Eteindre les services Samba sur le dernier Samba-AD samba-ad1.mydomain.lan. Toutefois, on maintiendra encore un petit moment samba-ad1.mydomain.lan en fonctionnement pour continuer à bénéficier de la souplesse des commandes samba-tool pour certaines opérations ultérieures, et aussi pour rendre moins douloureux votre deuil de Samba .

    systemctl stop samba
    systemctl disable samba
    
  • Supprimer le dernier contrôleur de domaine Samba-AD en lançant la commande suivante samba-ad1.mydomain.lan. On pointe l’exécution de la commande sur le MS-AD ms-ad-temp.mydomain.lan :

    samba-tool domain demote --remove-other-dead-server=samba-ad1 -H ldap://ms-ad-temp.mydomain.lan -U administrator
    
  • Vérifier que les rôles FSMO ont été transférés lors du dernier demote. Il restera les rôles DomainDnsZones et ForestDNSZones qui n’auront pas été transférés, on force le transfert :

    samba-tool fsmo show -H ldap://ms-ad-temp.mydomain.lan -U administrator
    samba-tool fsmo seize --role=all -H ldap://ms-ad-temp.mydomain.lan -U administrator
    
  • Nettoyer les entrées DNS. Dans une console DNS ouverte sur ms-ad-temp.mydomain.lan vérifier que les entrées DNS pour ms-ad-temp.mydomain.lan sont bien toutes présentes (champs A, NS, SRV, CNAME) et supprimer les références DNS à samba-ad1.mydomain.lan. On corrigera aussi les GLUE records (champ de type NS) pour le champ _msdcs dans la zone mydomain.lan (pas dans la zone _msdcs.mydomain.lan).

  • Créer la zone inverse si elle n’existe pas encore puis créer le champ PTR pour ms-ad-temp.mydomain.lan ;

Désormais nous avons un domaine full Microsoft avec un seul contrôleur de domaine.

  • Mettre à jour la forêt en niveau 2012R2 avec un Powershell :

    Set-ADDomainMode -identity mydomain.lan -DomainMode Windows2012R2Domain
    Set-ADForestMode -identity mydomain.lan -ForestMode Windows2012R2Forest
    

Joindre le premier contrôleur de domaine Windows définitif

Pour finir la migration il est nécessaire de mettre un deuxième MS-AD en place et de réinitialiser la partie DFS-R pour la réplication du SYSVOL :

  • Syspréper une deuxième machine Windows 2012R2 ms-ad-final1.mydomain.lan en suivant la documentation officielle de Microsoft.

  • Joindre ms-ad-final1.mydomain.lan au contrôleur de domaine ms-ad-temp.mydomain.lan.

  • Avec une console DNS ouverte sur ms-ad-final1.mydomain.lan, vérifier que les champs DNS sont bien tous présents.

  • Sur ms-ad-final1.mydomain.lan, vérifier la réplication :

    repadmin /kcc
    repadmin /showrepl
    
  • Démoter ms-ad-temp.mydomain.lan en exécutant la commande suivante sur samba-ad1.mydomain.lan (avec bien sûr les services Samba toujours arrêtés et désactivés) ;

    samba-tool domain demote --remove-other-dead-server=ms-ad-temp -H ldap://ms-ad-final1.mydomain.lan -U administrator
    
  • Nettoyer les DNS ;

  • Regénérer le DFS-R ;

    dfsrmig /createglobalobjects
    net stop dfsr
    net start dfsr
    
  • Vérifier que le dcdiag est propre (Attention : le dcdiag peut afficher des erreurs eventlog qui peuvent être obsolètes et qui ne concernent pas la migration) ;

    dcdiag
    

Joindre le deuxième contrôleur de domaine Windows définitif

Cette étape permet de valider le bon fonctionnement du domaine en environement MS-AD.

  • Syspréper une troisième machine Windows 2012R2 ms-ad-final2.mydomain.lan en suivant la documentation officielle de Microsoft.

  • Intégrer ms-ad-final2.mydomain.lan dans le domaine Windows en suivant la documentation pour joindre un AD Windows dans un domaine en s’arrêtant après la jonction. Après redémarrage le répertoire SYSVOL doit être correctement répliqué et les partages SYSVOL et NetLogon créés sans avoir à modifier la clef SysvolReady.

  • Nettoyer les DNS (attention au champ CNAME _msdcs).

  • Vérifier que la réplication est bonne en créant un fichier dans le dossier SYSVOL et en vérifiant qu’il se réplique bien.

Eteindre définitivement votre Samba

  • Sur votre samba-ad1.mydomain.lan, lancer la commande :

    shutdown -h now
    
  • Optionnellement : mettre à jour votre CV.

Note

Désormais, vous avez un domaine Microsoft qui fonctionne de la même manière que votre domaine Samba-AD. Si votre domaine Samba-AD ne fonctionnait pas bien, alors votre domaine MS-AD ne fonctionnera pas mieux.

Vous pourrez toujours compter sur Tranquil IT pour vous aider car Samba et MS-AD, c’est avant tout comprendre et maîtriser le protocole Active Directory et nous espérons bien que cette documentation vous aura prouvé cette maîtrise.