Aruba Switch のExternal Captive Portalの設定は、ProvisionOSの時と違い、user-roleを使って設定します。
初めて設定する時は、少し戸惑うと思うのでここで少し解説します。
※ClearPassの設定なども含め、詳しくはこちらのソリューションガイドに細かく記載されているので参考にして下さい。
ClearPass_Solution-Guide_Wired-Policy-Enforcement_v2017-02
以下が、Captive Portalの動作時のシーケンス図になります。
SwitchのExternal Captive Portalのシーケンス図

- ユーザがネットワークにアクセス
- MAC認証が実行され、Captive Portal用のuser-roleをRADIUS Attributeを使ってClientに適用する(ここではMAC認証で端末を識別することは目的では無いため、ClearPass側でどの端末でもMAC認証が通るようにしておく)
- ユーザがWebブラウザで任意のWebページへアクセス
- user-roleのCaptive Portalの設定に従い、外部Captive Portal(ClearPass)へリダイレクト
- Captive Portalで認証。この時に、ClearPass側で端末のEndpoint Repositoryをアップデートし、次にMAC認証をする時に、認証後のuser-roleが適用されるようにしておく。
- 認証がOKの場合、RADIUS CoAを使ってPort Bounceさせ、再認証(MAC認証)が実行されるようにする
- 再度MAC認証が行われ、今度は認証後のuser-roleを適用させる
上記でわかるように、Captive Portalの時にMAC認証を使っています。
これは、Captive Portalが有効になっているuser-roleをRADIUS Attributeを使って適用するためです。Step 6 でPort Bounceをさせずに、直接CoAで認証後のuser-roleを適用しても構いません。その場合は、端末が再接続してきた場合、毎回Captive Portalが実行されることになります。
スイッチの設定は以下の通りです。漏れがあればご指摘ください。。。
InterfaceでMAC認証を有効化
aaa port-access mac-based <interface#>
External Captive PortalへRedirectさせるPolicy設定
policy user CLEARPASS-REDIRECT
class ipv4 DNS action permit
class ipv4 DHCP action permit
class ipv4 CLEARPASS-WEB action permit
class ipv4 WEB-TRAFFIC action redirect captive-portal
Captive Portalの有効化とCaptive Portal Profileの設定
aaa authentication captive-portal enable
aaa authentication captive-portal profile "GUEST-LOGON" url "https://<my-clearpass-ip>/guest/guest_login.php"
Captive Portalが有効になっているuser-role
aaa authorization user-role name GUEST-LOGON
captive-portal-profile "GUEST-LOGON"
policy CLEARPASS-REDIRECT
reauth-period 180
vlan-name EDGE_GUEST
RADIUSサーバの設定
ip source-interface radius vlan xxx
radius-server host <my-clearpass-ip> key mypassword
radius-server host <my-clearpass-ip> dyn-authorization #CoAの設定
radius-server host <my-clearpass-ip> time-window 0
aaa server-group radius CLEARPASS host <my-clearpass-ip>
AAA関連の設定
aaa authentication mac-based chap-radius server-group
CLEARPASS
aaa accounting network start-stop radius server-group
CLEARPASS
aaa accounting update periodic 5
aaa authorization user-role enable
IP Visibilityの設定
ip client-tracker
最後のIP Visibilityの設定は私自身ハマりました。
この設定が無いと、Client情報を確認した時に、ClientにアサインされたIP Addressがわかりません。
Client情報の確認
# show port-access clients
Port Access Client Status
Port Client Name MAC Address IP Address User Role Type VLAN
----- ------------- ----------------- --------------- ----------------- ----- ----
6 f0def1xxxxxx f0def1-xxxxxx 10.215.204.160 GUEST-LOGON MAC 204
ClearPassの設定は全て記載するとスクリーンショットだらけなので割愛しますが、重要なポイントだけ以下に記載します。
MAC認証用のサービス設定:どの端末でも認証OKになる設定

Captive Portal用のサービス設定:Endpoint RepositoryにRoleをキャッシュさせる設定

MAC認証用のサービス設定:キャッシュされたRole情報を使うため、チェックボックスをチェックする

Port BounceをさせずにCoAで直接Roleをアップデートする場合はこちら。
Aruba Switch のRoleをアップデートするCoA Profile

RADIUSのCoAを使うので、NTPの設定やAccountingの設定も、ClearPass側で忘れずに設定しましょう。
Accounting Interim-updateの設定
