Contenu

Introduction

Définition des messages CoA RADIUS

RADIUS DM

Attributs pour l'identification de session

Configuration des DM RADIUS

Exemple de configuration

Exemples de scénarios d'échec

Aucun message DM reçu du côté ASR 5000

Le port UDP 3379 est équipé d'un socket prêt sans messages DM

Demande de comptabilité

Demande de déconnexion

Tous les attributs correspondent, mais l'ASR 5000 envoie DM NAK avec le message d'erreur : 401 - Attribut non pris en charge

Le système a configuré « no-nas-identification-check » dans la ligne « radius change-permit-nas-ip », « NAS-Identification-Mismatch » Erreur toujours retournée

Introduction

Ce document décrit les messages de déconnexion RADIUS (DM).

Définition des messages CoA RADIUS

Un message CoA (Change of Authorization) est utilisé afin de modifier les attributs et les filtres de données associés à une session utilisateur. Le système prend en charge les messages CoA du serveur AAA (Authentication, Authorization, and Accounting) pour modifier les filtres de données associés à une session d'abonné.

Note: Les filtres des attributs filter-id (s'ils figurent dans la demande) doivent être configurés dans l'ASR 5000 pour l'application au trafic utilisateur. Il s'agit de la forme des listes de contrôle d'accès (ACL) et est configuré dans l'ASR 5000 avec les commandes ip access-list.

Le message de demande CoA doit contenir des attributs permettant d'identifier la session utilisateur ; et les filtres de données doivent être appliqués à la session utilisateur. L'attribut filter-id (id d'attribut 11) contient les noms des filtres. Si l'ASR 5000 exécute correctement la requête CoA, un ACK CoA est renvoyé au serveur RADIUS et les nouveaux attributs et filtres de données sont appliqués à la session utilisateur. Sinon, une CoA NAK est envoyée avec la raison appropriée en tant qu'attribut de code d'erreur sans apporter de modifications à la session utilisateur.

RADIUS DM

Le message DM est utilisé afin de déconnecter les sessions utilisateur dans l'ASR 5000 d'un serveur RADIUS. Le message de demande DM doit contenir les attributs nécessaires pour identifier la session utilisateur. Si le système déconnecte correctement la session utilisateur, DM ACK est renvoyé au serveur RADIUS. Sinon, DM-NAK est envoyé avec des raisons d'erreur appropriées.

Comme mentionné précédemment, il est possible que le NAS ne puisse pas honorer les messages de demande de déconnexion ou de demande de CoA pour une raison quelconque. L'attribut Cause d'erreur fournit plus de détails sur la cause du problème. Il PEUT être inclus dans les messages Disconnect-ACK, Disconnect-NAK et CoA-NAK.

Le champ Valeur est de quatre octets, qui contient un entier qui spécifie la cause de l'erreur.

- Les valeurs 0-199 et 300-399 sont réservées.

- Les valeurs 200-299 représentent une réussite, de sorte que ces valeurs ne peuvent être envoyées que dans le message Disconnect-ACK ou CoA-ACK et NE DOIVENT PAS être envoyées dans un message Disconnect-NAK ou CoA-NAK.

- Les valeurs 400-499 représentent des erreurs fatales commises par le serveur RADIUS, de sorte qu'elles PEUVENT être envoyées dans les messages CoA-NAK ou Disconnect-NAK et NE DOIVENT PAS être envoyées dans les messages CoA-ACK ou Disconnect-ACK.

- Les valeurs 500-599 représentent des erreurs irrécupérables qui se produisent sur un proxy NAS ou RADIUS, de sorte qu'elles PEUVENT être envoyées dans les messages CoA-NAK et Disconnect-NAK, et NE DOIVENT PAS être envoyées dans les messages CoA-ACK ou Disconnect-ACK. Les valeurs de cause d'erreur DOIVENT être consignées par le serveur RADIUS.

Les valeurs de code d'erreur (exprimées en notation décimale) comprennent :

#     Value

---   -----

201   Residual Session Context Removed>

202   Invalid EAP Packet (Ignored)

401   Unsupported Attribute

402   Missing Attribute

403   NAS Identification Mismatch

404   Invalid Request

405   Unsupported Service

406   Unsupported Extension

501   Administratively Prohibited

502   Request Not Routable (Proxy)

503   Session Context Not Found

504   Session Context Not Removable

505   Other Proxy Processing Error

506   Resources Unavailable

507   Request Initiated

Attributs pour l'identification de session

Pour l'identification de l'ASR 5000, l'une des méthodes suivantes peut être utilisée :

- Adresse IP NAS : L'adresse IP NAS, si elle figure dans la demande COA/DM, doit correspondre à l'adresse IP NAS ASR 5000.

- Identificateur NAS : Si cet attribut est présent, sa valeur doit correspondre à l'identificateur nas généré pour la session utilisateur.

Cet attribut est obligatoire pour l'identification de session, si l'ASR 5000 est configuré avec l'identificateur NAS.

Pour l'identification de la session utilisateur, l'une des méthodes suivantes est utilisée :

- Acct-Session-ID : Si cet attribut est présent, sa valeur doit correspondre à l'ID de session d'acct pour la session utilisateur.

- Adresse IP tramée : Si cet attribut est présent, ses valeurs doivent correspondre à l'adresse IP tramée de la session.

- username (nom d’utilisateur) : Si cet attribut est présent, ses valeurs doivent correspondre au nom d'utilisateur de la session.

- ID de la station appelante : Il s'agit de l'identité internationale de l'abonné mobile (IMSI) de l'utilisateur.

Configuration des DM RADIUS

La configuration d'un multiplexeur RADIUS est assez facile. Toutes les lignes doivent être configurées dans le contexte de destination (celui avec la configuration RADIUS).

radius change-permit-nas-ip adresse_ip [ clé chiffrée ] valeur [port port ]

[ eventtimestamp-window fenêtre ] [ no-nas-identification-check ]

[ no-inverse-path-forward-check][ entrée mpls-label valeur_étiquette_dans | sortie valeur_étiquette_sortie1

[ valeur_étiquette_sortie2 ]

Note: Le paramètre radius change-permit-nas-ip doit être l'adresse d'interface AAA de votre contexte local. Cette commande CLI est parfois source de confusion.

Exemple de configuration

radius change-authorize-nas-ip 192.168.88.40 encrypted key <key value>

no-reverse-path-forward-check

no-nas-identification-check

Exemples de scénarios d'échec

Aucun message DM reçu du côté ASR 5000

Il est possible que le socket ne soit pas prêt pour le port UDP 3799. (Conformément à la RFC 3756, le paquet RADIUS Disconnect-Request est envoyé au port UDP 3799).

Ce comportement peut être simplifié. Le processus qui gère toutes les requêtes CoA est aamgr instance 385, qui est celle de la carte SMC/MIO active. Cette commande CLI doit être exécutée dans le contexte de destination.

#cli test-commands password <xx> #show radius info radius group all instance 385

Ce résultat ressemble à ceci :

# show radius info radius group all instance 385 AAAMGR instance 385:

cb-list-en: 3 AAA Group: <>

---------------------------------------------

socket number: 19

socket state: ready

local ip address: 10.176.81.215

local udp port: 50954

flow id: 0

use med interface: no

VRF context ID: 66

Dans cet exemple, il n'y a pas de port 3799 et c'est la raison du comportement signalé. Si vous voyez la même chose dans votre cas, la solution consiste à supprimer et à réajouter la configuration CoA afin de recréer le socket d'écoute. En outre, vous pouvez essayer de tuer l'instance aamgr 385 si la première solution n'aide pas.

Après les actions décrites, vous devriez voir cette sortie :

# show radius info radius group all instance 385 AAAMGR instance 385:

cb-list-en: 3 AAA Group: <>

--------------------------------------------->

socket number: 19>

socket state: ready

local ip address: 10.176.81.215

local udp port: 50954

flow id: 0

use med interface: no

VRF context ID: 66

socket number: 21   <---------------------

socket state: ready

local ip address: 10.176.81.215

local udp port: 3799 <--------------------

flow id: 0

use med interface: no

et le socket doit être visible depuis le shell de débogage sur le contexte/VR approprié :

bash-2.05b# netstat -lun | grep 3799

udp 0 0 10.176.81.215:3799 0.0.0.0:*

Le port UDP 3379 est équipé d'un socket prêt sans messages DM

Le port UDP 3379 est équipé d'un socket prêt, mais vous ne voyez toujours pas les messages DM. Ceci est probablement dû à une configuration incorrecte de radius change-permit-nas-ip. Les valeurs d'attribut qui sont entrées dans le message de demande DM ne correspondent pas à celles qui ont été envoyées dans une demande Accounting vers RADIUS.

Demande de comptabilité

Thursday August 06 2015

<<<<OUTBOUND

Code: 4 (Accounting-Request)

Attribute Type: 44 (Acct-Session-Id)

Length: 18

Value: 42 43 37 31 44 46 32 36 BC71DF26

30 36 30 33 41 32 42 46 0603A2BF

Attribute Type: 31 (Calling-Station-Id)

Length: 14

Value: 39 39 38 39 33 31 37 32 99893172

30 39 31 31             0911

Attribute Type: 4 (NAS-IP-Address)

Length: 6

Value: C0 A8 58 E1             ..X.

(192.168.88.225)

Attribute Type: 8 (Framed-IP-Address)

Length: 6

Value: 0A 55 12 21             .U.!

(10.85.18.33)

Demande de déconnexion

Radius Protocol

Code: Disconnect-Request (40)

Packet identifier: 0x2 (2)

Length: 71

Authenticator: 4930a228f13da294550239f5187b08b9

Attribute Value Pairs

AVP: l=6 t=NAS-IP-Address(4): 192.168.88.225

NAS-IP-Address: 192.168.88.225 (192.168.88.225)

AVP: l=6 t=Framed-IP-Address(8): 10.85.18.33

Framed-IP-Address: 10.85.18.33 (10.85.18.33)

AVP: l=14 t=Calling-Station-Id(31): 998931720911

Calling-Station-Id: 998931720911

AVP: l=18 t=Acct-Session-Id(44): BC71DF260603A2BF

Acct-Session-Id: BC71DF260603A200

Dans cet exemple, la valeur de Acct-Session-Id qui vient à l'ASR 5000 est différente de celle envoyée vers RADIUS et c'est la raison du problème. Ce problème peut être résolu par des modifications appropriées du côté RADIUS.

L'ID de session d'accès de la session active peut être vérifié à l'aide de la commande show abonnés ggsn-only aaa-configuration active imsi <>.

[local]# show subscribers ggsn-only aaa-configuration active imsi 434051801170727

Username: 998931720911@mihc1             Status: Online/Active

Access Type: ggsn-pdp-type-ipv4        Network Type: IP

Access Tech: WCDMA UTRAN               Access Network Peer ID: n/a

callid: 057638b8                       imsi: 434051801170727

3GPP2 Carrier ID: n/a

3GPP2 ESN: n/a

RADIUS Auth Server: 192.168.88.40  RADIUS Acct Server: n/a

NAS IP Address: 192.168.88.225

Acct-session-id: BC71DF260603A2BF

Tous les attributs correspondent, mais l'ASR 5000 envoie DM NAK avec le message d'erreur : 401 - Attribut non pris en charge

À ce stade, on sait que ce type de message d'erreur signifie que le problème provient du serveur RADIUS. Cependant, on ne sait toujours pas ce qui ne va pas. Ici, la limitation de l'ASR 5000 ne prend pas en charge Called-station-Id dans Radius DM. Par conséquent, s'il est vu ici, il répond avec l'erreur mise en surbrillance.

INBOUND>>>>>

RADIUS COA Rx PDU, from 192.168.1.254:38073 to 192.168.1.2:1800

Code: 40 (Disconnect-Request)

Id: 106

Length: 61

Authenticator: 8D F1 50 2E DD 79 49 39 79 A0 B5 FC 59 3E C4 51

Attribute Type: 32 (NAS-Identifier)

Length: 9

Value: 73 74 61 72 65 6E 74   starent

Attribute Type: 1 (User-Name)

Length: 10

Value: 74 65 73 74 75 73 65 72 testuser

Attribute Type: 30 (Called-Station-ID)

Length: 9

Value: 65 63 73 2D 61 70 6E   ecs-apn

Attribute Type: 31 (Calling-Station-Id)

Length: 13

Value: 36 34 32 31 31 32 33 34 64211234

35 36 37               567

<<<<OUTBOUND 06:57:42:683 Eventid:70902(6)

RADIUS COA Tx PDU, from 192.168.1.2:1800 to 192.168.1.254:38073

Code: 42 (Disconnect-Nak)

Id: 106

Length: 26

Authenticator: 34 2E DE B4 77 22 4A FE A5 16 93 91 0D B2 E6 3B

Attribute Type: 101 (Error-Cause)

Length: 6

Value: 00 00 01 91             ....

(Unsupported-Attribute)

Le système a configuré « no-nas-identification-check » dans la ligne « radius change-permit-nas-ip », « NAS-Identification-Mismatch » Erreur toujours retournée

Ceci se produit dans cette configuration :

radius change-authorize-nas-ip 192.168.1.2 encrypted key

+A27wvxlgy06ia30pcqswmdajxd11ckg4ns88i6l92dghsqw7v77f1 port 1800

event-timestamp-window 0 no-reverse-path-forward-check no-nas-identification-check

aaa group default

radius attribute nas-ip-address address 192.168.1.2

radius server 192.168.1.128 encrypted key

+A3ec01d8zs92ed1gz2mytddjjrf11af3u0watpyr3gd0rs8mthlzc port 1812

radius accounting server 192.168.1.128 encrypted key

+A24x0pj4mjgnqh0sclbnen1lm6f1d6drn2nw3yf31tmfldk9fr38e         port 1813

#exit

Pour un contexte PDP actif, la demande de déconnexion est définie sur NAK :

INBOUND>>>>>  04:27:13:898 Eventid:70901(6)

RADIUS COA Rx PDU, from 192.168.1.254:42082 to 192.168.1.2:1800 (52) PDU-dict=starent-vsa1

Code: 40 (Disconnect-Request)

Id: 115

Length: 52

Authenticator: BF 95 05 0B 87 B4 42 59 5F C6 CC 78 D7 17 77 7F

Attribute Type: 32 (NAS-Identifier)

Length: 9

Value: 73 74 61 72 65 6E 74    starent

Attribute Type: 1 (User-Name)

Length: 10

Value: 74 65 73 74 75 73 65 72 testuser

Attribute Type: 31 (Calling-Station-Id)

&nbsp                Value: 36 34 32 31 31 32 33 34 64211234;     Length: 13

35 36 37                567

Monday October 19 2015

<<<<OUTBOUND  04:27:13:898 Eventid:70902(6)

RADIUS COA Tx PDU, from 192.168.1.2:1800 to 192.168.1.254:42082 (26) PDU-dict=starent-vsa1

Code: 42 (Disconnect-Nak)

Id: 115

Length: 26

Authenticator: 75 D1 04 3E 31 19 9C 92 B2 2E 5D 5F 98 B9 34 99

Attribute Type: 101 (Error-Cause)

Length: 6

Value: 00 00 01 93             ....

(NAS-Identification-Mismatch)

Cependant, lorsque cette ligne est incluse dans le groupe AAA par défaut :

radius attribute nas-identifier starent

il commence à fonctionner :

Monday October 19 2015

INBOUND>>>>>  05:19:01:798 Eventid:70901(6)

RADIUS COA Rx PDU, from 192.168.1.254:55426 to 192.168.1.2:1800 (52) PDU-dict=starent-vsa1

Code: 40 (Disconnect-Request)

Id: 171

Length: 52

Authenticator: 3A 67 43 25 DC 18 5C E3 23 08 04 C0 9C 31 68 68

NAS-Identifier = starent

User-Name = testuser

Calling-Station-Id = 64211234567

Monday October 19 2015

<<<<OUTBOUND  05:19:01:799 Eventid:70902(6)

RADIUS COA Tx PDU, from 192.168.1.2:1800 to 192.168.1.254:55426 (26) PDU-dict=starent-vsa1

Code: 41 (Disconnect-Ack)

Id: 171

Length: 26

Authenticator: 45 07 79 C5 E0 92 53 28 8F AD A3 E3 C4 B4 52 10

Acct-Termination-Cause = Admin_Reset

Ou il fonctionnera également sans configuration de l'identificateur nas sur le groupe AAA, mais avec l'identificateur NAS AVP supprimé de la demande de déconnexion :

INBOUND>>>>>  05:14:41:374 Eventid:70901(6)

RADIUS COA Rx PDU, from 192.168.1.254:54757 to 192.168.1.2:1800 (43) PDU-dict=starent-vsa1

Code: 40 (Disconnect-Request)

Id: 78

Length: 43

Authenticator: 84 5D FE 5E 90 0D C8 16 84 7A 11 67 FF 82 40 DB

User-Name = testuser

Calling-Station-Id = 64211234567

Monday October 19 2015

<<<<OUTBOUND  05:14:41:375 Eventid:70902(6

RADIUS COA Tx PDU, from 192.168.1.2:1800 to 192.168.1.254:54757 (26) PDU-dict=starent-vsa1

Code: 41 (Disconnect-Ack)

Id: 78

Length: 26

Authenticator: 34 84 5B 8E AF 02 1C F2 58 26 1B 0C 20 37 93 33

Acct-Termination-Cause = Admin_Reset

L'ID de bogue Cisco CSCuw78786 a été envoyé. Ceci a été testé sur les versions 17.2.0 et 15.