Contents

Introdução

Definição de mensagens RADIUS CoA

DM RADIUS

Atributos para identificação de sessão

Configuração de DMs RADIUS

Configuração de exemplo

Exemplos de cenário de falha

Nenhuma mensagem DM recebida no ASR 5000

A porta UDP 3379 tem soquete pronto sem mensagens DM

Solicitação de Contabilização

Solicitação de desconexão

Todos os atributos são correspondentes, mas o ASR 5000 envia DM NAK com a mensagem de erro: 401 - Atributo não suportado

O sistema configurou "no-nas-identification-check" na linha "radius change-authorized-nas-ip", "NAS-Identification-Mismatch" Erro ainda retornado

Introdução

Este documento descreve as mensagens de desconexão RADIUS (DMs).

Definição de mensagens RADIUS CoA

Uma mensagem de alteração de autorização (CoA) é usada para alterar atributos e os filtros de dados associados a uma sessão de usuário. O sistema suporta mensagens de CoA do servidor de Autenticação, Autorização e Contabilização (AAA - Authentication, Authorization, and Accounting) para alterar filtros de dados associados a uma sessão de assinante.

Observação: os filtros nos atributos filter-id (se presentes na solicitação) devem ser configurados no ASR 5000 para aplicação ao tráfego do usuário. Essa é a forma das Listas de Controle de Acesso (ACLs) e é configurada no ASR 5000 com os comandos ip access-list.

A mensagem de solicitação de CoA deve conter atributos para identificar a sessão do usuário; atributos e filtros de dados precisam ser aplicados à sessão do usuário. O atributo filter-id (id do atributo 11) contém os nomes dos filtros. Se o ASR 5000 executar com êxito a solicitação de CoA, um ACK de CoA será enviado de volta ao servidor RADIUS e os novos atributos e filtros de dados serão aplicados à sessão do usuário. Caso contrário, um NAK de CoA é enviado com a razão apropriada como um atributo de código de erro sem fazer nenhuma alteração na sessão do usuário.

DM RADIUS

A mensagem DM é usada para desconectar sessões de usuário no ASR 5000 de um servidor RADIUS. A mensagem de solicitação DM deve conter os atributos necessários para identificar a sessão do usuário. Se o sistema desconectar com êxito a sessão do usuário, o DM ACK será enviado de volta ao servidor RADIUS. Caso contrário, o DM-NAK é enviado com os motivos de erro adequados.

Como mencionado anteriormente, é possível que o NAS não possa honrar mensagens de solicitação de desconexão ou solicitação de CoA por algum motivo. O Atributo de Causa de Erro fornece mais detalhes sobre a causa do problema. Ele PODE ser incluído nas mensagens Disconnect-ACK, Disconnect-NAK e CoA-NAK.

O campo Valor tem quatro octetos, que contêm um inteiro que especifica a causa do erro.

- Os valores 0-199 e 300-399 são reservados.

- Os valores 200-299 representam a conclusão bem-sucedida, de modo que esses valores só podem ser enviados dentro da mensagem Disconnect-ACK ou CoA-ACK e NÃO DEVEM ser enviados dentro de um Disconnect-NAK ou CoA-NAK.

- Os valores 400-499 representam erros fatais cometidos pelo servidor RADIUS, de modo que ELES PODEM ser enviados em mensagens CoA-NAK ou Disconnect-NAK e NÃO DEVEM ser enviados em mensagens CoA-ACK ou Disconnect-ACK.

- Os valores 500-599 representam erros fatais que ocorrem em um proxy NAS ou RADIUS, de modo que ELES PODEM ser enviados em mensagens CoA-NAK e Disconnect-NAK, e NÃO DEVEM ser enviados em mensagens CoA-ACK ou Disconnect-ACK. Os valores de causa do erro DEVEM ser registrados pelo servidor RADIUS.

Os valores de Error-Code (expressos em decimal) incluem:

#     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

Atributos para identificação de sessão

Para identificação do ASR 5000, um destes métodos pode ser usado:

- NAS-IP-Address: o endereço IP do NAS, se presente na solicitação COA/DM, deve corresponder ao endereço IP do NAS do ASR 5000.

- Identificador NAS: Se este atributo estiver presente, seu valor deverá corresponder ao identificador nas gerado para a sessão do usuário.

Este é um atributo obrigatório para identificação de sessão, se o ASR 5000 estiver configurado com o NAS-Identifier.

