内容

はじめに

RADIUS CoAメッセージの定義

RADIUS DMの場合

セッション識別のための属性

RADIUS DMの設定

サンプル コンフィギュレーション

障害シナリオの例

ASR 5000側でDMメッセージを受信しない

UDPポート3379にDMメッセージのないReadyソケットがある場合

アカウンティング要求

切断要求

すべての属性が一致するが、ASR 5000がDM NAKを送信する際にエラーメッセージ「401 - Unsupported attribute」が表示される

システムは「radius change-authorize-nas-ip」行で「no-nas-identification-check」を設定しているが「NAS-Identification-Mismatch」エラーが依然として返される

はじめに

このドキュメントでは、RADIUS切断メッセージ(DM)について説明します。

RADIUS CoAメッセージの定義

認可変更(CoA)メッセージは、ユーザセッションに関連付けられた属性とデータフィルタを変更するために使用されます。システムは、Authentication, Authorization, and Accounting（AAA；認証、認可、アカウンティング）サーバからのCoAメッセージをサポートし、サブスクライバセッションに関連付けられたデータフィルタを変更します。

注:filter-id属性のフィルタ（要求に存在する場合）は、ユーザトラフィックへのアプリケーション用にASR 5000で設定する必要があります。これはアクセスコントロールリスト(ACL)の形式であり、ASR 5000でip access-listコマンドを使用して設定されます。

CoA要求メッセージには、ユーザセッションを識別する属性を含める必要があります。属性とデータフィルタをユーザセッションに適用する必要があります。filter-id属性（属性id 11）には、フィルタの名前が含まれます。ASR 5000がCoA要求を正常に実行すると、CoA ACKがRADIUSサーバに返送され、新しい属性とデータフィルタがユーザセッションに適用されます。それ以外の場合は、ユーザセッションを変更せずに、CoA NAKがエラーコード属性として適切な理由で送信されます。

RADIUS DMの場合

DMメッセージは、ASR 5000のユーザセッションをRADIUSサーバから切断するために使用されます。DM要求メッセージには、ユーザセッションを識別するために必要な属性が含まれている必要があります。システムが正常にユーザセッションを切断すると、DM ACKがRADIUSサーバに送り返されます。それ以外の場合は、適切なエラー理由でDM-NAKが送信されます。

前述したように、何らかの理由でNASがDisconnect-RequestまたはCoA-Requestメッセージを承認できない場合があります。Error-Cause属性は、問題の原因に関する詳細を提供します。これは、Disconnect-ACK、Disconnect-NAK、およびCoA-NAKメッセージに含めることができます。

Valueフィールドは4オクテットで、エラーの原因を示す整数が含まれています。

- 0 ～ 199と300 ～ 399の値は予約されています。

- 値200-299は正常な完了を表すため、これらの値はDisconnect-ACKメッセージまたはCoA-ACKメッセージ内でのみ送信される場合があり、Disconnect-NAKまたはCoA-NAK内では送信されてはなりません。

- 400 ～ 499の値は、RADIUSサーバによってコミットされた致命的なエラーを表します。そのため、これらのエラーはCoA-NAKメッセージまたはDisconnect-NAKメッセージ内で送信でき、CoA-ACKメッセージまたはDisconnect-ACKメッセージ内では送信できません。

- 500 ～ 599の値は、NASまたはRADIUSプロキシで発生する致命的なエラーを表します。そのため、これらのエラーはCoA-NAKメッセージとDisconnect-NAKメッセージの中で送信でき、CoA-ACKメッセージとDisconnect-ACKメッセージの中では送信できません。エラー原因値は、RADIUSサーバによって記録される必要があります。

エラーコード値（10進数で表されます）は次のとおりです。

#     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

セッション識別のための属性

ASR 5000の識別には、次のいずれかの方法を使用できます。

- NAS-IP-Address:COA/DM要求に含まれるNAS IPアドレスは、ASR 5000 NAS IPアドレスと一致する必要があります。

- NAS-Identifier：この属性が存在する場合、その値はユーザセッション用に生成されたNAS-IDと一致する必要があります。

