はじめに
このドキュメントでは、AireOSコントローラでCisco DNA Spacesを使用してキャプティブポータルを設定する方法について説明します。
著者:Cisco TACエンジニア、Andres Silva
前提条件
要件
次の項目に関する知識があることが推奨されます。
- ワイヤレスコントローラへのコマンドラインインターフェイス(CLI)またはグラフィックユーザインターフェイス(GUI)アクセス
- Cisco DNA Spaces
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
- 5520 Wireless LAN Controllerバージョン8.10.112.0
設定
ネットワーク図

コンフィギュレーション
WLCをCisco DNA Spaceに接続する
コントローラは、使用可能なセットアップ(直接接続、DNAスペースコネクタ経由、またはCMXテザリングを使用)のいずれかを使用して、DNAスペースに接続する必要があります。
この例では、Direct Connectオプションが使用されていますが、キャプティブポータルはすべてのセットアップで同じ方法で設定されています。
コントローラをCisco DNA Spacesに接続するには、HTTPS経由でCisco DNA Spacesクラウドに到達できる必要があります。コントローラをDNAスペースに接続する方法の詳細については、「DNAスペース直接接続の設定例」を参照してください。
DNAスペースでのSSIDの作成
ステップ 1:DNA SpacesのダッシュボードでCaptive Portalsをクリックします。

ステップ 2:ページの左上隅にある3行のアイコンをクリックしてキャプティブポータルメニューを開き、SSIDをクリックします。

ステップ 3:Import/Configure SSIDをクリックし、「Wireless Network」タイプとしてCUWN(CMX/WLC)を選択して、SSID名を入力します。

コントローラでのACL設定
Web認証SSIDであるため、事前認証ACLが必要です。ワイヤレスデバイスがSSIDに接続し、IPアドレスを受信するとすぐに、デバイスのポリシーマネージャ状態がWebauth_Reqd状態に移行し、ACLがクライアントセッションに適用されて、デバイスが到達できるリソースが制限されます。
ステップ 1:Security > Access Control Lists > Access Control Lists の順に移動し、Newをクリックして、次のように、無線クライアント間でDNA空間への通信を許可するルールを設定します。IPアドレスを、使用中のアカウントのDNAスペースで指定されたアドレスに置き換えます。

注:ACLで許可されるDNAスペースのIPアドレスを取得するには、ACL設定セクションのDNAスペースでのSSIDの作成セクションのステップ3で作成したSSIDから、手動で設定オプションをクリックします。
SSIDは、RADIUSサーバを使用するように設定することも、使用せずに設定することもできます。キャプティブポータルルールの設定のActionsセクションで、セッション期間、帯域幅制限、またはSeamety Provision Internetが設定されている場合は、RADIUSサーバを使用してSSIDを設定する必要があります。そうでない場合は、RADIUSサーバを使用する必要はありません。DNAスペース上のすべての種類のポータルは、両方の構成でサポートされています。
RADIUSサーバを使用しないキャプティブポータルのDNA空間
コントローラでのSSID設定
ステップ 1:WLAN > WLANsの順に移動します。新規 WLAN を作成してください。プロファイル名とSSIDを設定します。SSID名が、「DNAスペースでのSSIDの作成」セクションのステップ3で設定した名前と同じであることを確認します。

ステップ 2:レイヤ2セキュリティを設定します。WLAN設定タブでSecurity > Layer 2の順に選択し、Layer 2 SecurityのドロップダウンメニューでNoneを選択します。MACフィルタリングが無効になっていることを確認します。

ステップ 3:レイヤ3セキュリティを設定します。WLAN設定タブでSecurity > Layer 3タブに移動し、Web Policyをレイヤ3セキュリティ方式として設定し、Passthroughを有効にし、事前認証ACLを設定し、Override Global Configを有効にし、Web Auth TypeをExternalに設定し、リダイレクトURLを設定します。