Para identificação da sessão do usuário, um destes métodos é usado:

- Acct-Session-ID: Se este atributo estiver presente, seu valor deverá corresponder ao acct-session-id da sessão do usuário.

- Framed-IP-Address: se este atributo estiver presente, seus valores deverão corresponder ao endereço IP enquadrado da sessão.

- Nome do Usuário: Se este atributo estiver presente, seus valores deverão corresponder ao nome do usuário da sessão.

- Calling-Station-ID: Esta é a Identidade Internacional de Assinante Móvel (IMSI) do usuário.

Configuração de DMs RADIUS

A configuração de um DM RADIUS é muito fácil. Todas as linhas precisam ser configuradas no contexto de destino (aquela com a configuração RADIUS).

radius change-authorized-nas-ip ip_address chave [ criptografada ] valor [porta porta ]

[ eventtimestamp-window janela ] [ no-nas-identification-check ]

[ no-reverse-path-forward-check][ mpls-label input in_label_value | saída valor_rótulo_saída1

[ valor_rótulo_saída2 ]

Observação: o "radius change-authorized-nas-ip" deve ser o endereço da interface AAA do seu contexto local. Esse comando CLI às vezes é uma fonte de confusão.

Configuração de exemplo

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

no-reverse-path-forward-check

no-nas-identification-check

Exemplos de cenário de falha

Nenhuma mensagem DM recebida no ASR 5000

É possível que o soquete não esteja pronto para a porta UDP 3799. (De acordo com o RFC 3756, o pacote RADIUS Disconnect-Request é enviado para a porta UDP 3799).

Esse comportamento pode ser simplificado. O processo que manipula todas as solicitações de CoA é a instância de amgr 385, que é a da placa SMC/MIO ativa. Este comando CLI precisa ser executado no contexto de destino.

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

Essa saída se parece com:

# 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

Neste exemplo, não há porta 3799 e este é o motivo do comportamento relatado. Se você vir o mesmo no seu caso, a solução é remover e adicionar novamente a configuração de CoA para recriar o soquete de escuta. Além disso, você pode tentar matar a instância 385 do amgr se a primeira solução não ajudar.

Após as ações descritas, você verá esta saída:

# 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

e o soquete deve estar visível no shell de depuração no contexto/VR apropriado:

bash-2.05b# netstat -lun | grep 3799

udp 0 0 10.176.81.215:3799 0.0.0.0:*

A porta UDP 3379 tem soquete pronto sem mensagens DM

A porta UDP 3379 tem um soquete pronto, mas você ainda não vê as mensagens DM. Isso é provavelmente causado por uma configuração incorreta de radius change-authorized-nas-ip. Os valores de atributo que vieram na mensagem de solicitação de DM não correspondem àqueles que foram enviados em uma solicitação de Contabilidade para RADIUS.

Solicitação de Contabilização

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)

Solicitação de desconexão

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

Neste exemplo, o valor de Acct-Session-Id que chega ao ASR 5000 é diferente daquele enviado para o RADIUS e este é o motivo do problema. Esse problema pode ser corrigido por alterações apropriadas no lado do RADIUS.

O Acct-Session-Id para a sessão ativa pode ser verificado com o comando show subscribers gsn-only aaa-configuration ative 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

Todos os atributos são correspondentes, mas o ASR 5000 envia DM NAK com a mensagem de erro: 401 - Atributo não suportado

Nesse ponto, sabe-se que esse tipo de mensagem de erro significa que o problema vem do servidor RADIUS. No entanto, ainda não é claro o que está errado. Aqui, a limitação do ASR 5000 não oferece suporte a Called-station-Id no Radius DM. Portanto, se for visto lá, ele responde com o erro destacado.

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)

O sistema configurou "no-nas-identification-check" na linha "radius change-authorized-nas-ip", "NAS-Identification-Mismatch" Erro ainda retornado

Isso acontece nesta configuração:

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

Para um contexto PDP ativo, a Solicitação de Desconexão é 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)

&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)

No entanto, quando essa linha estiver incluída no grupo AAA padrão:

radius attribute nas-identifier starent

começa a funcionar:

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 funcionará também sem a configuração do identificador nas no grupo AAA, mas com o identificador NAS AVP removido da solicitação de desconexão:

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

O bug da Cisco ID CSCuw78786 foi enviado. Isso foi testado nas versões 17.2.0 e 15.