Configuration de freeradius sous debian

Bonjour à tous, j'essaye depuis des semaines de configurer Freeradius et LDAP dans le but de mettre en place un portail captif! Au secours!!! à l'aide,. J'ai suivi les commandes que j'ai téléchargé sur google mais la configuration n'a jamais été réussi!!!

22 réponses

Résumé de la discussion

Configurer FreeRADIUS avec LDAP pour un portail captif se révèle complexe et problématique, nécessitant des étapes précises et une vérification systématique des modules et services. Pour avancer, plusieurs réponses recommandent d'installer FreeRADIUS et le module LDAP; l'étape suivante est d'activer LDAP dans les fichiers de configuration et de tester avec radtest. Des réponses soulignent qu'un serveur LDAP actif est nécessaire et détaillent des étapes comme l'installation de slapd, la configuration de base DN, l'authentification et les droits de lecture pour permettre à FreeRADIUS d'interroger l'annuaire.

Bobot (l’IA à votre service)
  1. Bonjour Leslie,

    Il existe pas mal de tutos sur internet concernant l'installation de FreeRADIUS.
    Je t'en donne les principales étapes (pour un environnement Linux) ci-dessous:

    1- Vérifie que tu possède bien deux interfaces réseau (sous environnement Linux Eth0 et Eth1) dont une ayant un accès internet (généralement Eth0).

    2- Installe les mises à jour de paquets et télécharge freeRADIUS:
    #apt-get update (pour la maj des paquets)
    #apt-get install freeradius (pour installer freeRADIUS)
    #apt-get install freeradius-ldap (pour la compatibilité LDAP)

    Tu as donc à partir de là les éléments nécessaires au fonctionnement Freeradius - LDAP
    -->Plusieurs fichiers de configuration sont à modifier:

    3-Configure ton FreeRADIUS:
    ouvre avec un éditeur de texte (gedit,nano, vi,...) le fichier /etc/freeradius/radiusd.conf
    Ce fichier contient les éléments principaux permettant la configuration de FreeRADIUS, ainsi que les modules complémentaires (pour nous LDAP)
    Ce fichier, comme tous les fichiers de conf FreeRADIUS contient par défaut un tas de lignes (pour la plupart précédées d'un "#"). Ce # signifie que ces lignes sont commentées et donc NON-INTERPRETEES. -->Il est donc logique que pour activer les fonctionnalitées qui nous intéressent, de décommenter les bonnes lignes (enlever le #). ATTENTION: il n'y à quasiment JAMAIS RIEN A AJOUTER aux fichiers de conf. On se contente en général de modifier une ou plusieurs parties et on décommente. Les gens qui plante le serveur sont en général ceux qui le modifie le plus (mais par défault tout fonctionne bien, et tout est déja présent ;-) ).
    Bref: la partie de ce fichier qui nous intéresse est le module LDAP. Il suffit alors de trouver la partie "modules{ " et de VERIFIER que la ligne $INCLUDE {confdir}/modules/ est présente, et si oui il faut enlever le # pour l'activer (mais je crois que c'est déja le cas par défaut) Cette ligne veut dire "inclue les modules qui sont dans /etc/Freeradius/modules/ et si tu vas faire un tour dans ce dossier, tu verra qu'un joli fichier nommé "ldap" est présent et attend gentiment d'être configuré :-)

    Bien jusque là pas trop de difficultés si ?
    Maintenant qu'on à préciser à radius quel module utiliser, il faut les "autoriser"
    On vas donc aller dans le fichier /etc/Freeradius/sites-available/default pour décommenter un peu ^^
    --> dans ce fichier default, dans la partie authorize{ tu verra que le mot "file" est décommenté, ce qui veut dire que Freeradius autorise l'utilisation d'un fichier pour authentifier les gens (le fichier "user" pour être précis). Nous on veut utiliser le LDAP donc trouve dans cette même partie le mot "ldap" et décommente le. De même dans la partie authenticate{ trouve les 3 ligne (à la suite) qui disent Auth-Type LDAP{ ldap } et décommente ces 3 lignes (tu peux t'aider du bon vieux CTRL+F pour trouver ces lignes si tu utilise un éditeur de texte graphique comme gedit par exemple). Tu as maintenant la bonne configuration pour utiliser ton ldap avec freeradius.

    Bon! tu te souviens de notre fichier "ldap" dans /etc/Freeradius/modules/ ? eh bien c'est à son tour d'y passer et c'est sans doute le plus chiant si tu as un annuaire LDAP compliqué ^^ On y va avec le sourire quand même :
    Dans ce fichier on va modifier des infos de la partie ldap{
    --> trouve donc la ligne serveur=, décommente la si ce n'est pas fait par défaut, puis remplace la valeur après le = par l'adresse IP de ton LDAP (à mettre entre guillemets)(Windows Serveur je suppose). Ensuite vient la ligne identity -->ici il faut renseigner un utilisateur de ton ldap qui va dire à FreeRADIUS "ok c'est moi Leslie, j'ai le droit de lire dans le ldap donc laisse moi passer". En gros il doit avoir le droit AU MOINS de lire dans l'annuaire LDAP pour aller chercher les gens.
    --> Tu renseignes donc cette ligne en partant du point le plus précis de ton ldap (le nom) et tu remonte son arbre (exemple: identity = "cn=Leslie,ou=admin,ou=info,dc=DOMAINE,dc=LOCAL") Attention de bien respecter la casse!. Apres remplie bien les bons termes sinon le ldap te jettera! ^^
    Ligne suivante: password = Eh bien ici tout simplement le mot de passe de la personne juste au dessus :-)
    Ligne suivante: basedn = là il faut renseigner le dossier où sont stockés les utilisateurs du ldap (toujours en partant du point le plus précis) --> exemple: basedn = "ou=utilisateurs,dc=DOMAINE,dc=LOCAL".

    Bien bien généralement les soucis viennent d'ici car on fait facilement des erreurs en renseignant ces champs héhé. On verra comment vérifier ça après. Passons à la ligne filter = -->Ne modifie cette ligne que si tu utilise un Active directory Windows. et si c'est le cas, change le "uid=...etc" par sAMAccountName=...(le reste de la ligne ne change pas)

    Bon c'est pas trop mal là :-) Ah et si tu utilise toujours un Active directory Windows, décommente les deux lignes chase_referrals = yes et rebind = yes un peu plus loin dans ce même fichier (par soucis de compatibilité avec l'AD tout simplement).

    4-test
    Bon bah le plus dur est derrière. On va faire un petit test pour vérifier le bon fonctionnement de nos config:

    Avant de lancer le test il faut redémarrer notre serveur FreeRADIUS (eh oui sinon les changements ne seront pas pris en compte :/ sa serait balo)
    #/etc/init.d/freeradius restart (ou start si il n'est pas démarré mais par défaut il l'est).

    Passons au test:
    On utilise pour ça la commande radtest. Elle simule une demande d'authentification radius avec nos paramètres actuels.

    Voici sa syntaxe: radtest "login" "mot de passe" "@serveur FreeRADIUS" "port de connexion" "Secret Radius"
    Quelques explications; bon login et mot de passe sa ira ce sont les identifiants du ldap que tu veux tester
    , @serveur FreeRADIUS c'est "localhost" ou "127.0.0.1" car le serveur est sur ta machine ^^, le port par défaut c'est 1812 (pour FreeRADIUS) mais tu peux mettre 0 sa ira aussi dans notre cas. Secret Radius c'est "testing123" car tu le sais sans doute déja mais freeradius contient une liste de "clients" sur lesquels les utilisateurs se connectent (routeur wifi, switchs, ...) identifiés dans le fichier /etc/Freeradius/clients.conf mais pour notre test le client c'est nous (localhost) et si tu vas faire un tour dans le fichier, il existe déjà par défaut et possède comme sercet "testing123" Voila voila.

    Si ta commande fonctionne: tu devrais recevoir un joli message rad_recv: acces-accept from host 127.0.0.1 ... ce qui veut dire que l'authentification à réussi!

    Si ce n'est pas le cas, alors c'est FORCEMENT qu'il y à un soucis de conf (soit une ligne non décommentée (ou mal écrite) soit une erreur dans un de tes chemins LDAP.

    Dans tous les cas je te conseille de couper ton FreeRADIUS (avec la commande /etc/init.d/freeradius stop et de le relancer en mode "debug" (pour voir tous ce qu'il fait :D) avec la commande freeradius -X Tu verra ainsi en refaisant un radtest toutes les étapes (en anglais bien sûr) et donc sans doute les endroits où ça coince :-) )

    Pour ce qui est de ton portail captif, je ne sais pas lequel tu compte utiliser, mais je serai de t'apporter mon savoir s'il s'agit de Chillispot ou Coova-chilli (qui apportent beaucoup de fil à retordre généralement)

    En espérant t'avoir aidé!!
    Bon courage

    Jak
    1. Bonjour,
      Je travaille avec freeradius depuis bientôt un mois et demi dans le cadre de mon projet de stage. Le but du projet est de permettre l'authentification et l'accounting des utilisateurs d'asterisk à partir de freeradius.
      Tous les tutoriels que j'ai consulté jusqu'à ce jour ne me permettent pas d'avancer dans mon projet.
      J'ai utilisé radiusclient-ng comme client radius entre les deux serveurs cela ne fonctionnent. Si vous avez déjà travaillé dessus, j'aurai besoin de votre aide.
      Merci pour votre contribution
  2. slt!! Merci beaucoup d'avoir répondu à mon appel. Mais là je ne suis que sur le lancement de la commande radtest et j'ai comme réponse: no response from the server!
    J'ai visité qlques tuto mais ça n'a rien changé.
    Je suis bien en root mais le problème c'est que je ne vois aucun freeradius dans /etc/init.d, ce qui veut dire que le serveur n'est même pas lancé. j'ai essayer service freeradius start, il me répond "service unrecognize". Alors que quand je lance raduisd-X, j'ai bien ready for request.
    Quelqu'un peut m'aider?
    1. Désolé mais j'ai déja réussi à résoudre le problème!!! je crois que c'était un problème de certificat et un problème de commande, j'ai essayer raduisd restart!!! et voilà, ça a marché!!!
      Je vais donc poursuivre, à bientôt
      1. Salut,

        Alors ? Le résultat ?
      2. Ah eh bien tant mieux alors :-)
    2. Bonjour,

      Je viens de réaliser tout ce que tu as dis. Pourtant j'ai une erreur lors du test. Je n'arrive pas à la trouver ! Peut tu m'aider ?

      Je suis sous Ubuntu.

      Voici tous mes fichiers de conf (il y a juste le stricte minimum) :

      radiusd.conf :
      La ligne suivante est bien dé commentée :
      $INCLUDE ${confdir}/modules/


      default :
      authenticate {
       Auth-Type PAP {
        pap
       }
       Auth-Type CHAP {
        chap
       }
       Auth-Type MS-CHAP {
        mschap
       }
       digest
      should
       unix
       Auth-Type LDAP {
        ldap
       }


      ldap :
      ldap {
       #
       #  Note that this needs to match the name in the LDAP
       #  server certificate, if you're using ldaps.
       server = "10.1.69.50"
       identity = "cn=Mickael,ou=admin,ou=info,dc=DOMAINE,dc=LOCAL"
       password = "123456789"
       basedn = "ou=utilisateurs,dc=DOMAINE,dc=LOCAL"
       filter = "(uid=%{%{Stripped-User-Name}:-%{User-Name}})"
       #base_filter = "(objectclass=radiusprofile)"


      J'ai vérifié environ je sais pas combien de fois je ne trouve pas l'erreur !

      Voici la commande que je tape avec radtest :
      radtest Mickael 123456789 127.0.0.1 1812 testing123

      Voici ce qui suis dans le terminal lors de l'écriture de cette commande :
      Sending Access-Request of id 210 to 127.0.0.1 port 1812
       User-Name = "Mickael"
       User-Password = "123456789"
       NAS-IP-Address = 127.0.1.1
       NAS-Port = 1812
       Message-Authenticator = 0x00000000000000000000000000000000
      rad_recv: Access-Reject packet from host 127.0.0.1 port 1812, id=210, length=20

      Et voici ce que j'obtien dans mon xterm (un autre terminal avec la commande freeradius -X activé) :
      rad_recv: Access-Request packet from host 127.0.0.1 port 42438, id=210, length=77
       User-Name = "Mickael"
       User-Password = "123456789"
       NAS-IP-Address = 127.0.1.1
       NAS-Port = 1812
       Message-Authenticator = 0xbb5ae6f22954f4567b3d356bc2a9b10c
      # Executing section authorize from file /etc/freeradius/sites-enabled/default
      +- entering group authorize {...}
      ++[preprocess] returns ok
      ++[chap] returns noop
      ++[mschap] returns noop
      ++[digest] returns noop
      [suffix] No '@' in User-Name = "Mickael", looking up realm NULL
      [suffix] No such realm "NULL"
      ++[suffix] returns noop
      [eap] No EAP-Message, not doing EAP
      ++[eap] returns noop
      ++[files] returns noop
      [ldap] performing user authorization for Mickael
      [ldap]  expand: %{Stripped-User-Name} -> 
      [ldap]  ... expanding second conditional
      [ldap]  expand: %{User-Name} -> Mickael
      [ldap]  expand: (uid=%{%{Stripped-User-Name}:-%{User-Name}}) -> (uid=Mickael)
      [ldap]  expand: ou=utilisateurs,dc=DOMAINE,dc=LOCAL -> ou=utilisateurs,dc=DOMAINE,dc=LOCAL
        [ldap] ldap_get_conn: Checking Id: 0
        [ldap] ldap_get_conn: Got Id: 0
        [ldap] attempting LDAP reconnection
        [ldap] (re)connect to 10.1.69.50:389, authentication 0
        [ldap] bind as cn=Mickael,ou=admin,ou=info,dc=DOMAINE,dc=LOCAL/123456789 to 10.1.69.50:389
        [ldap] cn=Mickael,ou=admin,ou=info,dc=DOMAINE,dc=LOCAL bind to 10.1.69.50:389 failed: Can't contact LDAP server
        [ldap] (re)connection attempt failed
      [ldap] search failed
        [ldap] ldap_release_conn: Release Id: 0
      ++[ldap] returns fail
      Using Post-Auth-Type Reject
      # Executing group from file /etc/freeradius/sites-enabled/default
      +- entering group REJECT {...}
      [attr_filter.access_reject]  expand: %{User-Name} -> Mickael
      attr_filter: Matched entry DEFAULT at line 11
      ++[attr_filter.access_reject] returns updated
      Delaying reject of request 0 for 1 seconds
      Going to the next request
      Waking up in 0.9 seconds.
      Sending delayed reject for request 0
      Sending Access-Reject of id 210 to 127.0.0.1 port 42438
      Waking up in 4.9 seconds.
      Cleaning up request 0 ID 210 with timestamp +28
      Ready to process requests.
      


      J'espère que vous pourriez m'aider, je suis un peu perdu dans tout ceci..

      Merci d'avance,
      Usbeth

      Allez faire un tour sur mon site ;)
      www.frayday.wordpress.com
      1. Bonjour Usbeth,

        Ton log radius parle de lui même en te donnant la raison de l'echec du radtest:

        10.1.69.50:389 failed: Can't contact LDAP server
        [ldap] (re)connection attempt failed


        ce qui signifie que, avant même que FreeRADIUS ne cherche Mickael dans ton Ldap, il n'arrive déjà pas à contacter ce dernier.

        Je remarque que tu as comme adresse LDAP 10.1.69.50
        donc suggestion:
        Arrives tu à pinguer 10.1.69.50 depuis ta machine serveur?
        --> Essaie un # ping 10.1.69.50
        Si le ping ne passe pas (network unreachable ou autre), alors il te faut te placer sur le même réseau que ton serveur LDAP, ou du moin faire en sorte de pouvoir le joindre.

        En revanche, si le ping passe, alors on approfondira la recherche..
        Courage à toi,

        Jak
        1. Salut,

          Tout d'abord merci de ta réponse.

          Bah en faite FreeRadius & Ldap sont sur la même machine. A savoir 10.1.69.50.
          Vu que l'adresse IP 10.1.69.50 est l'adresse IP du PC avec lequel j'essaie de pinguer. Quelque soit ma config je suis capable de le pinguer.
          D'ailleurs c'est pour cela que je ne comprends pas. Vu que je fais tout sur la même machine, pourquoi je n'arrive pas a contacter le serveur Ldap ? Je m'attendais à avoir un problème, mais pas de ce type là.

          Pourtant j'ai suivis exactement ce que tu as dis dans ton tuto. Enfin, sauf erreur d'inattention ou autre. Il y a forcement un problème vu que ça ne fonctionne pas parfaitement :)

          Merci encore,
          Usbeth
          1. Bonjour,

            J'ai désinstallé freeradius et j'ai recommencé tout depuis le début. J'ai exactement la même erreur :
            radtest Leslie mypass 127.0.0.1 1812 testing123
            Sending Access-Request of id 229 to 127.0.0.1 port 1812
             User-Name = "Leslie"
             User-Password = "mypass"
             NAS-IP-Address = 127.0.1.1
             NAS-Port = 1812
             Message-Authenticator = 0x00000000000000000000000000000000
            rad_recv: Access-Reject packet from host 127.0.0.1 port 1812, id=229, length=20
            


            Résultat sous la commande "freeradius -X" :
            rad_recv: Access-Request packet from host 127.0.0.1 port 50608, id=229, length=76
             User-Name = "Leslie"
             User-Password = "mypass"
             NAS-IP-Address = 127.0.1.1
             NAS-Port = 1812
             Message-Authenticator = 0x625f2c3a9ecdc39a3a4d4f466c78e369
            # Executing section authorize from file /etc/freeradius/sites-enabled/default
            +- entering group authorize {...}
            ++[preprocess] returns ok
            ++[chap] returns noop
            ++[mschap] returns noop
            ++[digest] returns noop
            [suffix] No '@' in User-Name = "Leslie", looking up realm NULL
            [suffix] No such realm "NULL"
            ++[suffix] returns noop
            [eap] No EAP-Message, not doing EAP
            ++[eap] returns noop
            ++[files] returns noop
            [ldap] performing user authorization for Leslie
            [ldap]  expand: %{Stripped-User-Name} -> 
            [ldap]  ... expanding second conditional
            [ldap]  expand: %{User-Name} -> Leslie
            [ldap]  expand: (uid=%{%{Stripped-User-Name}:-%{User-Name}}) -> (uid=Leslie)
            [ldap]  expand: ou=utilisateurs,dc=DOMAINE,dc=LOCAL -> ou=utilisateurs,dc=DOMAINE,dc=LOCAL
              [ldap] ldap_get_conn: Checking Id: 0
              [ldap] ldap_get_conn: Got Id: 0
              [ldap] attempting LDAP reconnection
              [ldap] (re)connect to 10.1.69.50:389, authentication 0
              [ldap] bind as cn=Leslie,ou=admin,ou=info,dc=DOMAINE,dc=LOCAL/mypass to 10.1.69.50:389
              [ldap] cn=Leslie,ou=admin,ou=info,dc=DOMAINE,dc=LOCAL bind to 10.1.69.50:389 failed: Can't contact LDAP server
              [ldap] (re)connection attempt failed
            [ldap] search failed
              [ldap] ldap_release_conn: Release Id: 0
            ++[ldap] returns fail
            Using Post-Auth-Type Reject
            # Executing group from file /etc/freeradius/sites-enabled/default
            +- entering group REJECT {...}
            [attr_filter.access_reject]  expand: %{User-Name} -> Leslie
            attr_filter: Matched entry DEFAULT at line 11
            ++[attr_filter.access_reject] returns updated
            Delaying reject of request 0 for 1 seconds
            Going to the next request
            Waking up in 0.9 seconds.
            Sending delayed reject for request 0
            Sending Access-Reject of id 229 to 127.0.0.1 port 50608
            Waking up in 4.9 seconds.
            Cleaning up request 0 ID 229 with timestamp +9
            Ready to process requests.
            


            De plus, lorsque je fais les commande suivantes, j'ai les résultats suivants :
            /etc/init.d/freeradius stop
             * Stopping FreeRADIUS daemon freeradius                                                                                                                     * /var/run/freeradius/freeradius.pid not found...                                                                                                   [ OK ] 
            brice-HP etc # /etc/init.d/freeradius start
             * Starting FreeRADIUS daemon freeradius                                                                                                             [fail]


            Mon freeradius & Ldap sont sur la même machine à savoir l'@IP suivante "10.1.69.50". Je comprends pas pourquoi il y a une erreur pour contacter ce fameux serveur Ldap alors qu'il est sur la même machine.

            Y aurait il quelqu'un qui connaît la réponse et puisse me sauver la vie ?!

            Merci encore,
            Usbeth

            Allez faire un tour sur mon site ;)
            www.frayday.wordpress.com
            1. salut à tous, je crois que j'ai crié victoire trop tôt!!!
              Mon serveur ne démarre pas!!
              J'ai pourtant taper toutes les commandes inimaginables: service freeradius start, radiusd -X, service radiusd start. il me répond à chaque fois, serevice unrecognize.
              En lançant la commande radiusd start ou radiusd stop, rien ne s'affiche, ça devrait marcher mais en vérifiant dans /etc/init.d, il n'y a aucun service de freeradius.
              Donc j'ai essayé de le configurer avec ldap mais j'ai pleine d'erreur: failed to link rlm_ldap
              Quelque chose comme ça. Quelqu'un peut m'aider?
              1. Salut,

                essaie avec la commande :
                /etc/init.d/freeradius restart
                service freeradius restart


                Moi j'avais un problème assez similaire et des que je faisais start ça me mettais un fail. Ou alors, essaie de faire un stop avant un start.

                Sinon, si tu es motivé, je te conseille de purger totalement freeradius et de tout recommencer ce que tu as fais. Moi c'est ce que j'ai fais.
                Mais bon, ça fonctionne pas pour autant xD
              2. Je suis du même avis qu' Usbeth, #apt-get autoremove freeradius
                Cette commande désinstallera freeradius.

                Si tu ne veux pas réinstaller, alors vérifie l'appel de ton module ldap (dans radiusd.conf) car l'erreur que tu nous rapporte (failed to link rlm_ldap) signifie que ton module n'est pas joignable. As tu bien installé freeradius-ldap en début de configuration? as tu modifié ton radiusd.conf (ou autres fichiers) d'une autre manière que celle que je propose ?
                Courage et... Patience à toi :)
            2. Bonjour,

              Pour résoudre mon problème peut être dois-je faire ceci :

              1 => S'assurer que les modules "ldap" sont décommentés dans els fichiers radiud.conf, /etc/freeradius/site-available/default, /etc/freeradius/site-available/inner-tunnel

              2 => éditer /etc/freeradius/clients.conf :

              client localhost {
              ipaddr = 127.0.0.1
              secret = votre_secret_nas_radius
              nastype = other
              }

              3 => éditer /usr/share/freeradius/dictionary et y rajouter :

              VALUE Auth-Type LDAP 5

              4 => éditer /etc/freeradius/users et y rajoutez :

              DEFAULT Auth-Type := LDAP
              Fall-Through = 1

              Qu'en pensez vous ? Apparemment, l'étape 4 il ne faut pas la faire, enfin les avis diverges dessus. Soit disant "ça n'apporte que des erreurs et si on lance est en mode debug freeradius (sudo freeradius -X) il nous crache une vilaine erreur !".

              Je ne comprends pas non plus pourquoi il me dis "/var/run/freeradius/freeradius.pid not found..." (voir message précédent) et surtout son utilité. Quelqu'un pourrait m'aider ?

              A force de chercher partout je fais plein de config différentes/test. Mais je n'ai toujours pas le résultat recherché. Le bon fonctionnement de mon serveur freeradius.

              Cordialement,
              Usbeth

              Allez faire un tour sur mon site ;)
              www.frayday.wordpress.com
              1. Bonjour Usbeth,
                Ton étape 3), à savoir l'édition du fichier dictionnary ainsi que ton étape 4), qui consiste à modifier le fichier USER sont malheureusement inutiles. :-)
                Je m'explique: Premièrement le fichier dictionnary par défaut inclut les attributs de la RFC2865. Ce dictionnaire établit la correspondance "nom des attributs" - "numéro". Il n'est dans notre cas aucunement recommandé de le modifier. Ensuite, Reflechissons logiquement. =) nous demandons à FreeRADIUS une authentification par LDAP (cf fichier sites-available/default), à partir de là, Freeradius va tanter cette athentification LDAP en utilisant le module LDAP (cd fichier radiusd.conf qui lui même appelle modules/ldap). Modifier le fichier USER ne permet alors rien, si ce n'est de rajouter un utilisateur en plus de ceux de ton ldap. De plus on peut remarquer dans les logs que Freeradius demande bien au ldap regarde:

                ++[files] returns noop
                [ldap] performing user authorization for Leslie


                le [files] return noop t'informe que le FICHIER user ne sera pas utilisé ^^
                Une chose primordiale est à retenir: Par DEFAUT, un serveur freeradius est fonctionnel (du moment que les commandes #apt-get update et #apt-get upgrade ont été faites. Donc ce qui généralement cause l'instabilité (voir le non fonctionnement) de ton serveur, ce sont toutes ces manip rajoutées en plus.
                Il te faut faire au plus simple dès le début, en changeant le minimum de choses et les soucis disparaissent (à part exceptions évidemment).

                Pour la connexion à ton Ldap, j'ignore si tu as modifier le module LDAP de la manière que j'indique (en changeant uid par sAMAccountName). Ce changement est propre à la configuration du LDAP et donc peut s'avérer être l'erreur qui t'empêche d'avancer. Vérifie aussi de façon très minutieuse le chemin de ton lecteur LDAP (identity password) :-)

                Autre chose, si ton FreeRADIUS et ton LDAP sont sur la même machine physique, l'un d'eux est peut être virtualisé? FreeRADIUS est sur un environnement Linux et LDAP Windows (ou bien c'est un OpenLDAP ?) --> Cette différence change bien évidemment la méthode de configuration du module ldap :-)

                Dans tous les cas j'essayerai de t'aider au maximum (mais bon je ne suis pas expert de FreeRADIUS). Si tu trouves l'erreur, n'oublies pas de tout refaire proprement :)

                Courage à toi

                Jak
              2. Salut Jak,

                Tout d'abord merci de ton aide et de tes informations !

                Je n'est actuellement pas exécuté ceci :
                 Passons à la ligne filter = -->Ne modifie cette ligne que si tu utilise un Active directory Windows. et si c'est le cas, change le "uid=...etc" par sAMAccountName=...(le reste de la ligne ne change pas) 

                Puisque je n'utilise pas un ADW.

                J'ai mon serveur freeradius & mon Ldap sur la même machine, qui est une Ubuntu. Est-ce par ce que j'ai tout sur Ubuntu que cela ne fonctionne pas ?
                Je n'ai pas de Open Ldap.

                Je pense qu'il doit y avoir un erreur dans le fichier ldap :
                identity = "cn=Leslie,ou=admin,ou=info,dc=DOMAINE,dc=LOCAL"
                 password = mypass
                 basedn = "ou=utilisateurs,dc=DOMAINE,dc=LOCAL"
                        filter = "(uid=%{%{Stripped-User-Name}:-%{User-Name}})"


                Je ne comprend pas les lignes identify, basedn ainsi que filter. Il doit forcément y avoir une erreur dans les environs. J'ai aussi une question. Le fait de mettre le mot de passe sans les guillemets. Ca pose un problème ?

                J'ai essayé avec et sans, cela ne change rien.

                Je ne comprends pas, non plus, ce que tu appel chemin LDAP.

                Merci encore,
                Usbeth
              3. Bien bien,

                Tu es donc sur une seule et même machine UNIX Ubuntu (serveur lts ou bien desktop?).

                Pour expliquer les lignes que tu cites:
                identity sert ici à "t'identifier" auprès de ton ldap c'est à dire que n'importe qui ne peut pas forcément aller lire comme ça ton LDAP, il te faut donc choisir un utilisateur ayant droit de lecture sur ce dernier.
                password est évidemment le mot de passe de la personne cité précédemment.

                Si ton ldap reconnait "Leslie" alors le log te dira:

                [ldap] attempting LDAP reconnection
                [ldap] (re)connect to 10.1.69.50:389, authentication 0
                [ldap] bind successful


                ou quelque chose de proche en tout cas.

                Mais le soucis que tu rencontres ici ne concerne pas "Leslie" donc pas Identity (du moins pour le moment). ton ldap n'est pas consulté car injoignable.

                Grâce aux dernières infos que tu m'a donné (et je t'en remercie :-) ), on peut dire à coup sûr que le ping fonctionne --> MAIS quoi de plus simple pour ta machine que de se pinguer elle même (apres tout ton ping vers FreeRADIUS serait exactement le même #ping 10.1.69.50 non ?) donc il te faut vérifier si ton serveur LDAP est fonctionnel.

                Suggestions:
                - Est-il lancé ?
                - As tu moyen de voir ses logs ?
                - Les commandes de test ldap sont elles OK ?

                Recommandations:
                - fais un #tail -f /var/log/syslog dans un terminal à part (si tu procède en graphique) ou dans TTY2 (si tu es en console). Cette commande t'affiche en temps réel(grâce au -f ) les log de ton système.

                - effectue un test de consultation sur ton ldap grâce à la commande suivante (voir à modifier un peu):
                #ldapsearch -x -b "ou=utilisateurs,dc=DOMAINE,dc=LOCAL" 'uid=Leslie'
                le -x veut dire "simple consultation" le -b est équivalent au basedn du FreeRADIUS (chemin où se situent les utilisateurs).
                note: si ldapsearch n'est pas installé, voici la commande:
                #apt-get install ldap-utils

                Tant que tu n'arrivera pas à faire fonctionner le ldapsearch, alors il ne sert à rien de chercher le soucis dans FreeRADIUS (du moins c'est ce que je pense)

                Je repasse ce soir en croisant les doigts pour toi ;)
                Courage!

                Jak
              4. Je viens de comprendre ce qu'il cloche, grâce a ton dernier message ! Je suis trop nul !

                Nan mais HO MON DIEU !

                Explication :
                Pour moi, le serveur ldap se lancé automatiquement. Enfin, je veux dire que je pensais que s'était inutile de le lancer. C'est donc pour cette raison que je n'ai pas cherché à le lancer. Seulement il faut le lancer, comme pour freeradius !

                Pour le lancer j'ai seek sur le net et je suis tomber sur la commande suivante :
                /etc/init.d/ldap start

                Je la tape dans le terminal sauf que j'ai rien ! Résultat de la commance :
                bash: /etc/init.d/ldap: Aucun fichier ou dossier de ce type
                Pourtant, j'ai bien téléchargé les fichier que tu dis (freeradius et freeradius-ldap). Alors pourquoi je n'est pas la possibilité d'entrer la commande pour lancer le serveur ldap ?!

                C'est la question qui vaut de l'or !

                Je te tien au jus si je trouve avant ton retour.

                Merci l'ami !
              5. Je pense qu'il doit manquer un fichier, ou une ligne de commande. En tout cas je suis sur à 100% que l'erreur est là ! J'ai l'impression que "Leslie" ce connecte correctement (sauf qu'il manque le serveur xD) :
                [ldap] bind as cn=Leslie,ou=admin,ou=info,dc=DOMAINE,dc=LOCAL/mypass to 10.1.69.50:389

                Si j'arrive a lancer ce fichu serveur Ldap, je suis sur (à 99.9999%) que tout va fonctionner d'un coup. (Sauf qu'il y a 0.0001% qui me font grandement douter ^^)
            3. Bonjour Usbeth :)

              En effet si ton serveur LDAP n'est pas "allumé", tu pourra faire toutes les modif que tu souhaite sur FreeRADIUS sans résultat ^^

              Pour ton dernier message:

              j'ai l'impression que "Leslie" se connecte correctement (sauf qu'il manque le serveur xD) :

              [ldap] bind as cn=Leslie,ou=admin,ou=info,dc=DOMAINE,dc=LOCAL/mypass to 10.1.69.50:389


              Il ne s'agit ici que d'une impression, en fait ton log FreeRADIUS se sert simplement de ton fichier ldap (module freeradius) pour t'afficher cette jolie ligne mais il n'essaye même pas de le/la chercher.

              Mais bon, tu as trouvé le problème, et c'est le principal :)
              Il te faut démmarer ton ldap (pour le rendre fonctionnel), et là je n'ai pas vraiment moyen de t'aider sans infos complémentaire (quelles commandes as tu tapé pour installer/configurer ton ldap) Dans mon cas il s'agissait d'un LDAP Windows et donc créé avec un Windows Serveur 2008R2.

              Toi je n'en ai pas la moindre idée (tu m'as simplement indiqué qu'il ne s'agissait pas d'OpenLDAP :) )

              Tu touches au but :)
              Courage!

              Jak
              1. Salut à toi !

                Aujourd'hui je suis motivé à régler ce problème !

                Okay je vois. Pour installer/configurer mon ldap J'ai simplement fait:
                apt-get install freeradius-ldap

                Comme tu as dis dans le tuto, que tu as fait. Et ensuite j'ai fait tout ce que tu as dis dans le tuto. Je n'ai touché a rien d'autre. J'ai un fichier dans /etc/ldap/ldap.conf (il y a que ce fichier dans ce dossier). J'ai regardé ce qu'il y a dedans, c'est à dire pas grand chose.

                Fichier /etc/ldap/ldap.conf :

                #
                # LDAP Defaults
                #
                
                # See ldap.conf(5) for details
                # This file should be world readable but not world writable.
                
                #BASE	dc=example,dc=com
                #URI	ldap://ldap.example.com ldap://ldap-master.example.com:666
                
                #SIZELIMIT	12
                #TIMELIMIT	15
                #DEREF		never
                
                # TLS certificates (needed for GnuTLS)
                TLS_CACERT	/etc/ssl/certs/ca-certificates.crt

                A mon avis ca doit être impossible cette manière si je ne fais pas le Ldap sur Windows non ? Pense tu que je devrais faire un OpenLdap vu que je suis sur Ubuntu et non sur Windows comme toi ? Pourrez tu m'aider à le mettre en place si tu sais faire ?

                Cordialement,
                Usbeth.
                1. Re ! :D

                  Désolé du double message mais important pour résoudre cette affaire de meurtre ! :O

                  Nous avons un indice incroyable ! Le serveur Ldap FONCTIONNE !! :
                  apt-get install slapd


                  radtest Leslie kikou 127.0.0.1 1812 testing123
                  Sending Access-Request of id 159 to 127.0.0.1 port 1812
                   User-Name = "Leslie"
                   User-Password = "kikou"
                   NAS-IP-Address = 127.0.1.1
                   NAS-Port = 1812
                   Message-Authenticator = 0x00000000000000000000000000000000
                  rad_recv: Access-Reject packet from host 127.0.0.1 port 1812, id=159, length=20


                  rad_recv: Access-Request packet from host 127.0.0.1 port 37687, id=159, length=76
                   User-Name = "Leslie"
                   User-Password = "kikou"
                   NAS-IP-Address = 127.0.1.1
                   NAS-Port = 1812
                   Message-Authenticator = 0x836e0a504ea6396922e228599deeb301
                  # Executing section authorize from file /etc/freeradius/sites-enabled/default
                  +- entering group authorize {...}
                  ++[preprocess] returns ok
                  ++[chap] returns noop
                  ++[mschap] returns noop
                  ++[digest] returns noop
                  [suffix] No '@' in User-Name = "Leslie", looking up realm NULL
                  [suffix] No such realm "NULL"
                  ++[suffix] returns noop
                  [eap] No EAP-Message, not doing EAP
                  ++[eap] returns noop
                  ++[files] returns noop
                  [ldap] performing user authorization for Leslie
                  [ldap]  expand: %{Stripped-User-Name} -> 
                  [ldap]  ... expanding second conditional
                  [ldap]  expand: %{User-Name} -> Leslie
                  [ldap]  expand: (uid=%{%{Stripped-User-Name}:-%{User-Name}}) -> (uid=Leslie)
                  [ldap]  expand: ou=utilisateurs,dc=DOMAINE,dc=LOCAL -> ou=utilisateurs,dc=DOMAINE,dc=LOCAL
                    [ldap] ldap_get_conn: Checking Id: 0
                    [ldap] ldap_get_conn: Got Id: 0
                    [ldap] attempting LDAP reconnection
                    [ldap] (re)connect to 10.1.69.50:389, authentication 0
                    [ldap] bind as cn=Leslie,ou=admin,ou=info,dc=DOMAINE,dc=LOCAL/kikou to 10.1.69.50:389
                    [ldap] waiting for bind result ...
                    [ldap] LDAP login failed: check identity, password settings in ldap section of radiusd.conf
                    [ldap] (re)connection attempt failed
                  [ldap] search failed
                    [ldap] ldap_release_conn: Release Id: 0
                  ++[ldap] returns fail
                  Using Post-Auth-Type Reject
                  # Executing group from file /etc/freeradius/sites-enabled/default
                  +- entering group REJECT {...}
                  [attr_filter.access_reject]  expand: %{User-Name} -> Leslie
                  attr_filter: Matched entry DEFAULT at line 11
                  ++[attr_filter.access_reject] returns updated
                  Delaying reject of request 0 for 1 seconds
                  Going to the next request
                  Waking up in 0.9 seconds.
                  Sending delayed reject for request 0
                  Sending Access-Reject of id 159 to 127.0.0.1 port 37687
                  Waking up in 4.9 seconds.
                  Cleaning up request 0 ID 159 with timestamp +5
                  Ready to process requests.
                  

                  J'ai éffectué un :
                  ldapsearch -x -b "ou=utilisateurs,dc=DOMAINE,dc=LOCAL" 'uid=Leslie' 
                  # extended LDIF
                  #
                  # LDAPv3
                  # base <ou=utilisateurs,dc=DOMAINE,dc=LOCAL> with scope subtree
                  # filter: uid=Leslie
                  # requesting: ALL
                  #
                  
                  # search result
                  search: 2
                  result: 32 No such object
                  
                  # numResponses: 1
                  


                  Je sais pas ce que ça veux dire mais c'est fantastique ! :D Maintenant c'est l'authentification qui ne fonctionne pas xD (Et oui ! Il faut toujours un problème ! Mais on va vaincre !). Donc !

                  Bah maintenant il faut faire fonctionner tous ceci et comprendre pourquoi l'auth ne fonctionne point. Acceptez vous la mission ? OUI ! Nous allons vaincre !

                  Cordialement,
                  Usbeth.

                  Allez faire un tour sur mon site ;)
                  www.frayday.wordpress.com
                  1. Il ne l'a pas trouvé car tu n'a pas de LDAP ;)
                    Pas de soucis je te tuto tout ça en dessous :-)
                2. Ah ! Voila qui explique tout :)

                  Tu n'as tout simplement pas de ldap

                  Bien La première faute est miènne:
                  Mon tuto consistait à l'installation de FreeRADIUS avec une COMPATIBILITE ldap (d'où l'installation du module freeradius-ldap) MAIS ATTENTION, il te faut OBLIGATOIREMENT un ldap configuré et prêt A COTE :)

                  J'aurais dû le préciser, freeradius-ldap n'est pas un LDAP mais un module de compatibilité avec un ldap :)

                  je te cite:

                  apt-get install slapd


                  Ça c'est un daemon (un processus) qui gère le ldap :) (basé d'ailleur sur OpenLDAP)

                  Il te faut dans un premier temps faire
                  #sudo -s pour être en root et le rester (il te demande le mot de passe de session)
                  #apt-get install slapd pour installer un daemon ldap (donc ton ldap)
                  #apt-get install ldap-utils (pour tes tests)
                  #dpkg-reconfigure slapd pour configurer ton ldap

                  Ici ça devient important:

                  slapd te demande alors:
                  1.Passer la configuration d'OpenLDAP ? tu met "non"
                  se suivent:
                  2.Nom de domaine ? réponse: example.local (met le nom de ton entreprise, école, maison ce que tu veux ^^)
                  3.Nom de votre société ? réponse: même nom sans le ".local"
                  4.Quelle base de donnée ? réponse: hdb
                  5.Voulez-vous que la base de donnée soit effacée ... Réponse: oui
                  6.Supprimer les anciennes bases de données ? Réponse: oui
                  7.Mot de passe administrateur ? Réponse: TonMotDePasse
                  8.Confirmer ce mot de passe ? Réponse: le même mot de passe
                  9.Authoriser le protocol LDAPv2 ? Réponse: non

                  après ça ton ldap est créé. Ouvre alors le fichier /etc/ldap/ldap.conf qui devrait normalement exister: voici son contenu

                  ldap_version 3
                  URI ldap://localhost:389
                  SIZELIMIT 0
                  TIMELIMIT 0
                  DEREF never
                  BASE dc=example, dc=com


                  Change ton premier dc="le nom sans .local que tu as renseigné avant"
                  et ton deuxième dc="local"

                  ensuite ouvre /etc/ldap/slapd.conf et change le comme ceci:

                  suffix "dc=lenom sans .local,dc=local"
                  directory "/var/lib/ldap"
                  rootdn "cn=Leslie ou admin toi qui vois,dc=nom sans .local,dc=local"
                  rootpw TonMotDePasse


                  Ensuite il faut remplir ton ldap (ajoute des "ou" (unités d'organisations) et des utilisateurs (par exemple notre Leslie si tu ne l'a pas mis au dessus ^^)

                  INFO: exemple d'un ldap d'école pour que tu comprenne l'architecture:

                  domaine .............ecole.local
                  ................................. /\.............................................
                  ................................./...\...........................................
                  ................................/......\..........................................
                  .............................. /.........\.........................................
                  ..................ou Profs ..........ou Eleves.............
                  ..................../....................../................\......................
                  ...cn=Jean Pierre ...........ou CM1.......ou CM2.................
                  ... cn=Anne Marie..................|.................|.....................
                  ............... ... ...................Jenny ........Thibault...............
                  ........................................Louis ...........Karim...............

                  Remplis donc ton ldap comme bon te semble :) en tapant:

                  #gedit /etc/ldap/init.ldif (tu devras peut etre le créer)

                  note: aide toi de ce site pour remplir: http://doc.ubuntu-fr.org/slapd (partie 3: remplir ldap)

                  Et redis moi quand tu aura fini tout ça :)

                  Allez courage!

                  Jak
                  1. Hoo ! Génial !

                    Dans mon fichier ldap.conf j'avais exactement la même chose que je t'ai marquer quelques messages au dessus. Du coup j'ai rajouté ce que tu as dis. Pour le deuxième dc il faut juste mettre "local" ? ou "cequetuasmarqué.local" ?

                    Ensuite je n'ai pas de fichier /etc/ldap/slapd.conf !! Dans le répertoire /etc/ldap/ les fichiers présents sont : ldap.conf, sasl2, schema, slapd.d. Ceux qui sont en gras sont des fichiers

                    Je sens que la fin est proche ! :D

                    Usbeth
                  2. juste local (en fait ton ldap à un domaine ("UnNomQueTuChoisis.local")

                    et donc on te demande toujours 2 dc :le premier c'est ce qu'il y a avant le "." donc ici "UnNomQueTuChoisis" et le deuxieme ce qu'il y a apres le "." donc ici "local"
                  3. pour ton fichier slapd.conf fais un

                    #find / | grep slapd.conf

                    et vois ce qu'il te répond (normalement il te le trouve)
                  4. Ok !

                    Il me l'a trouvé !
                    find / | grep slapd.conf 
                    /usr/share/man/man5/slapd-config.5.gz
                    /usr/share/man/man5/slapd.conf.5.gz
                    /usr/share/slapd/slapd.conf
                    /usr/share/doc/slapd/examples/slapd.conf
                    /var/lib/dpkg/info/slapd.config
                    /var/lib/dpkg/info/slapd.conffiles
                    


                    Je continue et je te dis
                  5. Le fichier init.ldif :
                    # fichier de données : ~/init.ldif
                    dn: dc=example,dc=com
                    objectClass: dcObject
                    objectClass: organizationalUnit
                    dc: example
                    ou: Example Dot Com
                    
                    dn: ou=people,dc=example,dc=com
                    objectClass: organizationalUnit
                    ou: people
                    
                    dn: ou=groups,dc=example,dc=com
                    objectClass: organizationalUnit
                    ou: groups
                    
                    dn: uid=lionel,ou=people,dc=example,dc=com
                    objectClass: inetOrgPerson
                    objectClass: posixAccount
                    objectClass: shadowAccount
                    uid: lionel
                    sn: Porcheron
                    givenName: Lionel
                    cn: Lionel Porcheron
                    displayName: Lionel Porcheron
                    uidNumber: 1000
                    gidNumber: 10000
                    gecos: Lionel Porcheron
                    loginShell: /bin/bash
                    homeDirectory: /home/lionel
                    shadowExpire: -1
                    shadowFlag: 0
                    shadowWarning: 7
                    shadowMin: 8
                    shadowMax: 999999
                    shadowLastChange: 10877
                    mail: lionel.porcheron@example.com
                    postalCode: 31000
                    l: Toulouse
                    o: Example
                    mobile: +33 (0)6 xx xx xx xx
                    homePhone: +33 (0)5 xx xx xx xx
                    title: System Administrator
                    postalAddress: 
                    initials: LP
                    
                    dn: cn=example,ou=groups,dc=example,dc=com
                    objectClass: posixGroup
                    cn: example
                    gidNumber: 10000
                    displayName: Example group


                    Je dois remplacer tous les example par "nomsans.local" et com par "local" ? Et lionel Porcheron par le profil créé ? Je comprends pas trop le tuto qu'il a fait le mec :/

                    désolé ^^"
                3. slt!! je vois que vous au moins, vous avez un ready for request en lançcant radius en mode debug; et bien moi pas. Il y est écrit, failed to link module rlm_ldap, j'ai essayer d'installer freeradius-ldap avec:
                  apt-get update
                  apt-get upgrade
                  apt-get freeradius-ldap
                  Mais il me répond que freeradius-ldap est déja la version la plus récente installée.
                  Est-ce que cela veut dire qu'il est déja installé dans ma machine?
                  Help please? que dois-je faire, j'ai vraiment pas envie de le désinstallé car j'ai mis des semaines à m'en sortir de" no reponse from the serveur" et j'ai installé freeradius à l'aide d'un paquet freeradius-server-2.2.0.tar.gz.
                  1. j'ai refais l'installation plusieurs fois et oui, j'ai bien installé freeradius-ldap, dans d'autres forum, ils disent que le modules n'est pas activé? comment ça?
                    alors que j'ai déja recompilé combien et combien de fois!!
                    1. Bonjour Leslie,
                      Peut être que le soucis vient de ton paquet .gz.
                      Je m'explique:
                      La commande #apt-get install freeradius-ldap te fournit le moyen de configurer un ldap avec freeradius.
                      Mais cette commande ne vaut la peine et ne fonctionne que si et seulement si tu installes freeradius2.X avec la commande #apt-get install freeradius
                      Tu ne dois pas utiliser un paquet freeradius téléchargé autrement que par le dépot (le dépot = apt-get install) si tu utilise ensuite un apt-get install tu vois où je veux en venir ?
                      soit TOUT en dépot et donc :
                      #apt-get update
                      #apt-get upgrade
                      #apt-get install freeradius
                      #apt-get install freeradius-ldap

                      soit TOUT sans dépot à savoir ta méthode:
                      #wget http://XXXXXX.freeradius-2.0.0.tar.gz (attention cette commande n'existe pas c'est pour l'exemple)
                      #dpkg -i freeradius-2.0.0.tar.gz ...

                      Voila moi j'installe tout en dépot (pour justement ne pas avoir de soucis de compatibilité ou autre (ce qui est ton cas)

                      donc solutions possibles:
                      - Supprime ton paquet freeradius que tu as téléchargé
                      puis:
                      #apt-get autoremove freeradius
                      #apt-get autoremove freeradius-ldap
                      #apt-get install freeradius
                      #apt-get install freeradius-ldap

                      Attention tu ne perds pas le contenu de tes fichiers de conf freeradius (tes modifs restent donc intactes)

                      J'espère pouvoir t'aider d'avantage par la suite
                      Courage à toi

                      Jak
                  2. Salut,

                    Merci jak, je vais essayer ça, mais j'ai un petit problème j'ai plus le fichier "directory" !
                    Quelqu'un l'aurais pour moi ?
                    Je suis un boulet ^^"
                    1. le fichier "directory "? de quel fichier s'agit -t il ?
                    2. /etc/freeradius/directory

                      En faite des que je fais /etc/init.d/freeradius restart ou start j'ai un fail. Et je pense que c'est parce qu'il manque ce fichier.

                      Lancement de la commande freeradius -X
                      freeradius -X
                      FreeRADIUS Version 2.1.12, for host x86_64-pc-linux-gnu, built on Sep 11 2012 at 22:27:05
                      Copyright (C) 1999-2009 The FreeRADIUS server project and contributors. 
                      There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A 
                      PARTICULAR PURPOSE. 
                      You may redistribute copies of FreeRADIUS under the terms of the 
                      GNU General Public License v2. 
                      Starting - reading configuration files ...
                      including configuration file /etc/freeradius/radiusd.conf
                      including configuration file /etc/freeradius/proxy.conf
                      including configuration file /etc/freeradius/clients.conf
                      including configuration file /etc/freeradius/snmp.conf
                      Unable to open file "/etc/freeradius/snmp.conf": No such file or directory
                      Errors reading /etc/freeradius/radiusd.conf
                      


                      il me manque aussi le fichier snmp.conf apparemment
                    3. Me suis trompé ! Le nom du fichier c'est /etc/freeradius/dictionary !!
                    4. Ah en effet, s'il te manque le fichier dictionary ça va planter :)
                    5. il te faut le trouver sur internet car une réinstallation ne te le réintègrera pas. En revanche c'est assez étrange qu'il ait disparut ^^
                  3. slt Jak! Merci pour tes conseils! Car maintenant que j'ai plus d'erreur en lançant en mode debug, MAIS en lançant la commande radtest, j'ai un access-reject, ce qui est bizarre, c'est qu'il marchait dans mon précédant freeradius. J'ai refais les mêmes config mais en vain. Tu peux m'aider stp!!
                    j'ai décommenté un utilisateur dans users pour faire le test et j'ai configuré clients.conf comme d'hab! Alors où est le problème? l'authentification avec eap est activé par defaut.
                    1. Moi je peux pas trop t'aider, j'y connais rien. Mais fais voir tes fichiers de conf. Peut être je vais trouver l'erreur. On sait jamais ! :)
                    2. Bonjour Leslie,
                      Je t'aiderai avec plaisir, du moins si j'en suis capable... :)
                      J'ai besoin d'informations. Tu as donc réinstallé FreeRADIUS qui cette fois démarre sans soucis, En revanche, le radtest échoue.

                      Questions:
                      - Utilises tu un ldap à coté ou simplement le fichier USERS ?
                      - As tu un LDAP joignable et opérationnel (cf. Usbeth :-D )?
                      - As tu configuré ton module ldap ? (identity, password,...)?
                      - As tu bien autorisé le ldap dans le fichier sites-availables/default en décommantant les lignes associées ?

                      L'authentification EAP ne pose normalement pas de problème, du moment que l'on passe tout en clair (non chiffré).

                      Recommandations:
                      - Lance FreeRADIUS en mode débug (d'abord tu le stop avec la commande #/etc/init.d/freeradius stop puis tu le relance en débug avec #freeradius -X) et colle nous ce qu'il te dit quand tu fais un radtest(de la même manière qu'Usbeth) afin que l'on puisse analyser tout ça :-)

                      Bonne chance!

                      Jak
                    3. slt! merci d'avoir répondu, euh, voilà un extrait de ce qu'il montre en lançant radiusd -X

                      with_ntdomain_hack = no
                      allow_retry = yes
                      }
                      Module: Linked to module rlm_digest
                      Module: Instantiating module "digest" from file /usr/local/etc/raddb/modules/digest
                      Module: Linked to module rlm_unix
                      Module: Instantiating module "unix" from file /usr/local/etc/raddb/modules/unix
                      unix {
                      radwtmp = "/usr/local/var/log/radius/radwtmp"
                      }
                      Module: Linked to module rlm_eap
                      Module: Instantiating module "eap" from file /usr/local/etc/raddb/eap.conf
                      eap {
                      default_eap_type = "md5"
                      timer_expire = 60
                      ignore_unknown_eap_types = no
                      cisco_accounting_username_bug = no
                      max_sessions = 4096
                      }
                      Module: Linked to sub-module rlm_eap_md5
                      Module: Instantiating eap-md5
                      Module: Linked to sub-module rlm_eap_leap
                      Module: Instantiating eap-leap
                      Module: Linked to sub-module rlm_eap_gtc
                      Module: Instantiating eap-gtc
                      gtc {
                      challenge = "Password: "
                      auth_type = "PAP"
                      }
                      Module: Linked to sub-module rlm_eap_tls
                      Module: Instantiating eap-tls
                      tls {
                      rsa_key_exchange = no
                      dh_key_exchange = yes
                      rsa_key_length = 512
                      dh_key_length = 512
                      verify_depth = 0
                      CA_path = "/usr/local/etc/raddb/certs"
                      pem_file_type = yes
                      private_key_file = "/usr/local/etc/raddb/certs/server.pem"
                      certificate_file = "/usr/local/etc/raddb/certs/server.pem"
                      CA_file = "/usr/local/etc/raddb/certs/ca.pem"
                      private_key_password = "whatever"
                      dh_file = "/usr/local/etc/raddb/certs/dh"
                      random_file = "/usr/local/etc/raddb/certs/random"
                      fragment_size = 1024
                      include_length = yes
                      check_crl = no
                      cipher_list = "DEFAULT"
                      make_cert_command = "/usr/local/etc/raddb/certs/bootstrap"
                      ecdh_curve = "prime256v1"
                      cache {
                      enable = no
                      lifetime = 24
                      max_entries = 255
                      }
                      verify {
                      }
                      ocsp {
                      enable = no
                      override_cert_url = yes
                      url = "http://127.0.0.1/ocsp/"
                      use_nonce = yes
                      timeout = 0
                      softfail = no
                      }
                      }
                      Module: Linked to sub-module rlm_eap_ttls
                      Module: Instantiating eap-ttls
                      ttls {
                      default_eap_type = "md5"
                      copy_request_to_tunnel = no
                      use_tunneled_reply = no
                      virtual_server = "inner-tunnel"
                      include_length = yes
                      }
                      Module: Linked to sub-module rlm_eap_peap
                      Module: Instantiating eap-peap
                      peap {
                      default_eap_type = "mschapv2"
                      copy_request_to_tunnel = no
                      use_tunneled_reply = no
                      proxy_tunneled_request_as_eap = yes
                      virtual_server = "inner-tunnel"
                      soh = no
                      }
                      Module: Linked to sub-module rlm_eap_mschapv2
                      Module: Instantiating eap-mschapv2
                      mschapv2 {
                      with_ntdomain_hack = no
                      send_error = no
                      }
                      Module: Checking authorize {...} for more modules to load
                      Module: Linked to module rlm_preprocess
                      Module: Instantiating module "preprocess" from file /usr/local/etc/raddb/modules/preprocess
                      preprocess {
                      huntgroups = "/usr/local/etc/raddb/huntgroups"
                      hints = "/usr/local/etc/raddb/hints"
                      with_ascend_hack = no
                      ascend_channels_per_line = 23
                      with_ntdomain_hack = no
                      with_specialix_jetstream_hack = no
                      with_cisco_vsa_hack = no
                      with_alvarion_vsa_hack = no
                      }
                      reading pairlist file /usr/local/etc/raddb/huntgroups
                      reading pairlist file /usr/local/etc/raddb/hints
                      Module: Linked to module rlm_realm
                      Module: Instantiating module "suffix" from file /usr/local/etc/raddb/modules/realm
                      realm suffix {
                      format = "suffix"
                      delimiter = "@"
                      ignore_default = no
                      ignore_null = no
                      }
                      Module: Linked to module rlm_files
                      Module: Instantiating module "files" from file /usr/local/etc/raddb/modules/files
                      files {
                      usersfile = "/usr/local/etc/raddb/users"
                      acctusersfile = "/usr/local/etc/raddb/acct_users"
                      preproxy_usersfile = "/usr/local/etc/raddb/preproxy_users"
                      compat = "no"
                      }
                      reading pairlist file /usr/local/etc/raddb/users
                      reading pairlist file /usr/local/etc/raddb/acct_users
                      reading pairlist file /usr/local/etc/raddb/preproxy_users
                      Module: Checking preacct {...} for more modules to load
                      Module: Linked to module rlm_acct_unique
                      Module: Instantiating module "acct_unique" from file /usr/local/etc/raddb/modules/acct_unique
                      acct_unique {
                      key = "User-Name, Acct-Session-Id, NAS-IP-Address, NAS-Identifier, NAS-Port"
                      }
                      Module: Checking accounting {...} for more modules to load
                      Module: Linked to module rlm_detail
                      Module: Instantiating module "detail" from file /usr/local/etc/raddb/modules/detail
                      detail {
                      detailfile = "/usr/local/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d"
                      header = "%t"
                      detailperm = 384
                      dirperm = 493
                      locking = no
                      log_packet_header = no
                      }
                      Module: Linked to module rlm_attr_filter
                      Module: Instantiating module "attr_filter.accounting_response" from file /usr/local/etc/raddb/modules/attr_filter
                      attr_filter attr_filter.accounting_response {
                      attrsfile = "/usr/local/etc/raddb/attrs.accounting_response"
                      key = "%{User-Name}"
                      relaxed = no
                      }
                      reading pairlist file /usr/local/etc/raddb/attrs.accounting_response
                      Module: Checking session {...} for more modules to load
                      Module: Linked to module rlm_radutmp
                      Module: Instantiating module "radutmp" from file /usr/local/etc/raddb/modules/radutmp
                      radutmp {
                      filename = "/usr/local/var/log/radius/radutmp"
                      username = "%{User-Name}"
                      case_sensitive = yes
                      check_with_nas = yes
                      perm = 384
                      callerid = yes
                      }
                      Module: Checking post-proxy {...} for more modules to load
                      Module: Checking post-auth {...} for more modules to load
                      Module: Instantiating module "attr_filter.access_reject" from file /usr/local/etc/raddb/modules/attr_filter
                      attr_filter attr_filter.access_reject {
                      attrsfile = "/usr/local/etc/raddb/attrs.access_reject"
                      key = "%{User-Name}"
                      relaxed = no
                      }
                      reading pairlist file /usr/local/etc/raddb/attrs.access_reject
                      } # modules
                      } # server
                      server inner-tunnel { # from file /usr/local/etc/raddb/sites-enabled/inner-tunnel
                      modules {
                      Module: Checking authenticate {...} for more modules to load
                      Module: Checking authorize {...} for more modules to load
                      Module: Checking session {...} for more modules to load
                      Module: Checking post-proxy {...} for more modules to load
                      Module: Checking post-auth {...} for more modules to load
                      } # modules
                      } # server
                      radiusd: #### Opening IP addresses and Ports ####
                      listen {
                      type = "auth"
                      ipaddr = *
                      port = 0
                      }
                      listen {
                      type = "acct"
                      ipaddr = *
                      port = 0
                      }
                      listen {
                      type = "control"
                      listen {
                      socket = "/usr/local/var/run/radiusd/radiusd.sock"
                      }
                      }
                      listen {
                      type = "auth"
                      ipaddr = 127.0.0.1
                      port = 18120
                      }
                      ... adding new socket proxy address * port 33019
                      Listening on authentication address * port 1812
                      Listening on accounting address * port 1813
                      Listening on command file /usr/local/var/run/radiusd/radiusd.sock
                      Listening on authentication address 127.0.0.1 port 18120 as server inner-tunnel
                      Listening on proxy address * port 1814
                      Ready to process requests.

                      et en lançant le test radtest, j'ai cela:

                      Sending Access-Request of id 200 to 127.0.0.1 port 1812
                      User-Name = "steve"
                      User-Password = "testing"
                      NAS-IP-Address = 192.168.11.30
                      NAS-Port = 1812
                      Message-Authenticator = 0x00000000000000000000000000000000
                      rad_recv: Access-Reject packet from host 127.0.0.1 port 1812, id=200, length=20

                      J'ai effectivement un ldap qui est joignable, mais j'ai voulu s'assurer qu'il marche en local d'abord!
                    4. ma commande radtest:
                      radtest steve testing localhost 1812 testing123
                    5. En gros tu as la même chose que moi quand je faisais mon radtest :/
                      Hélas, je n'ai pas la réponse.

                      Et on ne ce moque pas Jak ! xD
                      Bon j'avoue que c'était mérité... ^^

                      Leslie t'aurais pas le fichier snmp.conf pour bibi please ? *-*
                  4. eh ho!! Jak est toujours là? vais refaire l'installation pour voir?
                    1. Re Bonjour vous deux :)
                      Ah ça tourne autour du snmp.conf à ce que je vois :)
                      Mauvaise nouvelle pour toi Leslie, ton soucis ne viens pas de là.
                      J'ai fais quelques test et ai remarqué qu'en fonction de ta machine, tu ne peux pas utiliser ldap et file en même temps (en fait tu peux mais c'est peu stable). je pense donc que dans tous les cas tes utilisateurs dans USERS seront rejetés

                      Grâce à ton log de démarrage, j'ai constaté qu'il n'y avait pas de soucis (à première vue du moins). Ce qu'il me faut maintenant c'est les logs de ton FreeRADIUS au moment du radtest :) Tu peux si tu le souhaites et pour ne pas t'embêter, ouvrir un deuxième terminal et y taper #tail -f /var/log/freeradius/radius.log
                      Copie moi alors les informations sur cette fenêtre au moment du radtest s'il te plais :)

                      Usbeth,
                      Tu es sûr que ton radius ne démarre pas sans ce fichier "snmp.conf" ? moi il n'est tout simplemet pas présent et tout à l'air de fonctionner :-/
                      Le soucis n'est peut être pas ici ?

                      1. Si je commente toute la partie snmp j'obtiens l'erreur suivante:

                        freeradius -X
                        FreeRADIUS Version 2.1.12, for host x86_64-pc-linux-gnu, built on Sep 11 2012 at 22:27:05
                        Copyright (C) 1999-2009 The FreeRADIUS server project and contributors. 
                        There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A 
                        PARTICULAR PURPOSE. 
                        You may redistribute copies of FreeRADIUS under the terms of the 
                        GNU General Public License v2. 
                        Starting - reading configuration files ...
                        including configuration file /etc/freeradius/radiusd.conf
                        including configuration file /etc/freeradius/proxy.conf
                        including configuration file /etc/freeradius/clients.conf
                        including files in directory /etc/freeradius/modules/
                        including configuration file /etc/freeradius/modules/ldap
                        including configuration file /etc/freeradius/modules/detail.example.com
                        including configuration file /etc/freeradius/modules/exec
                        including configuration file /etc/freeradius/modules/pap
                        including configuration file /etc/freeradius/modules/cui
                        including configuration file /etc/freeradius/modules/dynamic_clients
                        including configuration file /etc/freeradius/modules/radutmp
                        including configuration file /etc/freeradius/modules/acct_unique
                        including configuration file /etc/freeradius/modules/ippool
                        WARNING: No such configuration item db_dir
                        /etc/freeradius/modules/ippool[47]: Reference "${db_dir}/db.ippool" not found
                        Errors reading /etc/freeradius/radiusd.conf
                      2. OK,
                        Si j'en crois les logs, tu utilises des ippools (groupes d'adresses IP) pour ta config ?
                        Apparemment tu utilises le module db.ippool qui requiere une Base de donnée a part pour gérer des groupes d'adresses IP et je ne pense pas que ce soit ce que tu veux si ?

                        Si ce n'est effectivement pas au programme, alors désactive simplement le module db.ippool dans le fichier /modules/ippool
                      3. Génial ! Ensuite j'ai eu une autre erreur que j'ai réglé ! Mais celle là je sais pas du tout.

                        freeradius -X
                        FreeRADIUS Version 2.1.12, for host x86_64-pc-linux-gnu, built on Sep 11 2012 at 22:27:05
                        Copyright (C) 1999-2009 The FreeRADIUS server project and contributors. 
                        There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A 
                        PARTICULAR PURPOSE. 
                        You may redistribute copies of FreeRADIUS under the terms of the 
                        GNU General Public License v2. 
                        Starting - reading configuration files ...
                        including configuration file /etc/freeradius/radiusd.conf
                        including configuration file /etc/freeradius/proxy.conf
                        including configuration file /etc/freeradius/clients.conf
                        including configuration file /etc/freeradius/snmp.conf
                        including files in directory /etc/freeradius/modules/
                        including configuration file /etc/freeradius/modules/ldap
                        including configuration file /etc/freeradius/modules/detail.example.com
                        including configuration file /etc/freeradius/modules/exec
                        including configuration file /etc/freeradius/modules/pap
                        including configuration file /etc/freeradius/modules/cui
                        including configuration file /etc/freeradius/modules/dynamic_clients
                        including configuration file /etc/freeradius/modules/radutmp
                        including configuration file /etc/freeradius/modules/acct_unique
                        including configuration file /etc/freeradius/modules/ippool
                        including configuration file /etc/freeradius/modules/detail
                        including configuration file /etc/freeradius/modules/pam
                        including configuration file /etc/freeradius/modules/opendirectory
                        including configuration file /etc/freeradius/modules/krb5
                        including configuration file /etc/freeradius/modules/passwd
                        including configuration file /etc/freeradius/modules/mschap
                        including configuration file /etc/freeradius/modules/logintime
                        including configuration file /etc/freeradius/modules/checkval
                        including configuration file /etc/freeradius/modules/unix
                        including configuration file /etc/freeradius/modules/perl
                        including configuration file /etc/freeradius/modules/wimax
                        including configuration file /etc/freeradius/modules/realm
                        including configuration file /etc/freeradius/modules/redis
                        including configuration file /etc/freeradius/modules/soh
                        including configuration file /etc/freeradius/modules/linelog
                        including configuration file /etc/freeradius/modules/policy
                        including configuration file /etc/freeradius/modules/attr_rewrite
                        including configuration file /etc/freeradius/modules/mac2ip
                        including configuration file /etc/freeradius/modules/digest
                        including configuration file /etc/freeradius/modules/rediswho
                        including configuration file /etc/freeradius/modules/preprocess
                        including configuration file /etc/freeradius/modules/sqlcounter_expire_on_login
                        including configuration file /etc/freeradius/modules/echo
                        including configuration file /etc/freeradius/modules/chap
                        including configuration file /etc/freeradius/modules/expiration
                        including configuration file /etc/freeradius/modules/inner-eap
                        including configuration file /etc/freeradius/modules/replicate
                        including configuration file /etc/freeradius/modules/expr
                        including configuration file /etc/freeradius/modules/counter
                        WARNING: No such configuration item db_dir
                        /etc/freeradius/modules/counter[72]: Reference "${db_dir}/db.daily" not found
                        Errors reading /etc/freeradius/radiusd.conf


                        Je connais pas ce fichier. Alors j'ai essayé plein de chose différentes mais rien ^^" Donc j'ai remis le fichier comme si je n'y avais jamais touché.
                      4. Bonjour bonjour,
                        C'est bizarre tu as une erreur dans ton module "counter" . Tu les collectionnes ou quoi ^^
                        Du coup de même que pour le module ippool, tu n'as pas besoin du module counter, à part si tu souhaite déloguer tes utilisateurs à un moment précis. (le module counter sert à stopper l'authentification et l'accounting (le suivi) d'une personne à la fin d'un temps donné). Si tu utilise un portail captif, il vaut mieux utiliser sont counter à lui, mais c'est pareil, il faut en avoir besoin.

                        Si tu n'en as pas besoin il ne faut pas utiliser le module counter. Mais par défaut, il n'apporte généralement pas de soucis.

                        Par défaut, ton module ne doit contenir que les lignes suivantes (en plus de beaucoup de commentaires):

                        counter daily {
                        filename = ${db_dir}/db.daily
                        #apparament toi cette ligne pose soucis
                        key = User-Name
                        count-attribute = Act-Session-Time
                        reset = daily
                        counter-name = Daily-Session-Time
                        check-name = Max-Daily-Session
                        reply-name = Session-Timeout
                        allowed-servicetype = Framed-User
                        cache-size = 5000
                      5. Yop !

                        Ouai j'avoue ! Je suis le pro des erreurs xD
                        J'aimerais bien avoir aucune erreurs mais bon ^^"

                        Je viens de commenter cette ligne et c'est bon. Seulement, pour changer, j'ai une autre erreur dans un fichier

                        including configuration file /etc/freeradius/sql/mysql/dialup.conf
                        Unable to open file "/etc/freeradius/sql/mysql/dialup.conf": No such file or directory
                        Errors reading /etc/freeradius/radiusd.conf

                        Je vais réussir a vaincre freeradius ! J'y suis presque je sens. Et je vais essayer de trouver cette erreur

                        Edit !

                        Trouvé ! :D
                        Vu que je ne me sers pas de sql, j'ai commenté une ligne incluant les fichier sql.
                        Et j'ai encore une autre erreur xDDDD
                        J'en ai marrreeeeeeeeeeeeee !
                        including configuration file /etc/freeradius/sites-enabled/default
                        main {
                        	user = "radiusd"
                        	group = "radiusd"
                        	allow_core_dumps = no
                        }
                        freeradius: Cannot get ID for group radiusd: Success

                        Let's do it !
                    • 1
                    • 2