注:リダイレクトURLを取得するには、SSID設定セクションのDNAスペースでのSSIDの作成セクションのステップ3で作成したSSIDから、Configure Manuallyオプションをクリックします。
DNAスペース上のRADIUSサーバを使用するキャプティブポータル
注:DNA Spaces RADIUSサーバでは、コントローラからのPAP認証だけがサポートされます。
コントローラでのRADIUSサーバの設定
ステップ 1:Security > AAA > RADIUS > Authenticationの順に選択し、NewをクリックしてRADIUSサーバの情報を入力します。Cisco DNA Spacesは、ユーザ認証のためにRADIUSサーバとして機能し、2つのIPアドレスで応答できます。両方のRADIUSサーバを設定します。

注:プライマリサーバとセカンダリサーバの両方のRADIUS IPアドレスと秘密キーを取得するには、「DNAスペースでのSSIDの作成」セクションのステップ3で作成したSSIDから「手動で設定」オプションをクリックし、「RADIUSサーバの設定」セクションに移動します。
ステップ 2:アカウンティングRADIUSサーバを設定します。Security > AAA > RADIUS > Accountingの順に選択し、Newをクリックします。両方のRADIUSサーバを同じように設定します。

コントローラでのSSID設定
重要:SSIDの設定を開始する前に、Controller > GeneralでWeb Radius Authenticationが「PAP」に設定されていることを確認してください。
ステップ 1:WLAN > WLANsの順に移動します。新規 WLAN を作成してください。プロファイル名とSSIDを設定します。SSID名が、「DNAスペースでのSSIDの作成」セクションのステップ3で設定した名前と同じであることを確認します。

ステップ 2:レイヤ2セキュリティを設定します。WLAN設定タブで、Security > Layer 2タブに移動します。レイヤ2セキュリティをNoneに設定します。MAC フィルタリングの有効化.

ステップ 3:レイヤ3セキュリティを設定します。WLAN設定タブでSecurity > Layer 3タブに移動し、Web Policyをレイヤ3セキュリティ方式として設定し、On Mac Filter failureを有効にし、事前認証ACLを設定し、Override Global Configを有効にし、Web Auth TypeをExternalに設定し、リダイレクトURLを設定します。

ステップ 4:AAAサーバを設定します。WLAN設定タブで、Security > AAA Serversタブに移動し、Authentication ServersとAccounting Serversをイネーブルにして、ドロップダウンメニューから2つのRADIUSサーバを選択します。

手順 6:web-authユーザの認証の優先順位を設定します。WLAN設定タブでSecurity > AAA Serversの順にタブに移動し、RADIUSをfirstに設定します。

手順 7:WLAN設定タブでAdvancedタブに移動し、Allow AAA Overrideをイネーブルにします。

DNA空間にポータルを作成
ステップ 1:DNA SpacesのダッシュボードでCaptive Portalsをクリックします。

ステップ 2:Create Newをクリックしてポータル名を入力し、ポータルを使用できる場所を選択します。

ステップ 3:認証の種類を選択し、ポータルホームページにデータのキャプチャとユーザー契約を表示するかどうか、およびユーザーがメッセージの受信をオプトインできるかどうかを選択します。[Next] をクリックします。

ステップ 4:データ・キャプチャ要素を構成します。ユーザからデータをキャプチャする場合は、Enable Data Captureボックスにチェックマークを入れて、+Add Field Elementをクリックし、必要なフィールドを追加します。[Next] をクリックします。

ステップ 5:Enable Terms & Conditionsにチェックマークを入れて、Save & Configure Portalをクリックします。

手順 6:必要に応じてポータルを編集し、Save:

DNAスペースでのキャプティブポータルルールの設定
ステップ 1:キャプティブポータルメニューを開き、Captive Portal Rules:

ステップ 2:+ Create New Ruleをクリックします。ルール名を入力し、以前に設定したSSIDを選択し、このポータルルールを使用できる場所を選択します。

ステップ 3:キャプティブポータルのアクションを選択します。この場合、ルールがヒットすると、ポータルが表示されます。Save & Publishをクリックします。

確認
SSIDに接続しているクライアントのステータスを確認するには、Monitor > Clientsの順に移動し、MACアドレスをクリックして、Policy Manager Stateを探します。

