Clément Hallet

le blog

Synchronisation LDAP sur un Windows Server 2008

| 13 Commentaires

Bonjour,

Aujourd’hui, je vais vous montrer comment mettre en place un serveur LDAP sur linux (ici ubuntu), qui se synchronisera sur un serveur LDAP de Windows (Active directory). La synchronisation sera effective dans les deux sens. Ainsi, si on ajoute un utilisateur sur l’Active Directory, on le verra apparaitre sur les utilisateurs de son LDAP Linux, et inversément!

Au menu :

  1. Installation d’ubuntu
  2. Rapatriement et compilation de Samba
  3. Install de Samba
  4. Install & configuration de Kerberos pour l’authentification
  5. Reglages quand au réseau (IP’s)
  6. Test de connexion au DC (Domain Controller) Windows via Kerberos
  7. Jonction sur le DC de Windows Server 2008
  8. Forcer une réplication, et que ca saute !
  9. affichage des données de l’AD (répliqué)
  10. Ajout d’utilisateurs depuis le serveur Linux
  11. Remerciements

001 400x303 Synchronisation LDAP sur un Windows Server 2008002 Synchronisation LDAP sur un Windows Server 2008

003 400x270 Synchronisation LDAP sur un Windows Server 2008004 400x272 Synchronisation LDAP sur un Windows Server 2008005 400x272 Synchronisation LDAP sur un Windows Server 2008006 400x272 Synchronisation LDAP sur un Windows Server 2008007 400x306 Synchronisation LDAP sur un Windows Server 2008008 400x271 Synchronisation LDAP sur un Windows Server 2008

Voilà en gros pour l’installation d’ubuntu ! Si vous n’y arrivez pas, passez votre chemin icon smile Synchronisation LDAP sur un Windows Server 2008

Une fois sur votre bureau, lancez votre terminal en root (sudo su), faites les updates (apt-get update) et lancez ces commandes pour installer tout ce qu’il faut pour faire une bonne soupe :

apt-get install git build-essential libattr1-dev libblkid-dev libgnutls-dev libreadline5-dev python-dev autoconf python-dnspython gdb pkg-config bind9utils

Ensuite on vas s’occuper du download de samba proprement dit :

git clone git://git.samba.org/samba.git samba-master; cd samba-master

git pull

cd samba-master/

Maintenant on vas lancer la compilation de Samba :

cd source4/

./autogen-waf.sh

010 400x45 Synchronisation LDAP sur un Windows Server 2008Ensuite,

./configure.developer

Si ca ne fonctionne pas, il faut ré-installer les paquets nécessaires à la compilation (le fameux apt-get install cité précédemment )

011 400x34 Synchronisation LDAP sur un Windows Server 2008

suivi d’un « make » (ca doit prendre 15 minutes environ) :

012 400x41 Synchronisation LDAP sur un Windows Server 2008

Pour tester si le make a bien fonctionné, il faut faire la commande suivante (et encore patienter 9 minutes) :

make quicktest

014 Synchronisation LDAP sur un Windows Server 2008

Maintenant on vas passer à l’installation de samba (et oui, déjà ! )

make install

1 400x18 Synchronisation LDAP sur un Windows Server 2008

Bon, maintenant, ca devient plus sérieux : on vas se joindre au domaine de l’Active Directory (après quelques étapes intermédiaires qui sont susceptibles de vous faire arracher vos cheveux) , mais avant tout, il faut supprimer toute configuration dans le fichier /usr/local/samba/etc/smb.conf (si vous chipotez icon smile Synchronisation LDAP sur un Windows Server 2008 ) en faisant un nano /usr/local/samba/etc/smb.conf.

Ensuite, on lance l’installation de kerberos :

apt-get install krb5-user

Il nous propose des ecrans lors de l’installation. Sur le premier, vous devrez entrer le nom de domaine de l’Active Directory (ici BDRRV.BE icon smile Synchronisation LDAP sur un Windows Server 2008 ). Sur le second et le troisième, il ne faut rien indiquer.

Nous allons ensuite changer l’adresse IP du DNS (bha oui, pour savoir où se diriger quand on fait une requête sur BDRRV.BE , ca sert ! ) :

nano /etc/resolv.conf

