<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>http://www.minetti.org/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Linux%3AConfiguration_de_FreeRADIUS</id>
		<title>Linux:Configuration de FreeRADIUS - Historique des versions</title>
		<link rel="self" type="application/atom+xml" href="http://www.minetti.org/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Linux%3AConfiguration_de_FreeRADIUS"/>
		<link rel="alternate" type="text/html" href="http://www.minetti.org/mediawiki/index.php?title=Linux:Configuration_de_FreeRADIUS&amp;action=history"/>
		<updated>2026-05-04T13:01:36Z</updated>
		<subtitle>Historique pour cette page sur le wiki</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>http://www.minetti.org/mediawiki/index.php?title=Linux:Configuration_de_FreeRADIUS&amp;diff=131&amp;oldid=prev</id>
		<title>Jp : Page créée avec « == But == Certains routeurs ont besoin d'une base d'utilisateurs pour, par exemple, gérer les connexions VPN. La plupart d'entre-eux proposent: * une base d'utilisateurs... »</title>
		<link rel="alternate" type="text/html" href="http://www.minetti.org/mediawiki/index.php?title=Linux:Configuration_de_FreeRADIUS&amp;diff=131&amp;oldid=prev"/>
				<updated>2016-04-07T18:43:10Z</updated>
		
		<summary type="html">&lt;p&gt;Page créée avec « == But == Certains routeurs ont besoin d&amp;#039;une base d&amp;#039;utilisateurs pour, par exemple, gérer les connexions VPN. La plupart d&amp;#039;entre-eux proposent: * une base d&amp;#039;utilisateurs... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== But ==&lt;br /&gt;
