Ce document décrit les messages de déconnexion (DM) RADIUS.
Un message de changement d'autorisation (CoA) 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 provenant du serveur AAA (Authentication, Authorization, and Accounting) pour modifier les filtres de données associés à une session d'abonné.
Le message de demande d'accord de collaboration doit contenir des attributs permettant d'identifier la session utilisateur ; les attributs et les filtres de données doivent être appliqués à la session utilisateur. L'attribut filter-id (attribut id 11) contient les noms des filtres. Si l'ASR 5000 exécute avec succès 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, un NAK CoA est envoyé avec la raison appropriée en tant qu'attribut de code d'erreur sans apporter de modifications à la session utilisateur.
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 réussit à déconnecter 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 Disconnect-Request ou CoA-Request pour une raison quelconque. L'attribut Error-Cause 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 comporte quatre octets, qui contiennent un entier spécifiant la cause de l'erreur.
Les valeurs Error-Code (exprimées en décimal) sont les suivantes :
# 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
Pour l'identification de l'ASR 5000, l'une des méthodes suivantes peut être utilisée :
Pour l'identification de la session utilisateur, l'une des méthodes suivantes est utilisée :
La configuration d'un périphérique RADIUS DM est assez simple. Toutes les lignes doivent être configurées dans le contexte de destination (celui avec la configuration RADIUS).
radius change-allow-nas-ip adresse_ip clé [ chiffrée ] valeur [port port ]
[ eventtimestamp-window vitrine ] [ no-nas-identification-check ]
[ no-reverse-path-forward-check][ mpls-label input valeur_étiquette_entrée | rendement valeur_étiquette_sortie1
[ valeur_étiquette_sortie2 ]
radius change-authorize-nas-ip 192.168.88.40 encrypted key <key value>
no-reverse-path-forward-check
no-nas-identification-check
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 une instance d'administrateur 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
Un tel 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 constatez la même chose dans votre cas, la solution consiste à supprimer et à rajouter la configuration CoA afin de recréer la prise d'écoute. En outre, vous pouvez essayer de tuer l'instance 385 d'aamgr si la première solution n'aide pas.
Après les actions décrites, vous devriez voir le résultat suivant :
# 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 à partir du 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 a un socket prêt, mais vous ne voyez toujours pas les messages DM. Cela est probablement dû à une configuration incorrecte de radius change-authorization-nas-ip. Soit les valeurs d'attribut fournies dans le message de demande DM ne correspondent pas à celles qui ont été envoyées dans une demande de comptabilisation vers RADIUS.
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)
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 arrive à 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 pour la session active peut être vérifié avec la commande show subscribers 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
À ce stade, il est connu que ce type de message d'erreur signifie que le problème provient du serveur RADIUS. Cependant, ce qui ne va pas n'est pas encore clair. 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 là, 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)
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 requête de déconnexion est NAKed :
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)
  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
ça commence à marcher :
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 cela 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.
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
17-Dec-2015 |
Première publication |