Obtenu depuis : https://help.ubnt.com/hc/en-us/articles/360006455793-UniFi-Troubleshooting-RADIUS-Authentication
UniFi - Dépannage de l’authentification RADIUS
Vue d’ensemble
Dans cet article, les lecteurs devraient acquérir des compétences clés de dépannage pour déboguer l’authentification 802.1X sur les appareils UniFi.
| NOTES ET PRÉREQUIS : Avant de poursuivre avec cet article, veuillez vous assurer que vous êtes familier avec le contenu de la section (https://help.ubnt.com/hc/en-us/articles/360006455793-UniFi-Troubleshooting-RADIUS-Authentication#6) pour USG, USW et UAP. Cela vous aidera à comprendre ce que chaque section de configuration implique et nécessite. |
|---|
Table des matières
- (https://help.ubnt.com/hc/en-us/articles/360006455793-UniFi-Troubleshooting-RADIUS-Authentication#1)
- (https://help.ubnt.com/hc/en-us/articles/360006455793-UniFi-Troubleshooting-RADIUS-Authentication#2)
- (https://help.ubnt.com/hc/en-us/articles/360006455793-UniFi-Troubleshooting-RADIUS-Authentication#3)
- (https://help.ubnt.com/hc/en-us/articles/360006455793-UniFi-Troubleshooting-RADIUS-Authentication#4)
- (https://help.ubnt.com/hc/en-us/articles/360006455793-UniFi-Troubleshooting-RADIUS-Authentication#5)
- (https://help.ubnt.com/hc/en-us/articles/360006455793-UniFi-Troubleshooting-RADIUS-Authentication#6)
Diagramme réseau
Processus d’authentification
!(/images/posts/USW-RADIUS_766106e0.png)
Problèmes courants
Voici une courte liste des problèmes courants qui peuvent survenir avec l’authentification RADIUS.
L’appareil client n’est pas placé sur le bon VLAN
1. Vérifiez que le compte sur le serveur d’authentification a un identifiant VLAN spécifié.
2. Vérifiez que l’option “Enabled RADIUS assigned VLAN” est activée sur le profil RADIUS.
3. Vérifiez avec tcpdump sur l’appareil que le serveur envoie le bon VLAN dans le message d’acceptation RADIUS.
3.1. Utilisez la commande suivante dans une session SSH sur un appareil UniFi :
sudo tcpdump -npi eth0 port 1812 -vvv
| REMARQUE : Vous pouvez également attribuer des adresses IP au sous-réseau local (192.168.1.0/24 dans ce cas). |
|---|
Un attribut nommé “vlan-id” contiendra le VLAN spécifié si le serveur RADIUS l’envoie correctement.
4. Vérifiez que “use_tunneled-reply” est activé sur un serveur d’authentification basé sur FreeRADIUS.
Exemple de configuration FreeRADIUS EAP (/etc/freeradius/3.0/mods-enabled/eap) :
use_tunneled_reply = yes
| REMARQUE : use_tunneled_reply est activé par défaut dans les paramètres de l’USG. |
|---|
L’appareil client a un délai d’attente d’authentification
1. Vérifiez avec tcpdump sur l’appareil UniFi si le serveur RADIUS répond à la requête RADIUS.
1.1. Utilisez la commande suivante dans une session SSH sur un appareil UniFi :
sudo tcpdump -npi eth0 port 1812
La transaction décrite dans le diagramme réseau ci-dessus devrait avoir lieu. Si le radius-accept est retourné, passez aux étapes ci-dessous.
Dépannage de 802.1X filaire sur l’USW
Ce processus permettra à un administrateur UniFi de voir l’interaction paquet par paquet entre l’authentificateur (switch) et le serveur RADIUS.
Authentification
1. Utilisez la commande suivante dans le terminal de débogage ou le client SSH :
sudo tcpdump -npi eth0 port 1812 -vv
2. Branchez un appareil client compatible 802.1X.
3. Observez la sortie.
- Si le processus RADIUS se termine par un message d’acceptation du serveur RADIUS, le client sera autorisé à envoyer du trafic sur le réseau.
- Si les messages RADIUS expirent, vérifiez la connectivité entre l’USW et le serveur RADIUS. Vérifiez qu’aucun pare-feu ne bloque le port 1812, ainsi que la connectivité de base entre l’USW et le serveur RADIUS.
- Si le processus RADIUS se termine par un message de rejet du serveur RADIUS, assurez-vous que l’appareil client utilise les bons identifiants.
Comptabilisation
La comptabilisation n’a lieu qu’après une authentification réussie.
| ATTENTION : Lorsque l’USG est utilisé comme serveur RADIUS, la comptabilisation n’est pas activée. |
|---|
sudo tcpdump -npi eth0 port 1813 -vv
1. Utilisez la commande suivante dans le terminal de débogage ou le client SSH :
Commandes utiles depuis le terminal de débogage ou le client SSH
| ATTENTION : Pour saisir ces commandes, vous devez d’abord taper telnet localhost suivi de enable dans le CLI. Exemple ci-dessous. |
|---|
USW-24P-US.v4.0.14# telnet localhost
Entering character mode
Escape character is '^]'.
Warning!
The changes may break controller settings and only be effective until reboot.
(UBNT) >enable
(UBNT) #
Commandes clés
show radius
Cliquez ici pour afficher les définitions de sortie
show radius servers
Cliquez ici pour afficher les définitions de sortie
show radius statistics
Cliquez ici pour afficher les définitions de sortie
**show dot1x authentication-history <slot/port number> **
Cliquez ici pour afficher les définitions de sortie
show dot1x clients {slot/port | all}
Cliquez ici pour afficher les définitions de sortie
Dépannage de 802.1X sans fil sur l’UAP
Authentification
1. Utilisez la commande suivante dans le terminal de débogage ou le client SSH :
sudo tcpdump -npi eth0 port 1812 -vv
2. Connectez un appareil client compatible 802.1X.
3. Observez la sortie.
- Si le processus RADIUS se termine par un message d’acceptation du serveur RADIUS, le client sera autorisé à envoyer du trafic sur le réseau.
- Si les messages RADIUS expirent, vérifiez la connectivité entre l’UAP et le serveur RADIUS. Vérifiez qu’aucun pare-feu ne bloque le port 1812, ainsi que la connectivité de base entre l’UAP et le serveur RADIUS.
- Si le processus RADIUS se termine par un message de rejet du serveur RADIUS, assurez-vous que l’appareil client utilise les bons identifiants.
Comptabilisation
La comptabilisation n’a lieu qu’après une authentification réussie.
| ATTENTION : Lorsque l’USG est utilisé comme serveur RADIUS, la comptabilisation n’est pas activée. |
|---|
1. Utilisez la commande suivante dans le terminal de débogage ou le client SSH :
sudo tcpdump -npi eth0 port 1813 -vv
Journalisation
Configurer le niveau de journalisation de l’appareil en mode débogage peut aider à diagnostiquer les problèmes avec l’UAP au-delà des captures de paquets. Naviguez vers Settings > Maintenance > Log Level si vous souhaitez modifier ce paramètre.
Dépannage de l’authentification RADIUS sur l’USG
| CLI : Accédez à l’interface en ligne de commande (CLI). Vous pouvez le faire en utilisant un programme client SSH. |
|---|
Cette section couvrira les méthodes de dépannage de l’authentification RADIUS sur le UniFi Security Gateway.
USG comme serveur RADIUS
Consultation des journaux FreeRADIUS
sudo cat /var/log/freeradius/radius.log
Cette commande affichera les journaux depuis le démarrage du processus, les tentatives d’authentification ainsi que les échecs, et tout problème associé au service.
Exécution en premier plan
Cette commande en SSH démarrera FreeRADIUS en premier plan sur l’USG. Elle permettra de visualiser les événements affichés dans la console en temps réel.
REMARQUE : La commande radtest utilisée ci-dessous ne fonctionnera pas avec mschapv2. |
|---|
**#Usage**
sudo service freeradius restart
sudo service freeradius stop
sudo freeradius -fX
#For less verbosity use -fxx instead of -fX
sudo freeradius -fxx
**#to stop freeradius running in the foreground and return to normal operation.**
ctrl+c
sudo service freeradius start
**#Sample output using radtest**
rad_recv: **Access-Request** packet from host 172.20.1.1 port 57380, id=57, length=78
User-Name = "ubnttest"
User-Password = "test1234"
NAS-IP-Address = 172.20.1.1
NAS-Port = 0
Message-Authenticator = 0x8af0fec45c575d375c1c6ba366253feb
# Executing section authorize from file /etc/freeradius/sites-enabled/default
+- entering group authorize {...}
++ returns ok
++ returns noop
++ returns noop
++ returns noop
No '@' in User-Name = "ubnttest", looking up realm NULL
No such realm "NULL"
++ returns noop
No EAP-Message, not doing EAP
++ returns noop
users: Matched entry DEFAULT at line 1
users: Matched entry ubnttest at line 5
++ returns ok
++ returns noop
++ returns noop
++ returns updated
Found Auth-Type = PAP
# Executing group from file /etc/freeradius/sites-enabled/default
+- entering group PAP {...}
login attempt with password "test1234"
Using clear text password "test1234"
User authenticated successfully
++ returns ok
Login OK: (from client client-5c2650e21876930ceb43007e port 0)
# Executing section post-auth from file /etc/freeradius/sites-enabled/default
+- entering group post-auth {...}
++ returns noop
Sending **Access-Accept** of id 57 to 172.20.1.1 port 57380
Acct-Interim-Interval = 3600
Tunnel-Type:0 = VLAN
Tunnel-Medium-Type:0 = IEEE-802
Tunnel-Private-Group-Id:0 = "5"
Finished request 0.
Going to the next request
Waking up in 4.9 seconds.
Cleaning up request 0 ID 57 with timestamp +5
Ready to process requests.
USG comme authentificateur vers un serveur d’authentification tiers
Utilisez “radtest” pour envoyer un message d’authentification de test à un serveur RADIUS tiers.
**#Options**
sudo radtest -h
**#Usage (brackets denote optional parameters)**
sudo radtest username password radius-server: NAS-port secret
**#Example command (192.168.1.2 as auth. server)**
sudo radtest ubnttest testpw12! 192.168.1.2 0 thisisasecret
**#Sample Output**
>sudo radtest ubnttest test1234 172.20.1.1 0 JustW0rkingH3r3$
Sending Access-Request of id 100 to 172.20.1.1 port 1812
User-Name = "ubnttest"
User-Password = "test1234"
NAS-IP-Address = 172.20.1.1
NAS-Port = 0
Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Access-Accept packet from host 172.20.1.1 port 1812, id=100, length=41
Acct-Interim-Interval = 3600
Tunnel-Type:0 = VLAN
Tunnel-Medium-Type:0 = IEEE-802
Tunnel-Private-Group-Id:0 = "5"
Si une réponse est reçue du serveur d’authentification, cela prouve que l’authentification fonctionne correctement. Si aucune réponse n’est reçue, assurez-vous que le serveur d’authentification est en ligne et peut traiter les messages de demande d’accès depuis l’IP de l’authentificateur.