トラブルシュート
クライアントの関連付けと認証プロセスを確認するためにテストを行う前に、コントローラで次のコマンドを有効にできます。
(5520-Andressi) >debug client
(5520-Andressi) >debug web-auth redirect enable mac
次に、RADIUSサーバを使用せずにSSIDに接続しているときに、関連付け/認証プロセス中に各フェーズを識別する試みが正常に実行された結果を示します。
802.11アソシエーション/認証:
*apfOpenDtlSocket: Apr 09 21:49:06.227: 34:e1:2d:23:a6:68 Received management frame ASSOCIATION REQUEST on BSSID 70:d3:79:dd:d2:0f destination addr 70:d3:79:dd:d2:0f slotid 1
*apfMsConnTask_5: Apr 09 21:49:06.227: 34:e1:2d:23:a6:68 Updating the client capabiility as 4
*apfMsConnTask_5: Apr 09 21:49:06.227: 34:e1:2d:23:a6:68 Processing assoc-req station:34:e1:2d:23:a6:68 AP:70:d3:79:dd:d2:00-01 ssid : AireOS-DNASpaces thread:bd271d6280
*apfMsConnTask_5: Apr 09 21:49:06.227: 34:e1:2d:23:a6:68 CL_EVENT_ASSOC_START (1), reasonCode (1), Result (0), Ssid (AireOS-DNASpaces), ApMac (70:d3:79:dd:d2:00), RSSI (-72), SNR (22)
*apfMsConnTask_5: Apr 09 21:49:06.228: 34:e1:2d:23:a6:68 Sending assoc-resp with status 0 station:34:e1:2d:23:a6:68 AP:70:d3:79:dd:d2:00-01 on apVapId 1
DHCPおよびレイヤ3認証:
*apfMsConnTask_5: Apr 09 21:49:06.228: 34:e1:2d:23:a6:68 Mobility query, PEM State: DHCP_REQD
*webauthRedirect: Apr 09 21:49:51.949: captive-bypass detection enabled, checking for wispr in HTTP GET, client mac=34:e1:2d:23:a6:68
*webauthRedirect: Apr 09 21:49:51.949: captiveNetworkMode enabled, mac=34:e1:2d:23:a6:68 user_agent = AnyConnect Agent 4.7.04056
*webauthRedirect: Apr 09 21:49:51.949: 34:e1:2d:23:a6:68- Preparing redirect URL according to configured Web-Auth type
*webauthRedirect: Apr 09 21:49:51.949: 34:e1:2d:23:a6:68- unable to get the hostName for virtual IP, using virtual IP =192.0.2.1
*webauthRedirect: Apr 09 21:49:51.949: 34:e1:2d:23:a6:68- Checking custom-web config for WLAN ID:1
*webauthRedirect: Apr 09 21:49:51.949: 34:e1:2d:23:a6:68- Global status is 0 on WLAN
*webauthRedirect: Apr 09 21:49:51.949: 34:e1:2d:23:a6:68- checking on WLAN web-auth type
*webauthRedirect: Apr 09 21:49:51.949: 34:e1:2d:23:a6:68- Web-auth type External, using URL:https://splash.dnaspaces.io/p2/mexeast1
*webauthRedirect: Apr 09 21:49:51.949: 34:e1:2d:23:a6:68- Added switch_url, redirect URL is now https://splash.dnaspaces.io/p2/mexeast1?switch_url=https://192.0.2.1/login.html
*webauthRedirect: Apr 09 21:49:51.949: 34:e1:2d:23:a6:68- Added ap_mac (Radio ), redirect URL is now https://splash.dnaspaces.io/p2/mexeast1?switch_url=https://192.0.2.1/login.html&ap_mac=70:d3:79:dd:d2:00
*webauthRedirect: Apr 09 21:49:51.949: 34:e1:2d:23:a6:68- Added client_mac , redirect URL is now https://splash.dnaspaces.io/p2/mexeast1?switch_url=https://192.0.2.1/login.html&ap_mac=70:d3:79:dd:d2:00&client_mac=34:e1:2d:23:a6
*webauthRedirect: Apr 09 21:49:51.950: 34:e1:2d:23:a6:68- Added wlan, redirect URL is now https://splash.dnaspaces.io/p2/mexeast1?switch_url=https://192.0.2.1/login.html&ap_mac=70:d3:79:dd:d2:00&client_mac=34:e1:2d:23:a6:68&wla
*webauthRedirect: Apr 09 21:49:51.950: 34:e1:2d:23:a6:68- http_response_msg_body1 is <HTML><HEAD><TITLE> Web Authentication Redirect</TITLE><META http-equiv="Cache-control" content="no-cache"><META http-equiv="Pragma" content="
*webauthRedirect: Apr 09 21:49:51.950: 34:e1:2d:23:a6:68- added redirect=, URL is now https://splash.dnaspaces.io/p2/mexeast1?switch_url=https://192.0.2.1/login.html&ap_mac=70:d3:79:dd:d2:00&client_mac=34:e1:2d:23:a6:68&wlan=Ai
*webauthRedirect: Apr 09 21:49:51.950: 34:e1:2d:23:a6:68- str1 is now https://splash.dnaspaces.io/p2/mexeast1?switch_url=https://192.0.2.1/login.html&ap_mac=70:d3:79:dd:d2:00&client_mac=34:e1:2d:23:a6:68&wlan=AireOS-DNASpaces&r
*webauthRedirect: Apr 09 21:49:51.950: 34:e1:2d:23:a6:68- Message to be sent is
HTTP/1.1 200 OK
Location: https://splash.dnaspaces.io/p2/mexeast1?switch_url=https://192.0.2.1/login.html&ap_mac=70:d3:79:dd:d2:00&client_mac=34:
*webauthRedirect: Apr 09 21:49:51.950: 34:e1:2d:23:a6:68- 200 send_data =HTTP/1.1 200 OK
Location: https://splash.dnaspaces.io/p2/mexeast1?switch_url=https://192.0.2.1/login.html&ap_mac=70:d3:79:dd:d2:00&client_mac=34:e1:2d:23
*webauthRedirect: Apr 09 21:49:51.950: 34:e1:2d:23:a6:68- send data length=688
*webauthRedirect: Apr 09 21:49:51.950: 34:e1:2d:23:a6:68- Url:https://splash.dnaspaces.io/p2/mexeast1
*webauthRedirect: Apr 09 21:49:51.950: 34:e1:2d:23:a6:68- cleaning up after send
レイヤ3認証に成功しました。クライアントをRUN状態に移行します。
*emWeb: Apr 09 21:49:57.633: Connection created for MAC:34:e1:2d:23:a6:68
*emWeb: Apr 09 21:49:57.634:
ewaURLHook: Entering:url=/login.html, virtIp = 192.0.2.1, ssl_connection=0, secureweb=1
*ewmwebWebauth1: Apr 09 21:49:57.634: 34:e1:2d:23:a6:68 10.10.30.42 WEBAUTH_NOL3SEC (14) Change state to RUN (20) last state WEBAUTH_NOL3SEC (14)
*ewmwebWebauth1: Apr 09 21:49:57.634: 34:e1:2d:23:a6:68 CL_EVENT_WEB_AUTH_DONE (8), reasonCode (0), Result (0), ServerIp (), UserName ()
*ewmwebWebauth1: Apr 09 21:49:57.634: 34:e1:2d:23:a6:68 CL_EVENT_RUN (9), reasonCode (0), Result (0), Role (1), VLAN/VNID (20), Ipv4Addr (10.10.30.42), Ipv6Present (No)
*ewmwebWebauth1: Apr 09 21:49:57.634: 34:e1:2d:23:a6:68 10.10.30.42 RUN (20) Successfully plumbed mobile rule (IPv4 ACL ID 255, IPv6 ACL ID 255, L2 ACL ID 255,URL ACL ID 255,URL ACL Action 0)
*emWeb: Apr 09 21:49:57.634: User login successful, presenting login success page to user