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
    20
    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
      0
  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
    4
    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
      0
    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"
      0
    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)
      0
    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
      0
    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é ^^"
      0
  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
    2
    1. 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?
      0
      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
        0
        1. Salut,

          Alors ? Le résultat ?
          0
        2. Ah eh bien tant mieux alors :-)
          0
      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
        0
        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
          0
          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
            0
            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
              0
              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?
                0
                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
                  0
                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 :)
                  0
              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
                0
                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
                  0
                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
                  0
                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
                  0
                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 !
                  0
                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 ^^)
                  0
              3. 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.
                0
                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
                  0
                  1. Il ne l'a pas trouvé car tu n'a pas de LDAP ;)
                    Pas de soucis je te tuto tout ça en dessous :-)
                    0
                2. 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.
                  0
                  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!!
                    0
                    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
                      0
                  2. as tu installé slapd ? (serveur ldap)
                    0
                    1. 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 ^^"
                      0
                      1. le fichier "directory "? de quel fichier s'agit -t il ?
                        0
                      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
                        0
                      3. Me suis trompé ! Le nom du fichier c'est /etc/freeradius/dictionary !!
                        0
                      4. Ah en effet, s'il te manque le fichier dictionary ça va planter :)
                        0
                      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 ^^
                        0
                    2. 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.
                      0
                      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 ! :)
                        0
                      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
                        0
                      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!
                        0
                      4. ma commande radtest:
                        radtest steve testing localhost 1812 testing123
                        0
                      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 ? *-*
                        0
                    3. eh ho!! Jak est toujours là? vais refaire l'installation pour voir?
                      0
                      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 ?

                        0
                        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
                          0
                        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
                          0
                        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é.
                          0
                        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
                          0
                        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 !
                          0
                      • 1
                      • 2