本投稿ではISEでの各端末(session)の接続状況や遷移に関してRadiusSimulator.jarを使用して説明します。
RadiusSimulator.jarに関しては Radius Simulatorの紹介で紹介していますのでよろしければご覧ください。
なお上記投稿に従ってdownloadしたRadiusSimulator.jar(61443 bytes)は送信Attributeに関して不具合があるため、
https://pubhub.devnetcloud.com/media/pxgrid-api/docs/overview/RadiusSimulator.jar?0.4772549612997896
からdownloadしたもの(101981 bytes)のほうがよいと思います。
本投稿ではISE2.3とjdk1.8がinstallされたWindows 10 PC(terminalはcygwin)を使用しています。
java/javacにpathが通っており、RadiusSimulator.jarが現在のdirectoryにあることを確認。
ISEにNADとしてRadiusSimulator.jarを使用するPCを登録する。
ISEに試験用accountを作成する。
RadiusSimulator.jarでuser01とuser02に関して認証requestをISEに送信します。
赤枠がcommandになり、
java -cp RadiusSimulator.jar -DUSERNAME=user01 -DPASSWORD=cisco -DCALLING_STATION_ID=11:11:11:11:11:11 -DAUDIT_SESSION_ID=11111 -DFRAMED_IP_ADDRESS=192.168.200.111 -DFRAMED_IP_MASK=255.255.255.0 -DNAS_IP_ADDRESS=64.104.24.56 -DRADIUS_SECRET=cisco RadiusAuthentication 10.71.228.32
-Dの後にparameter名, =の後に値が入ります。上記ではuser01とuser02に関して認証requestを送信し、Code=2(AccessAccept)がISEから返されています。ISEでLive Sessionを見ると
となっており、Statusが Authenticated Calling-station-idがEndpoint ID, 仮想端末のIPが Framed-ip-address, Audit-session-idが設定通りになっていることがわかります。今回は認証requestなので最後が RadiusAuthentication となっています。
次にAccounting Request(start)を各Sessionに関して送信します。
認証requestからの変更点は引数として-DACCT_SESSION_ID=XXXXX が追加され、RadiusAuthenticationがRadiusAccountingStartになっている点です。
ISEでLive Sessionを見ると
Statusが Started に変わり、Account Session IDがコマンド通り追加されます。
AUDIT_SESSION_ID, ACCT_SESSION_ID に関してはsession内では固定値となる必要があります(AUDIT_SESSION_IDとACCT_SESSION_IDがイコールである必要はありません)
試しにuser02側のSessionを止めてみます。
コマンドの変更点はRadiusAccountingStartを RadiusAccountingStop に変えたのみです。
ISEのLive Sessionでは
Terminated に変わっています。この状態で5分程たつとLive Sessionの一覧から削除されます。
これがSessionのLifecycleになります。
RADIUS Accountingが設定されていないと、StatusがAuthenticated止まりとなりその後どれくらいの時間でSessionが削除されるかや、
Startedのものが放っておくとどうなるかといったことも確認可能です。