Ici, pour illustrer, l’IP de mon DC (Domain Controller) Windows est 192.168.1.112 :

2 400x162 Synchronisation LDAP sur un Windows Server 2008

Après cela, il faut encore changer les adresses des machines dans le fichier Host dans /etc avec la commande nano (toujours) et nous devons ajouter les lignes comme décrit ci-dessous :

WServer_IP ADDRESS  WS2008.DC.BDRRV.BE  WK2008

Linux_IP ADDRESS Samba4.DC.BDRRV.BE Samba4

Après cette intervention, on vas faire des tests de connectivité si tout est ok :

ping 192.168.1.112 // si ca ne ping pas, vérifier le pare feu windows, et le câblage/paramètres de réseau de la VM (Machine Virtuelle) entre le Linux et le Windows

ping dc.bdrvv.be // si le premier fonctionne, et que celui ci pas, vérifier /ré entrer les paramètres de DNS sur le Linux

Ensuite, nous allons triturer dans le fichier Kerberos :

nano /etc/krb5.conf

et insérer quelque chose de similaire à ca (pour moi c’est fonctionnel, so… )

020 400x153 Synchronisation LDAP sur un Windows Server 2008021 400x137 Synchronisation LDAP sur un Windows Server 2008022 400x178 Synchronisation LDAP sur un Windows Server 2008

Ensuite, nous allons tester la connectivité avec le DC : on vas voir si kerberos fonctionne sur le DC Windows :

kinit Administrateur // ou Administrateur est le login administrateur !

Si on a un joli message du type « reaml is not local to kdc », vérifier default_realm dans krb5.conf

Si on a un tout aussi beau message du type « clock skew too great », il faut vérifier l’heure (et la date, ne me faites pas jouer sur les mots) des deux serveurs car elles ne correspondent pas icon smile Synchronisation LDAP sur un Windows Server 2008

25 400x55 Synchronisation LDAP sur un Windows Server 2008

Bon, maintenant que tout est O.K. niveau connectivité et que Kerberos est fonctionnel, on vas enfin se joindre au domaine !

bin/net samba-tool join dc.bdrvv.be –U Administrateur –realm=dc.bdrvv.be

où dc.bdrrv.be est le NDD (nom de domaine) de mon DC et ou Administrateur est mon nom de l’Admin du windows server 2008 .

Cette ligne lie le Linux à l’AD

Capture d’écran 2011 02 04 à 11.33.24 400x283 Synchronisation LDAP sur un Windows Server 2008

On se place ensuite dans « /usr/local/samba/sbin » avec la commande cd si besoin, et on lance samba :

./samba

xxxxxxx 400x67 Synchronisation LDAP sur un Windows Server 2008

Pour tester si samba a bien été exécuté,

Smbclient  -L localhost  -U%

Capture d’écran 2011 02 04 à 11.36.48 400x152 Synchronisation LDAP sur un Windows Server 2008

Maintenant que c’est fait, nous allons forcer la réplication entre les deux serveurs :

Bin/samba-tool drs kcc –U             Administrator dc.bdrrv.be

Normalement, il vous demande le mot de passe de l’Administrateur, puis à la fin, il vous indique que c’est O.K. via le message  » CONSISTENCY CHECK ON dc.nom_de_domaine.be SUCCESSFUL »

Pour voir si la réplication est ok, on tape la ligne suivante :

Bin/samba-tool drs showrepl

(Evidemment, faut une configuration avec des clients et tout sur le DC Windows sinon on verra moins bien la réplication…)

Capture d’écran 2011 02 04 à 11.39.21 400x250 Synchronisation LDAP sur un Windows Server 2008

On peut voir si on peut voir les utilisateurs de notre Samba (qui ont été répliqués de ceux du DC WIndows) :

Bin/wbinfo –u

Enfin, pour ajouter un utilisateur sur son Samba (qui sera répliqué sur son AD):

Bin/samba-tool newuser user

Voilà, tout est en ordre. Je tiens à remercier Thomas Beaujot, qui est le co-créateur de ce tuto puisque nous avons passes quelques nuitées pour l’élaboration de celui-ci dans le cadre scolaire.