Certains routeurs ont besoin d'une base d'utilisateurs pour, par exemple, gérer les connexions VPN. La plupart d'entre-eux proposent:&lt;br /&gt;
* une base d'utilisateurs interne,&lt;br /&gt;
* ou un accès à un serveur RADIUS.&lt;br /&gt;
L'accès à un serveur RADIUS permet au routeur de se connecter à une base d'utilisateurs externe installé sur un serveur du réseau. Là où ça devient très intéressant c'est que le serveur RADIUS est capable de passer la main au [[Linux:Configuration d'OpenLDAP|serveur LDAP]].&lt;br /&gt;
&lt;br /&gt;
Ainsi le serveur RADIUS nous permettrait d'utiliser les comptes d'utilisateurs du [[Linux:Configuration d'OpenLDAP|LDAP]] pour se connecter au VPN.&lt;br /&gt;
&lt;br /&gt;
== Étape préliminaire ==&lt;br /&gt;
Avant de commencer, il est impératif:&lt;br /&gt;
* de disposer d'un [[Linux:Configuration d'OpenLDAP|serveur LDAP]],&lt;br /&gt;
* et d'avoir procédé à [[Linux:Installation d'OpenSSL|l'installation d'OpenSSL]].&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Taper la commande suivante pour installer [http://freeradius.org/ FreeRADIUS] sur une CentOS/RedHat/Fedora:&lt;br /&gt;
 yum install freeradius freeradius-utils freeradius-ldap&lt;br /&gt;
&lt;br /&gt;
== Configuration au niveau du serveur LDAP ==&lt;br /&gt;
=== Ajout du schéma RADIUS ===&lt;br /&gt;
Les utilisateurs qui seront autorisé à se connecter via le serveur RADIUS devront avoir un compte héritant de l'objet '''radiusprofile''' avec la propriété '''dialupAccess''' positionné à '''YES'''.&lt;br /&gt;
* Récupérer le schéma en tapant la commande suivante:&lt;br /&gt;
 cp /usr/share/doc/freeradius-2.1.12/examples/openldap.schema /etc/openldap/schema/radius.schema&lt;br /&gt;
* Ajouter la ligne suivante dans le fichier '''/etc/openldap/schema_convert.conf''' pour ajouter le schéma RADIUS:&lt;br /&gt;
 include /etc/openldap/schema/radius.schema&lt;br /&gt;
* Déterminer le numéro de ligne qui vient d'être ajoutée dans le fichier en commençant par 0: dans notre cas se sera 13.&lt;br /&gt;
* Exécuter les commandes suivantes pour convertir notre fichier '''.schema''' en '''.ldif''':&lt;br /&gt;
 mkdir schema.tmp&lt;br /&gt;
 slapcat -f /etc/openldap/schema_convert.conf -F schema.tmp -n0 -s &amp;quot;cn={13}radius,cn=schema,cn=config&amp;quot; &amp;gt; cn=radius.ldif&lt;br /&gt;
* Editer le fichier '''cn=radius.ldif''':&lt;br /&gt;
 vi cn\=radius.ldif&lt;br /&gt;
* enlever le {13} présent sur les 3 premières lignes pour qu'elles ressemblent à ceci:&lt;br /&gt;
 dn: cn=radius&lt;br /&gt;
 objectClass: olcSchemaConfig&lt;br /&gt;
 cn: radius&lt;br /&gt;
* supprimer les 7 dernières lignes:&lt;br /&gt;
 structuralObjectClass: olcSchemaConfig&lt;br /&gt;
 entryUUID: 4664ceba-6422-1031-9981-b70fb00c9654&lt;br /&gt;
 creatorsName: cn=config&lt;br /&gt;
 createTimestamp: 20120717061330Z&lt;br /&gt;
 entryCSN: 20120717061330.638966Z#000000#000#000000&lt;br /&gt;
 modifiersName: cn=config&lt;br /&gt;
 modifyTimestamp: 20120717061330Z&lt;br /&gt;
* et taper la commande suivante pour importer le schéma:&lt;br /&gt;
 ldapadd -Y EXTERNAL -H ldapi:/// -f cn\=radius.ldif&lt;br /&gt;
&lt;br /&gt;
 SASL/EXTERNAL authentication started&lt;br /&gt;
 SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth&lt;br /&gt;
 SASL SSF: 0&lt;br /&gt;
 adding new entry &amp;quot;cn=radius,cn=schema,cn=config&amp;quot;ldapadd -Y EXTERNAL -H ldapi:/// -f cn\=radius.ldif&lt;br /&gt;
&lt;br /&gt;
=== Création du compte pour l'accès au LDAP ===&lt;br /&gt;
Créer le compte que le serveur RADIUS va utiliser pour accéder au [[Linux:Configuration d'OpenLDAP|LDAP]]:&lt;br /&gt;
* pour cela, commencer par créer le fichier LDIF:&lt;br /&gt;
 dn: cn=radius,ou=sysaccount,ou=localnet,dc=minetti,dc=org&lt;br /&gt;
 objectClass: organizationalRole&lt;br /&gt;
 objectClass: simpleSecurityObject&lt;br /&gt;
 cn: radius&lt;br /&gt;
 description: Compte serveur RADIUS&lt;br /&gt;
 userPassword: ....&lt;br /&gt;
* '''REMARQUE:''' Ne jamais mettre le mot de passe en clair (userPassword). Utiliser la commande suivante pour chiffrer le mot de passe:&lt;br /&gt;
 slappasswd&lt;br /&gt;
* Taper la commande suivante pour importer le nouveau compte dans le [[Linux:Configuration d'OpenLDAP|LDAP]]:&lt;br /&gt;
 ldapadd -x -v -ZZ -D &amp;quot;cn=Manager,dc=minetti,dc=org&amp;quot; -W -f radius.ldif&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
* Pour terminer vérifier l'accès en tapant la commande suivante:&lt;br /&gt;
 ldapsearch -vx -ZZ -D &amp;quot;cn=radius,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; -W &amp;quot;(objectClass=*)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Configuration de FreeRADIUS ==&lt;br /&gt;
* Modifier le fichier '''/etc/raddb/modules/ldap''' pour qu'il ressemble à ceci:&lt;br /&gt;
 ldap {&lt;br /&gt;
         server = &amp;quot;ldap.srv.minetti.org&amp;quot;&lt;br /&gt;
         identity = &amp;quot;cn=radius,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
         password = ......&lt;br /&gt;
         basedn = &amp;quot;dc=minetti,dc=org&amp;quot;&lt;br /&gt;
         filter = &amp;quot;(&amp;amp;(uid=%{%{Stripped-User-Name}:-%{User-Name}})(!(loginShell=/bin/false)))&amp;quot;&lt;br /&gt;
         base_filter = &amp;quot;(objectclass=radiusprofile)&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
         ldap_connections_number = 5&lt;br /&gt;
         timeout = 4&lt;br /&gt;
         timelimit = 3&lt;br /&gt;
         net_timeout = 1&lt;br /&gt;
 &lt;br /&gt;
         tls {&lt;br /&gt;
                 start_tls = yes&lt;br /&gt;
                 cacertdir       = /etc/openldap/cacerts&lt;br /&gt;
                 certfile        = /etc/pki/tls/certs/amon.pem&lt;br /&gt;
                 keyfile         = /etc/pki/tls/private/amon.key&lt;br /&gt;
                 require_cert    = &amp;quot;demand&amp;quot;&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         dictionary_mapping = ${confdir}/ldap.attrmap&lt;br /&gt;
         edir_account_policy_check = no&lt;br /&gt;
 &lt;br /&gt;
         keepalive {&lt;br /&gt;
                 idle = 60&lt;br /&gt;
                 probes = 3&lt;br /&gt;
                 interval = 3&lt;br /&gt;
         }&lt;br /&gt;
 }&lt;br /&gt;
* Modifier le fichier '''/etc/raddb/sites-enabled/default''' et dé-commenter la ligne '''ldap''' dans la rubrique '''authorize'''.&lt;br /&gt;
* Lancer le serveur RADIUS en mode debug:&lt;br /&gt;
 radiusd -X -xxx&lt;br /&gt;
* Dans un autre shell, taper la commande suivante pour tester l'authentification:&lt;br /&gt;
 radtest user password localhost 0 testing123&lt;br /&gt;
&lt;br /&gt;
 Sending Access-Request of id 186 to 127.0.0.1 port 1812&lt;br /&gt;
 	User-Name = &amp;quot;user&amp;quot;&lt;br /&gt;
 	User-Password = &amp;quot;password&amp;quot;&lt;br /&gt;
 	NAS-IP-Address = 192.168.1.106&lt;br /&gt;
 	NAS-Port = 0&lt;br /&gt;
 	Message-Authenticator = 0x00000000000000000000000000000000&lt;br /&gt;
 rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=186, length=20&lt;br /&gt;
* Ajouter dans le fichier '''/etc/raddb/clients.conf''', les lignes suivantes:&lt;br /&gt;
 client 192.168.0.0/24 {&lt;br /&gt;
         secret          = MySecretPhrase&lt;br /&gt;
         shortname       = MINETTI-LAN&lt;br /&gt;
 }&lt;br /&gt;
* Pour finir, ne pas oublier de faire en sorte que le démon s'exécute automatiquement avec la commande suivante:&lt;br /&gt;
 ntsysv&lt;br /&gt;
* et ouvrir les ports UDP 1812 et 1813 dans [[Linux:Configuration réseau pour une CentOS/RedHat/Fedora#Fichiers_configuration_firewall|iptables]].&lt;br /&gt;
&lt;br /&gt;
== Paramétrage des utilisateurs ==&lt;br /&gt;
Pour autoriser l'authentification par le serveur RADIUS, chaque utilisateur devra avoir les 2 champs suivants:&lt;br /&gt;
 ...&lt;br /&gt;
 objectClass: radiusprofile&lt;br /&gt;
 ...&lt;br /&gt;
 dialupAccess: yes&lt;br /&gt;
 ...&lt;/div&gt;</summary>
		<author><name>Jp</name></author>	</entry>

	</feed>