キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
202
閲覧回数
2
いいね!
5
返信

複数のRadiusサーバーが存在する環境において、問い合わせるサーバに優先順位を付ける事が出来るか。

Catalyst 9K スイッチ や Catalyst 9800 (WLC) において 802.1X認証を行う際に下記の設定でRADIUSサーバーを指定しています。

aaa group server radius RADIUS-SV-Group
 server name SV-1
 server name SV-2
 server name SV-3
!

※使用しているIOS-XEのバージョンは 17.12.4です。

この場合、装置のデフォルト動作としてはRADIUSサーバ 1~3のどれに対して問い合わせにいくのでしょうか?上から順番?それともラウンドロビン? また、上から順番に問い合わせにいくように強制させる事は可能でしょうか。

情報・知見をお持ちの方がおられましたらご教授いただけますと幸いです。

2 件の受理された解決策

受理された解決策

MyHomeNWLab
Spotlight
Spotlight

Load Balanceが無効化されていれば、上の設定から優先度が高くなります。
ご記載のコンフィグ例だと SV-1, SV-2, SV-3 の順になりますね。
ちなみに、C9800の設定画面だとServer1, Server2, Server3のように優先度が表示されます。

MyHomeNWLab_0-1745319860952.png

優先度が高いRADIUS Server (SV-1)に障害が起こってDEADマーク扱いされると、
次の優先度のRADIUS Server (SV-2)に問い合わせするようになります。

Dead Timerの時間が経過すると、(障害復旧の状況に関わらず)自動的にDEADマークが消えて、優先度が高いRADIUS Serverに再度通信し出します。

ちなみに、Central Web Auth (CWA)ではLoad Balanceはサポートされません。


【関連ドキュメント】
●障害検知のメカニズムは「AAA Dead-Server Detection」の機能としてドキュメントがあります。

Cisco Catalyst 9800 Series Wireless Controller Software Configuration Guide, Cisco IOS XE Dublin 17.12.x - AAA Dead-Server Detection [Cisco Catalyst 9800 Series Wireless Controllers] - Cisco
https://www.cisco.com/c/en/us/td/docs/wireless/controller/9800/17-12/config-guide/b_wl_17_12_cg/m_aaa_dead_server_detection.html

↓ v17.15.xであれば日本語翻訳があります。

Cisco Catalyst 9800 シリーズ ワイヤレス コントローラ(Cisco IOS XE 17.15.x)ソフトウェア コンフィギュレーション ガイド - AAA Dead-Server Detection [Cisco Catalyst 9800 シリーズ ワイヤレス コントローラ] - Cisco
https://www.cisco.com/c/ja_jp/td/docs/wireless/controller/9800/17-15/config-guide/b_wl_17_15_cg/m_aaa_dead_server_detection.html

●Load Balanceに関しては下記のドキュメントに制約 (Restrictions)を含めて載っております。

Cisco Catalyst 9800 Series Wireless Controller Software Configuration Guide, Cisco IOS XE Dublin 17.12.x - RADIUS Server Load Balancing [Cisco Catalyst 9800 Series Wireless Controllers] - Cisco
https://www.cisco.com/c/en/us/td/docs/wireless/controller/9800/17-12/config-guide/b_wl_17_12_cg/m_radius_server_load_balancing.html

元の投稿で解決策を見る

IOS-XE全般で基本的には共通化されているかと思いますが、C9800ベースでコメントさせて頂きます。

まずC9800ではデフォルトでLoad Balanceは無効化されています。
Web UIではRADIUS Server GroupでLoad BalanceのOn/Offの状態を確認できます。
備考: Load Balanceで話の前提が変わるので、前回のコメントでは冒頭で前置きした意図でした。

aaa group server radius <RADIUS-Server-Group-Name>
 load-balance method least-outstanding    <<<< load-balance の設定が"ある"場合は、Load Balanceが有効化

MyHomeNWLab_0-1745486587511.png


deadtimeを含む障害検知系の項目は、「同じ種別の設定が複数あった場合に、どれが適用されるか?」になりまして、
複数のLevelで設定項目がある場合は、
    1. Server Level
    2. Server Group Level
    3. Global Level
の順で優先されます。よくある「最もスペシフィックな設定が優先される」挙動になります。

Global Levelの設定は、メニュー「Configuration > Security > AAA」の「AAA Advanced」タブの「RADIUS Fallback」が該当します。

MyHomeNWLab_1-1745486814400.png

ちなみに障害検知系の項目は、Web UI上の名称だと下記の項目があると思います。
複数のLevelに存在して、名称が若干異なるものは併記しています。

1. Timeout Interval (seconds) / Server Timeout (seconds)
2. Retry Count / Retransmit Count
3. Dead Time (Minutes)
4. Dead Criteria Time (seconds)
5. Dead Criteria Tries

実際にどの値が反映されているかは
show aaa dead-criteria radius server-name <RADIUS-Server-Name>
で確認するのが確実かと存じます。Dead Timeに関しては本コマンドで表示されないです。

