J'ai un serveur FreeRADIUS (3.0.15) pour l'authentification WPA (PEAP + MSCHAPv2) et tout fonctionne dès le départ même si cela semble nécessiter une vie entière d'étude dans un monastère clos pour maîtriser chaque aspect de la configuration.
J'ai mes utilisateurs dans le fichier users
et je souhaite le conserver ainsi (par rapport à sql ou ldap) car j'apprécie la facilité de les éditer avec un simple éditeur de texte.
Ce que j'essaie de réaliser :
J'ai deux SSID (staff
et guests
) et je souhaite séparer mes utilisateurs en deux groupes de sorte qu'un utilisateur invité soit rejeté s'il essaie de s'authentifier sur le SSID staff
.
Ce que j'ai jusqu'à présent :
Dans mon fichier users
:
DEFAULT
MyGroup := 'guests',
Fall-Through := Yes
# Utilisateurs invités
guest1 Cleartext-Password := 'mot de passe 1'
# Fin des utilisateurs invités
DEFAULT
MyGroup := 'staff',
Fall-Through := Yes
# Utilisateurs du staff
staff1 Cleartext-Password := 'kdjsfhksf'
# Fin des utilisateurs du staff
J'espère que, après l'analyse du fichier, l'attribut reply:MyGroup
aura soit staff
soit guest
en fonction de l'utilisateur ayant correspondu à la demande.
Mon fichier dictionary
contient ceci :
ATTRIBUTE MyGroup 3000 string
Et mon site default
a ceci dans le groupe authorize
, juste après le module files
. Le rewrite_called_station_id
crée un nouvel attribut Called-Station-SSID
, que j'utilise avec l'attribut MyGroup
créé par le module files
pour essayer de filtrer les utilisateurs :
# Obtenir le SSID de Called-Station-Id
rewrite_called_station_id
# Vérifier si un invité se connecte au SSID staff et rejeter le cas échéant
if (&MyGroup == 'guests' && &Called-Station-SSID == 'STAFF') {
reject
}
J'ai également essayé ceci :
if (&reply:MyGroup == 'guests' && &Called-Station-SSID == 'STAFF') {
Mais dans tous les cas, j'obtiens l'erreur suivante :
if (&reply:MyGroup == 'guests' && &Called-Station-SSID == 'STAFF') {
ERREUR: Échec de la récupération des valeurs nécessaires pour évaluer la condition
À ce stade, je n'ai aucune idée de ce qui se passe et de comment résoudre le problème.