Cisco、AAAserver構築の際、BASとRadiusServerかんでdisconnectの動作確認をしていたのですが、disconnectの要求は飛びBASは正常動作をするのですが、その後もPodリクエストをBASに投げ続けるという問題が発生したので、原因と解決策をメモしておきます。
Cisco機器にてdisconnectを有効化するコマンド
aaa server radius dynamic-author client X.X.X.X client X.X.X.X server-key hogehoge port XXXX auth-type any ignore session-key -----→必須
上記、コンフィグの通りコマンドを設定すればいいのだが、Radiusからdisconnectの要求が着た際、応答を返さない。(なぜかわからないが。。。)
不具合か?
ということでCiscoの公式サイトでの設定を用いてPODコマンドで設定してみました。
コマンドは全て一行で設定
aaa pod server client X.X.X.X port XXXX auth-type any ignore session-key server-key hogehoge
- 動作
disconnectを実施する場合、Cisco IOSのAAAサブシステムでPODサービスをイネーブルにする必要がある。
インバウンド ユーザ セッションをイネーブルにして、特定のアトリビュートが表示された場合にセッションを切断する。 - 事象
セッションをdisconnectにするが、その後、RadiusがPodリクエストをBASに投げ続ける動作をする。 - 原因
BASにてアトリビュート151(local-admin-disconnect)はサポートされていないため、上記の動作を繰り返してしまう。 - 対応策
アトリビュート 151 を無視するように設定。
ignore session-keyを設定することによりアトリビュート151を無視するようにし、disconnectを実施
→その後、Radiusからの不要なリクエストは飛ばなくなった。
アトリビュート151はサポートされていない。
使用している機器はCiscoASRのVersionは15点台を使用しています。
下記に見られるようにCiscoはアトリビュート【151】はサポートされていない為、正常に動作ができません。
*RADIUS: Unsupported [151] 10 #アトリビュート151はサポートされていない。
なので、RadiusからPODリクエストが投げ続けられるという現象が発生します。
*RADIUS: POD received from id 0 X.X.X.X:xxxxx, POD Request, len 50 *RADIUS: POD received from id 0 X.X.X.X:xxxxx, POD Request, len 50
まとめ
かーなり、マニアックな記事ですんませんが、一部の方でも参考になれたらと思っています。
というか、自分の技術メモとして取っているし、今はネットワークからサーバーは移動しちゃったんで、忘れないうちにっていうこともあります。
Ciscoってほんとバグが多いんで気をつけましょうね。
それでは!
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。
コメントを残す