wlc01# show aaa dead-criteria radius server-name RADSV_ISE01
RADIUS Server Dead Criteria:
=============================
Server Details: 
    Address   : 192.0.2.111
    Auth Port : 1812
    Acct Port : 1813
Server Group  : radius
Dead Criteria Details:
    Configured Retransmits   : 3
    Configured Timeout       : 5
    Estimated Outstanding Access Transactions: 0
    Estimated Outstanding Accounting Transactions: 0
    Dead Detect Time         : 10s
    Computed Retransmit Tries: 10
Statistics Gathered Since Last Successful Transaction
=====================================================
    Max Computed Outstanding Transactions: 0
    Max Computed Dead Detect Time: 0s
    Max Computed Retransmits : 0

wlc01#


Dead Timeの確認方法に関しては、
show aaa servers
でDEADマーク後に自動的にUPになるのを確認する方法があります。

wlc01# show aaa servers

RADIUS: id 1, priority 1, host 192.0.2.111, auth-port 1812, acct-port 1813, hostname RADSV_ISE01
     State: current UP, duration 365s, previous duration 485s
     Dead: total time 845s, count 4
     Platform State from SMD: current UP, duration 365s, previous duration 61s
     SMD Platform Dead: total time 795s, count 5
     Platform State from WNCD (0) : current DEAD, duration 102s, previous duration 58s
     Platform State from WNCD (1) : current UP, duration 85561s, previous duration 0s
     Platform State from WNCD (2) : current UP, duration 85561s, previous duration 0s
     Platform State from WNCD (3) : current UP, duration 85561s, previous duration 0s
     Platform State from WNCD (4) : current UP, duration 85561s, previous duration 0s
     Platform State from WNCD (5) : current UP, duration 85561s, previous duration 0s
     Platform State from WNCD (6) : current UP, duration 85561s, previous duration 0s
     Platform State from WNCD (7) : current UP, duration 85561s, previous duration 0s
     WNCD Platform Dead: total time 912081s, count 7UP
<snip>


上記より
Platform State from WNCD (0) : current DEAD, duration 102s, previous duration 58s
の部分です。
例えば、Dead Timeに2 分 (120 秒)の設定が反映されていると、durationが120s の経過後にUPに戻ります。

元の投稿で解決策を見る

5件の返信5

MyHomeNWLab
Spotlight
Spotlight

Load Balanceが無効化されていれば、上の設定から優先度が高くなります。
ご記載のコンフィグ例だと SV-1, SV-2, SV-3 の順になりますね。
ちなみに、C9800の設定画面だとServer1, Server2, Server3のように優先度が表示されます。

MyHomeNWLab_0-1745319860952.png

優先度が高いRADIUS Server (SV-1)に障害が起こってDEADマーク扱いされると、
次の優先度のRADIUS Server (SV-2)に問い合わせするようになります。

Dead Timerの時間が経過すると、(障害復旧の状況に関わらず)自動的にDEADマークが消えて、優先度が高いRADIUS Serverに再度通信し出します。

ちなみに、Central Web Auth (CWA)ではLoad Balanceはサポートされません。


【関連ドキュメント】
●障害検知のメカニズムは「AAA Dead-Server Detection」の機能としてドキュメントがあります。

Cisco Catalyst 9800 Series Wireless Controller Software Configuration Guide, Cisco IOS XE Dublin 17.12.x - AAA Dead-Server Detection [Cisco Catalyst 9800 Series Wireless Controllers] - Cisco
https://www.cisco.com/c/en/us/td/docs/wireless/controller/9800/17-12/config-guide/b_wl_17_12_cg/m_aaa_dead_server_detection.html

↓ v17.15.xであれば日本語翻訳があります。

Cisco Catalyst 9800 シリーズ ワイヤレス コントローラ(Cisco IOS XE 17.15.x)ソフトウェア コンフィギュレーション ガイド - AAA Dead-Server Detection [Cisco Catalyst 9800 シリーズ ワイヤレス コントローラ] - Cisco
https://www.cisco.com/c/ja_jp/td/docs/wireless/controller/9800/17-15/config-guide/b_wl_17_15_cg/m_aaa_dead_server_detection.html

●Load Balanceに関しては下記のドキュメントに制約 (Restrictions)を含めて載っております。

Cisco Catalyst 9800 Series Wireless Controller Software Configuration Guide, Cisco IOS XE Dublin 17.12.x - RADIUS Server Load Balancing [Cisco Catalyst 9800 Series Wireless Controllers] - Cisco
https://www.cisco.com/c/en/us/td/docs/wireless/controller/9800/17-12/config-guide/b_wl_17_12_cg/m_radius_server_load_balancing.html

詳細なご回答、誠にありがとうございます。

いただいた内容について理解・承知しました。

「AAA Dead-Server Detection」については設定済みでしたが、改めてCCOを読み返す事が出来たので助かりました。ちなみに、"aaa group server radius RADIUS-SV-Group"配下にも deattime を設定できるコマンドがあるのですが、radius-server deadtimeコマンドとの違いが気になりました。