Je tiens aussi à remercier Polux (qui aime les ordis et la guitare) car son tuto nous à un peu aidé à un moment. Vous pouvez le retrouver sur son blog : Infopolux

Mots clés de recherche sur cette page:

  • ldap windows server 2008
  • installer ldap windows server 2008
  • ldap windows 2008
  • windows server 2008 LDAP
  • comment synchroniser active directory et ldap

13 Commentaires

  1. Cette astuce fonctionne-t-elle aussi avec Windows Server 2000 ?

  2. Bonjour Auguste,

    Si tu utilises SAMBA 4, il est bien fonctionnel avec l’AD de windows 2000 et plus ;-)

    Bien à toi

  3. 1) Pourquoi passer par GIT pour installer SAMBA, et pas par les packages fournis par la distribution ?
    2) Dans le tutorial, rien ne mentionne le LDAP côté Linux. Il s’agit donc plutôt, à mon humble avis, d’une liaison avec le LDAP de l’AD, mais pas d’une synchronisation ou d’une réplication.

    Dans tous les cas, merci, ce tutorial peut malgré tout m’être utile dans certaines situations.

    • Salut,

      Donc je suis passe par git car a l epoque, samba4 etais encore en dev, et il est indispensables. Pur cette manipuler, j avais ainsi la version fraîche du jour.

      Active directory etant fait sur base du ldap, ca coince juste sur l encryption des mots de passe (…) il n y a pas trop besoin de chipoter.

      La réplication se fait bien dans les deux sens; ajout d un user depuis debian , l user est vu sur le Windows serveur et inversement.

      Désolé de ma brièveté mais je te répond avec mon smartphone.

    • Pas de ldap coté Linux dans l’exemple…

  4. salut,
    merci pour ce tuto,
    mais il faudrait repriser le titre et ce qui tu as fait :
    il n’y pas de réplication LDAP. où est le OPENLDAP linux ou autres ?

    ce qui tu as fait est juste une authentification sur la base Active Directory. Samba va utiliser winbind pour le faire. c’est à dire surement un authentification NTLM. les comptes utilisateurs apparaitront avec la commande getent passwd, mais ceci n’est pas une réplication de l’annuaire.
    le kerberos est juste là pour permettre au serveur SAMBA de joindre le domaine

    voili voilou,
    mais ton tuto est sympa

    a+

  5. comment synchroniser avec mandriva directory server?

    • c’est la même chose, il faut installer samba et faire la manip :-)

      • Bonjour Clement,

        je trouve ton tuto excelent, cependant des erreurs ont été constaté, je te les cites.

        1- au debut de l’installation:

        git clone git://git.samba.org/samba.git samba-master; cd samba-master

        git pull

        cd samba-master/

        si tu regarde la capture 010 tu remarqueras qu’il n’y as pas de  » samba-master » dans le répertoire racine (samba-master)

        2- le script (autogen-waf.sh) ne se trouve pas dans le répertoire (soource4)

        cd source4/

        ./autogen-waf.sh

        3- et pour finir

        quand je fais un kinit Administrateur, il me mets un message d’erreur de type cannot resolve network address, alors que quand je fais un nslookup de mon Dc il le résoud bien.

        Sinon Très bon tuto.

        est ce possible de l’adapter a Debian squeeze.

        te remerciant d’avance pour ta réponse et pour ton travail.

        Merci mille fois

        • Super, merci de tes remarques, j’éditerai le post initial quand je checkerai ca sous les nouvelles versions de Debian en effet :-)

          Si tu vois qqch qui s’y rapporte c’est le bienvenu haha

  6. Sinon,

    pourrais tu m’envoyer ta procedure plus complète ? stp

    et est-ce possiblede l’adapter a une debian 6 ?

    merci pour ton retour rapide

  7. Bonjour,

    Il faut cependant faire attention à la version de kerberos que tu utilises. La version qu’utilise samba4 est du heimdal et si ton annuaire ,qui peut déjà exister, est « kerberisé » MIT, tu ne peux pas synchroniser tes annuaires (AD – LDAP)… Les développeurs de chez MIT sont en train de travailler sur le problème d’après ce qu’ils m’ont dit.
    Le problème essentiel de la synchronisation,c’est les mots de passe…

Laisser un commentaire

Champs Requis *.