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


  1. (https://help.ubnt.com/hc/en-us/articles/360006455793-UniFi-Troubleshooting-RADIUS-Authentication#1)
  2. (https://help.ubnt.com/hc/en-us/articles/360006455793-UniFi-Troubleshooting-RADIUS-Authentication#2)
  3. (https://help.ubnt.com/hc/en-us/articles/360006455793-UniFi-Troubleshooting-RADIUS-Authentication#3)
    1. (https://help.ubnt.com/hc/en-us/articles/360006455793-UniFi-Troubleshooting-RADIUS-Authentication#3.1)
  4. (https://help.ubnt.com/hc/en-us/articles/360006455793-UniFi-Troubleshooting-RADIUS-Authentication#4)
  5. (https://help.ubnt.com/hc/en-us/articles/360006455793-UniFi-Troubleshooting-RADIUS-Authentication#5)
  6. (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.

  1. 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.
  2. 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.
  3. 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.

  1. 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.
  2. 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.
  3. 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.