あと、冒頭に"Load Balanceが無効化されていれば"とありますが、ご記載のCCOを読む限りはデフォルトで負荷分散は無効化されているようなので、"aaa group server radius RADIUS-SV-Group"配下に"load-balance method least-outstanding"コマンドが設定されていなければ、負荷分散は無効化状態であると考えて良いものでしょうか? コメントをいただけますと幸いです。

IOS-XE全般で基本的には共通化されているかと思いますが、C9800ベースでコメントさせて頂きます。

まずC9800ではデフォルトでLoad Balanceは無効化されています。
Web UIではRADIUS Server GroupでLoad BalanceのOn/Offの状態を確認できます。
備考: Load Balanceで話の前提が変わるので、前回のコメントでは冒頭で前置きした意図でした。

aaa group server radius <RADIUS-Server-Group-Name>
 load-balance method least-outstanding    <<<< load-balance の設定が"ある"場合は、Load Balanceが有効化

MyHomeNWLab_0-1745486587511.png


deadtimeを含む障害検知系の項目は、「同じ種別の設定が複数あった場合に、どれが適用されるか?」になりまして、
複数のLevelで設定項目がある場合は、
    1. Server Level
    2. Server Group Level
    3. Global Level
の順で優先されます。よくある「最もスペシフィックな設定が優先される」挙動になります。

Global Levelの設定は、メニュー「Configuration > Security > AAA」の「AAA Advanced」タブの「RADIUS Fallback」が該当します。

MyHomeNWLab_1-1745486814400.png

ちなみに障害検知系の項目は、Web UI上の名称だと下記の項目があると思います。
複数のLevelに存在して、名称が若干異なるものは併記しています。

1. Timeout Interval (seconds) / Server Timeout (seconds)
2. Retry Count / Retransmit Count
3. Dead Time (Minutes)
4. Dead Criteria Time (seconds)
5. Dead Criteria Tries

実際にどの値が反映されているかは
show aaa dead-criteria radius server-name <RADIUS-Server-Name>
で確認するのが確実かと存じます。Dead Timeに関しては本コマンドで表示されないです。

wlc01# show aaa dead-criteria radius server-name RADSV_ISE01
RADIUS Server Dead Criteria:
=============================
Server Details: 
    Address   : 192.0.2.111
    Auth Port : 1812
    Acct Port : 1813
Server Group  : radius
Dead Criteria Details:
    Configured Retransmits   : 3
    Configured Timeout       : 5
    Estimated Outstanding Access Transactions: 0
    Estimated Outstanding Accounting Transactions: 0
    Dead Detect Time         : 10s
    Computed Retransmit Tries: 10
Statistics Gathered Since Last Successful Transaction
=====================================================
    Max Computed Outstanding Transactions: 0
    Max Computed Dead Detect Time: 0s
    Max Computed Retransmits : 0

wlc01#


Dead Timeの確認方法に関しては、
show aaa servers
でDEADマーク後に自動的にUPになるのを確認する方法があります。

wlc01# show aaa servers

RADIUS: id 1, priority 1, host 192.0.2.111, auth-port 1812, acct-port 1813, hostname RADSV_ISE01
     State: current UP, duration 365s, previous duration 485s
     Dead: total time 845s, count 4
     Platform State from SMD: current UP, duration 365s, previous duration 61s
     SMD Platform Dead: total time 795s, count 5
     Platform State from WNCD (0) : current DEAD, duration 102s, previous duration 58s
     Platform State from WNCD (1) : current UP, duration 85561s, previous duration 0s
     Platform State from WNCD (2) : current UP, duration 85561s, previous duration 0s
     Platform State from WNCD (3) : current UP, duration 85561s, previous duration 0s
     Platform State from WNCD (4) : current UP, duration 85561s, previous duration 0s
     Platform State from WNCD (5) : current UP, duration 85561s, previous duration 0s
     Platform State from WNCD (6) : current UP, duration 85561s, previous duration 0s
     Platform State from WNCD (7) : current UP, duration 85561s, previous duration 0s
     WNCD Platform Dead: total time 912081s, count 7UP
<snip>


上記より
Platform State from WNCD (0) : current DEAD, duration 102s, previous duration 58s
の部分です。
例えば、Dead Timeに2 分 (120 秒)の設定が反映されていると、durationが120s の経過後にUPに戻ります。

ご回答ありがとうございます。

スクリーンショットまで掲載いただき、丁寧なご対応にあらためまして厚く御礼申し上げます。

負荷分散については該当箇所を有効化する事でコマンドが追加される事を確認出来ましたし、Deadtimeのフォールバックについては全く知らなかったので、知識を得る事が出来ました。

showコマンドは存在を知っていましたが、上記を理解する事で表示されるパラメータの意味が分かりました。

ご対応・ご回答いただきまして、ありがとうございました。

RADIUSは昔からあるので情報自体は出回ってますが、
いざ自分自身で調べてみると、障害時の挙動や、各種あるTimerがどこに影響するかなどで混乱した覚えがあるので、
私も会話しながら情報整理できて助かりました。(特に自分自身の理解があってるか不安になった側面があったので。)