ASR 5000にNAS-Identifierが設定されている場合、これはセッション識別に必須の属性です。

ユーザセッションの識別には、次のいずれかの方法が使用されます。

- Acct-Session-ID：この属性が存在する場合、その値はユーザセッションのacct-session-idと一致する必要があります。

- Framed-IP-Address：この属性が存在する場合、その値はセッションのフレームIPアドレスと一致する必要があります。

- ユーザ名：この属性が存在する場合、その値はセッションのユーザ名と一致する必要があります。

- Calling-Station-ID：これはユーザのInternational Mobile Subscriber Identity(IMSI)です。

RADIUS DMの設定

RADIUS DMの設定はきわめて簡単です。すべての回線は、宛先コンテキスト（RADIUS設定がある回線）で設定する必要があります。

RADIUS変更オーソライズNAS IP IPアドレス [ encrypted ]キー の値を入力します。 [port port ]

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

[ no-reverse-path-forward-check][ mplsラベル入力 in_label_value | 出力 out_label_value1（オプション）

[ out_label_value2（オプション） ]

注:「radius change-authorize-nas-ip」は、ローカルコンテキストのAAAインターフェイスアドレスである必要があります。このCLIコマンドは、混乱の原因となることがあります。

サンプル コンフィギュレーション

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

no-reverse-path-forward-check

no-nas-identification-check

障害シナリオの例

ASR 5000側でDMメッセージを受信しない

ソケットがUDPポート3799に対応していない可能性があります（RFC 3756に従って、RADIUS切断要求パケットはUDPポート3799に送信されます）。

この動作は単純化できます。すべてのCoA要求を処理するプロセスは、アクティブなSMC/MIOカードにあるaaamgrインスタンス385です。このCLIコマンドは、宛先コンテキストで実行する必要があります。

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

出力は次のようになります。

# 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

この例では、ポート3799は存在せず、これが報告される動作の理由です。この場合も同じことが発生する場合の解決策は、CoA設定を削除して再度追加し、リスニングソケットを再作成することです。また、最初のソリューションが役に立たない場合は、aaamgrインスタンス385を強制終了することもできます。

説明したアクションを実行すると、次の出力が表示されます。

# 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

ソケットは適切なコンテキスト/VRのデバッグシェルから確認できます。

bash-2.05b# netstat -lun | grep 3799

udp 0 0 10.176.81.215:3799 0.0.0.0:*

UDPポート3379にDMメッセージのないReadyソケットがある場合

UDPポート3379にはReadyソケットがありますが、DMメッセージは表示されません。これは、radius change-authorize-nas-ipの設定が誤っているために発生した可能性があります。DM要求メッセージに含まれる属性値が、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

この例では、ASR 5000に到達するAcct-Session-Idの値がRADIUSに送信される値と異なっており、これが問題の原因です。この問題は、RADIUS側で適切に変更することで解決できます。

アクティブセッションのAcct-Session-Idを確認するには、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

すべての属性が一致するが、ASR 5000がDM NAKを送信する際にエラーメッセージ「401 - Unsupported attribute」が表示される

この時点で、この種のエラーメッセージは問題がRADIUSサーバから発生していることを意味することが判明しています。しかし、何が間違っているのかはまだ明らかではありません。この場合、ASR 5000の制限では、Radius DMのCalled-station-Idはサポートされません。したがって、そこにあれば、強調表示されたエラーで応答します。

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)

システムは「radius change-authorize-nas-ip」行で「no-nas-identification-check」を設定しているが「NAS-Identification-Mismatch」エラーが依然として返される

これは、次の設定で発生します。

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

アクティブなPDPコンテキストの場合、切断要求は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)

ただし、この行がデフォルトのAAAグループに含まれている場合は、次のようになります。

radius attribute nas-identifier starent

次のように動作し始めます。

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

または、AAAグループにnas-identifierを設定せずに、Disconnect-RequestからNAS-Identifier AVPを削除した場合にも機能します。

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

Cisco Bug ID CSCuw78786が送信されています。これは、リリース17.2.0およびリリース15でテスト済みです。