【Cisco】AAAserverのdisconnect問題をPodで解決

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で学べます。



コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUT US
げんき☆ひろき
インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!