# 無線LANコントローラー（AWC対応） / キャプティブポータル

無線LANコントローラー機能では、キャプティブポータル（Web認証）の設定をサポートしています。
Note

AT-TQ6602ではバージョン7.0.1-2.1以降が必要です。

キャプティブポータルの設定は、無線ネットワーク設定の一部として行います。
キャプティブポータルの設定にかかわるコマンドは以下のとおりです。
具体的な設定手順は以下の「設定手順」をご覧ください。

実施内容 | 初期設定 | コマンド
設定コマンド
キャプティブポータル設定の作成 | 未作成 | captive-portal（無線ネットワークモード）
キャプティブポータルの有効・無効 | 無効 | enable（キャプティブポータル設定モード）
認証モード | クリックスルー | mode（キャプティブポータル設定モード）
認証ページプロキシー | 無効 | page-proxy-url（キャプティブポータル設定モード）
RADIUSサーバーグループ | 未設定 | radius auth group（キャプティブポータル設定モード）
認証後リダイレクト（固定URL） | 無効 | redirect-url（キャプティブポータル設定モード）
認証後リダイレクト（セッション維持） | 無効 | session-keep（キャプティブポータル設定モード）
外部キャプティブポータル認証ページ | 未設定 | external-page-url（キャプティブポータル設定モード）
ウォールドガーデン | 未設定 | walled-garden entry（キャプティブポータル設定モード）
ウォールドガーデン用DNSプロキシ | 無効 | walled-garden-dns-proxy enable（キャプティブポータル設定モード）
RADIUSアカウンティング | 無効 | radius accounting enable（キャプティブポータル設定モード）
無線クライアントの再認証間隔 | 3600 | session-timeout-interval（キャプティブポータル設定モード）
再認証タイマー満了時の動作 | reauthentication | session-timeout-action（キャプティブポータル設定モード）
RADIUSパケット検証機能 | 無効 | verify-radius-packet enable（キャプティブポータル設定モード）
確認コマンド
ウォールドガーデン一覧 |  | show wireless captive-portal network walled-garden（非特権EXECモード）

## 概要

キャプティブポータル（Web認証）は、Webブラウザーを使用して、無線クライアントの認証を行う仕組みです。
Web認証が有効な環境では、無線クライアントは無線APに接続しただけでは通信を行えず、Webブラウザーを利用したユーザー認証をパスして初めてネットワークへのアクセスが可能になります。
無線LANコントローラーと無線APは、無線クライアントが接続してからWeb認証が成功するまでの間、ARP、DHCP、DNSを除くすべてのトラフィックをブロックしつつ、無線クライアントからのトラフィックを監視します。そして、無線クライアントが送信した最初のHTTP/HTTPSパケットを検出すると、そのHTTP/HTTPS通信をキャプティブポータルと呼ばれる認証ページにリダイレクトして認証を行います。
無線LANコントローラーで設定可能なキャプティブポータルには、3つの種類（動作モード）があります。

- 外部RADIUS認証
  利用者に事前通知したユーザー名とパスワードによってRADIUS認証を行います。次の画面はAT-TQ5403の例です。

  利用者が認証ページで入力したユーザー情報は、RADIUSサーバーに登録されたものと照合されます。
  利用者は認証ページで正当なユーザー名とパスワードを入力し、またシングルバンド/デュアルバンドAT-TQシリーズでは使用条件に同意する旨のチェックボックスにチェックを入れて、「Connect」ボタンをクリックすることで、ネットワーク上のリソースにアクセスできるようになります。
- クリックスルー
  画面に表示される利用規約（クリックスルー契約）に同意することで認証を行い、ネットワーク接続を許可します。
  事前にユーザー名/パスワードといった利用者登録を必要とせず、例えば、不法行為や中傷などを目的とした無線ネットワークの利用の禁止や、MACアドレスの記録などの一般的な事項を含む契約に同意を得ることで、不特定多数の利用者にネットワークを開放する場合に有効です。次の画面はAT-TQ5403の例です。

  Note

  クリックスルーページの利用規約の文言を設定する場合は、無線LANコントローラーから必要な設定を適用後、AP自身のWeb設定画面から行ってください。

- 外部ページリダイレクト
  管理者が事前に指定した外部キャプティブポータル認証ページで認証を行います。
  Note

  外部ページリダイレクトによるWeb認証は下記APでのみ有効です。

  - AT-TQ7613
  - AT-TQ7403
  - AT-TQ6702 GEN2、AT-TQm6702 GEN2、AT-TQ6702e GEN2
  - AT-TQ6602 GEN2、AT-TQm6602 GEN2
  - AT-TQ6602 バージョン7.0.1-2.1以降
  - AT-TQ6403 GEN2、AT-TQm6403 GEN2
  - AT-TQ5403、AT-TQm5403、AT-TQ5403e
  - AT-TQ3403、AT-TQm3403
  - AT-TQ7403-R
  - AT-TQ6702 GEN2-R
  - AT-TQ6702e GEN2-R

外部RADIUS認証とクリックスルーでは、Web認証に成功すると、デフォルト設定では認証成功を示す画面が表示されます。
なお、無線APの機種によっては、認証後リダイレクト機能 の設定により、利用者が最初に指定していた本来のURLへリダイレクトしたり（セッション維持）、管理者が事前設定した特定のURL（固定URL）にリダイレクトすることもできます。
次の画面はAT-TQ5403の認証成功ページの例です。

無線APの機種によっては、認証ページプロキシ機能と外部Webサーバーを利用することで、認証ページ、クリックスルーページなどの認証関連ページをカスタマイズすることもできます。詳しくは「認証関連ページのカスタマイズ」をご覧ください。

### 802.11の認証・暗号化とWeb認証

IEEE 802.11の認証と暗号化は、IEEE 802.11のレイヤーで処理されますが、Web認証はもっと高いレイヤーで実行されます。
たとえば、無線クライアントがアソシエートしているアクセスポイントの無線ネットワークがWPAを使うように設定されている場合、WPAの認証と暗号化は無線クライアントからのデータ送信の前に行われます。WPAネゴシエーションが成功すると、無線クライアントはWPAによって暗号化された経路でARP/DHCPを送信します。その後無線クライアントがHTTP/HTTPSパケットを送信すると、これが無線APによって検出、捕捉され、キャプティブポータルにリダイレクトされます。

### 中央Web認証

管理中の無線APの間で、Web認証の情報を共有することができます。
Web認証をした無線クライアントが別の無線APにローミングしたときに、再度Web認証を行わずに通信を続けることが可能です。
無線クライアントの認証情報は最大12000件まで保存されます。
無線LANコントローラーを再起動すると、保存された認証情報は削除されます。
Note

中央Web認証は下記APでのみ有効です。また、該当の無線APでは中央Web認証は常に有効となります。

- AT-TQ7613
- AT-TQ7403
- AT-TQ6702 GEN2、AT-TQm6702 GEN2、AT-TQ6702e GEN2
- AT-TQ6602 GEN2、AT-TQm6602 GEN2
- AT-TQ6602 バージョン7.0.1-2.1以降
- AT-TQ6403 GEN2、AT-TQm6403 GEN2
- AT-TQ5403、AT-TQm5403、AT-TQ5403e
- AT-TQ3403、AT-TQm3403
- AT-TQ1402、AT-TQm1402 バージョン6.0.0-1.3以降
- AT-TQ7403-R
- AT-TQ6702 GEN2-R
- AT-TQ6702e GEN2-R

Note

中央Web認証を使用する場合は、無線APのNTPクライアント機能を有効にし、無線APと無線LANコントローラーの時刻を一致させる必要があります。

Note

中央Web認証が有効な場合、セッションタイムアウト前にローミングによる再接続を行った際、セッションタイムアウト値は更新されません。

### ダイナミックVLANとの併用

Web認証単独では、ダイナミックVLANは行いません。ダイナミックVLANを利用する場合は、Web認証に加え、IEEE 802.11の認証方式としてWPA Enterprise認証を併用する必要があります。
無線クライアントの接続先VLANは、IEEE 802.11の認証または接続の際に決定したVLANを使用します。
すなわち、WPA EnterpriseによるダイナミックVLANを利用する場合はそのVLANが、ダイナミックVLANを利用しない場合はVAPに指定されたVLANが、そのまま適用されます。
Note

Web認証またはMACアドレス認証とWPA Enterprise認証を併用した場合は、「MACアドレス認証」→「WPA Enterprise認証」→「Web認証」の順で認証処理が行われます。

### 対応無線APとサポート機能

キャプティブポータル（Web認証）関連のサポート機能は、次のとおり無線APの機種によって異なります。

項目名 | TQ1402 TQm1402 | TQ3403 TQm3403 | TQ5403 TQm5403 TQ5403e | TQ6403 GEN2 TQm6403 GEN2 | TQ6602 | TQ6602 GEN2 TQm6602 GEN2 | TQ6702 GEN2 TQm6702 GEN2 TQ6702e GEN2 | TQ7403 | TQ7613 | TQ7403-R TQ6702 GEN2-R TQ6702e GEN2-R
外部RADIUS認証 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○
認証ページプロキシ（カスタムページ） | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○
認証後リダイレクト | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○
クリックスルー | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○
認証ページプロキシ（カスタムページ） | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○
認証後リダイレクト | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○
外部ページリダイレクト | - | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○

Note

本機能はAT-TQ6602ではバージョン7.0.1-2.1以降でのサポートです。

## 設定手順

キャプティブポータルを使用するために必要な設定の流れを具体的な例をあげて説明します。

### 構成例

ここでは、外部RADIUS認証を使用する次の構成を例にします。

表 3：無線LANコントローラー
管理IPアドレス（VLAN ID） | 192.168.1.1（1）
NTPサーバー機能 | 有効
DHCPサーバー機能 | 有効
ローカルRADIUSサーバー機能 | 有効

表 4：アクセスポイント
番号 | 機種名 | IPアドレス（VLAN ID） | MACアドレス
1 | AT-TQ5403 | 192.168.1.101（1） | 0000.5e00.5301

表 5：有線ネットワーク
VLAN ID | IPサブネット | 備考
1 | 192.168.1.0/24 | 無線LANコントローラーと管理下APの通信に使用する管理用VLAN

表 6：無線ネットワーク
番号 | SSID | VLAN ID | セキュリティー設定
802.11認証・暗号化 | その他の認証方式
1 | wnet1 | 1 | なし | Web認証（キャプティブポータル） | 外部RADIUS認証

表 7：外部Webサーバー
ドメイン名 | www.example.com
カスタムページ設置ディレクトリー | /captive_portal

なお、以下の項目については事前に設定が済んでいるものとします。

- 無線LANコントローラー（本製品）、スイッチの有線ネットワーク設定（VLAN、IPアドレス、NTP、DHCPサーバー、インターネット接続、ファイアウォールなど）。
- 無線APのIPアドレス設定（無線AP単独で実施）
- 外部Webサーバーの設定（認証ページ、認証失敗ページ、認証成功ページのファイルを含む）

Note

アクセスリストなどのフィルタリング機能併用時は、無線LANコントローラーと管理下AP間の通信が遮断されないようにご注意ください。

Note

無線AP単独でのIPアドレス設定については、各APのリファレンスマニュアルをご参照ください。

Note

WDSが設定されている無線インターフェース上でWeb認証を使用しないでください。

Note

無線クライアントに割り当てられるIPアドレスから無線APのIPアドレスを参照できるよう、無線APの上位のスイッチ側で適切に設定する必要があります。また、AT-TQ6602、AT-TQ5403、AT-TQm5403、AT-TQ5403e、AT-TQ1402、AT-TQm1402ではキャプティブポータルのTCPポート番号として8080（HTTP）および8443（HTTPS）を使用しますので、上位のスイッチにてアクセスリストを適用している場合は、該当TCPポートの通信を許可する必要があります。

### 設定の流れ

無線LANコントローラーの設定は、概要編で説明した各設定要素を作成し、関連付けることで行います。各要素の作成順序は任意ですが、要素間には参照する側と参照される側の関係があるため、おおむね以下の順序で作成するとスムーズに設定を行うことができます。

1. RADIUSサーバーの設定
   無線APが使用するRADIUSサーバー（ローカルRADIUSサーバーまたは外部RADIUSサーバー）を設定します。
2. RADIUSサーバーの登録
   無線APが使用するRADIUSサーバーの登録を行います。
3. 無線LANコントローラー機能の有効化（全体設定）
   無線LANコントローラーの管理IPアドレスを指定し、同機能を有効化します。
4. 無線ネットワーク設定の作成
   無線ネットワークのSSID、VLANを定義し、キャプティブポータルの設定も行います。
5. AP共通設定（APプロファイル）の作成 → VAPごとに無線ネットワーク設定を指定
   同一製品シリーズ、同一ネットワークのAP単位で、無線モード、所属先無線ネットワークなどを定義します。
6. 無線APの登録（AP個別設定） → AP共通設定（APプロファイル）を指定
   各APのIP/MACアドレスを登録し、適用するAP共通設定（APプロファイル）や送信出力、使用チャンネルなどの個別設定を行います。
7. APの接続
   すべての準備が整ったら、APを接続して無線ネットワークを構築します。

### RADIUSサーバーの設定

Web認証では、外部のRADIUSサーバー、または内蔵のローカルRADIUSサーバーを利用して認証やアカウンティング（利用記録）を行うことができます。
ここではローカルRADIUSサーバーを認証に使うものとします。
外部のRADIUSサーバーを使用する場合は、ご使用のサーバー製品のマニュアルと「RADIUSサーバー側の設定」を参照の上、同様な設定を行ってください。

1. radius-server localコマンドでローカルRADIUSサーバーの設定を開始します。

       Controller(config)# radius-server local

2. ローカルRADIUSサーバーの初回設定時には、自装置（127.0.0.1）をRADIUSクライアント（NAS）として自動登録しますが、本構成例においてはRADIUSサーバーを利用するのは無線APであるため、自動登録されたNASを削除し、あらためて無線APをNASとして登録します。

       Controller(config-radsrv)# no nas 127.0.0.1
       Controller(config-radsrv)# nas 192.168.1.101 key nas123456

3. Web認証の利用者（ユーザー）を登録します。

       Controller(config-radsrv)# user userA password passwordA
       Controller(config-radsrv)# user userB password passwordB
       Controller(config-radsrv)# user userC password passwordC

4. RADIUSサーバーを有効にします。

       Controller(config-radsrv)# server enable
       Controller(config-radsrv)# exit

### RADIUSサーバーの登録

無線APが認証に使用するRADIUSサーバーを登録します。
ここでは前の手順で設定したローカルRADIUSサーバーを利用するものと仮定し、使用するRADIUSサーバーの登録を行います。

1. radius-server hostコマンドを用いて、RADIUSサーバーのIPアドレスと共有パスワードを登録します。
   ここでは前の手順で設定したローカルRADIUSサーバーを使用しますので、本製品のIPアドレスとシークレット（共有パスワード）を指定します。
   外部のRADIUSサーバーを使用する場合は、同サーバーのIPアドレスとシークレットを指定してください。

       Controller(config)# radius-server host 192.168.1.1 key nas123456

### 無線LANコントローラー機能の有効化（全体設定）

無線LANコントローラーの設定を行うには、最初に無線LANコントローラーがAPとの通信に使うIPアドレス（管理IPアドレス）を指定し、同機能を有効にする必要があります。

1. 無線LANコントローラー機能の全体設定を行うため、グローバルコンフィグモードからwirelessコマンドを実行して無線LANコントローラーモードに入ります。

       Controller(config)# wireless

2. 同モードのmanagement addressコマンドで無線LANコントローラーの管理IPアドレス（APとの通信に使用するIPアドレス）を指定します。
   管理IPアドレスには、本製品のインターフェースに設定されているIPアドレスの中で、APとの通信が可能なアドレスを指定してください。

       Controller(config-wireless)# management address 192.168.1.1

3. enableコマンドで無線LANコントローラー機能を有効にします。

       Controller(config-wireless)# enable

以上で無線LANコントローラー機能の有効化は完了です。
無線LANコントローラーの全体設定はshow wirelessコマンドで確認できます。

    Controller> show wireless
    Wireless Controller Mode ........ Enable
    Management IP Address ........... 192.168.1.1
    Rogue AP Detection .............. Enable

### 無線ネットワーク設定の作成

無線ネットワーク設定では、各無線ネットワークのSSID、VLANなどを定義し、さらにキャプティブポータルの設定も行います。
無線ネットワーク設定の作成を開始するには、無線LANコントローラーモードのnetworkコマンドを実行し、無線ネットワークモードに入ります。このとき、個々のネットワーク設定を識別するための番号として1～65535の範囲から任意の数字を指定します。

1. networkコマンドで無線ネットワーク「wnet1」（ID=1）の設定を作成し、同設定を編集するための無線ネットワークモードに入ります。

       Controller(config-wireless)# network 1

2. ssidコマンドでSSIDを指定します。

       Controller(config-wireless-network)# ssid wnet1

3. vlanコマンドで所属VLANを指定します。

       Controller(config-wireless-network)# vlan 1

4. ここからキャプティブポータルの設定に入ります。最初にcaptive-portalコマンドでキャプティブポータル設定モードに入ります。

       Controller(config-wireless-network)# captive-portal

5. modeコマンドでキャプティブポータルの種類を指定します。ここでは「外部RADIUS認証」を指定します。

       Controller(config-wireless-network-cp)# mode radius

6. radius auth groupコマンドで認証とアカウンティングに使用するサーバーグループを指定します。

       Controller(config-wireless-network-cp)# radius auth group radius

7. page-proxy-urlコマンドで外部サーバーに設置したカスタムページのベースURLを指定します。
   カスタムページの詳細については「認証関連ページのカスタマイズ」をご覧ください。

       Controller(config-wireless-network-cp)# page-proxy-url http://www.example.com/captive_portal

8. enableコマンドでキャプティブポータルの設定を有効にします。

       Controller(config-wireless-network-cp)# enable

以上で無線ネットワーク設定は完了です。
無線ネットワーク設定はshow wireless networkコマンドで確認できます。briefオプションによって次のような一覧表示も可能です。

    Controller> show wireless network brief
    ID    VLAN SSID                             Hide  Sec ID MAC-Auth Web-Auth
    ----- ---- -------------------------------- ----- ------ -------- --------
        1    1 wnet1                                -      -        -        -

### AP共通設定（APプロファイル）の作成

AP共通設定（APプロファイル）は、同一製品シリーズかつ同一ネットワークに所属する複数APに共通して適用可能な設定をまとめて定義する仕組みです。
具体的には、適用対象の製品シリーズ、使用する無線モード、所属先無線ネットワークなどを定義します。
APプロファイルはAPの台数が多いときに特に威力を発揮しますが、適用対象が1台であってもAPプロファイルの作成は必須です。
ここでは、AT-TQ5403用のAPプロファイル「1」を作成します。

1. ap-profileコマンドでAPプロファイル番号を指定し、同プロファイルの内容を編集するためのAPプロファイルモードに入ります。

       Controller(config-wireless)# ap-profile 1

2. hwtypeコマンドでAPプロファイルの適用対象機種を指定します。

       Controller(config-wireless-ap-prof)# hwtype at-tq5403

3. radioコマンドで無線インターフェース「1」の設定モード（APプロファイル・無線モード）に入り、enableコマンドで無線電波の送受信を有効にし、vapコマンドでVAP番号と無線ネットワーク番号を指定します。

       Controller(config-wireless-ap-prof)# radio 1
       Controller(config-wireless-ap-prof-radio)# enable
       Controller(config-wireless-ap-prof-radio)# vap 0 network 1
       Controller(config-wireless-ap-prof-radio)# exit

以上でAP共通設定（APプロファイル）の作成は完了です。
APプロファイルの設定はshow wireless ap-profileコマンドで確認できます。briefオプションによって次のような一覧表示も可能です。

    Controller> show wireless ap-profile brief
    ID    Description                      HWTYPE         Radio 1 Radio 2 Radio 3
    ----- -------------------------------- -------------- ------- ------- -------
        1                                  at-tq5403      Enable  Disable Disable

### APの登録（AP個別設定）

AP共通設定（APプロファイル）の作成が完了したら、APを無線LANコントローラーの管理下に登録します。
登録にはAPのIPアドレスとMACアドレスが必要です。
APの登録を開始するには、無線LANコントローラーモードのapコマンドを実行し、AP登録モードに入ります。このとき、個々の管理下APを識別するための番号として1～65535の範囲から任意の数字を指定します。

1. apコマンドでAP「1」を登録するためのAP登録モードに入ります。

       Controller(config-wireless)# ap 1

2. ip-addressコマンドとmac-addressコマンドでAP「1」のIPアドレスとMACアドレスを指定します。

       Controller(config-wireless-ap)# ip-address 192.168.1.101
       Controller(config-wireless-ap)# mac-address 0000.5e00.5301

3. profileコマンドでAP「1」に適用するAP共通設定（APプロファイル）を指定します。

       Controller(config-wireless-ap)# profile 1

4. enableコマンドでAP「1」の登録を有効にします。

       Controller(config-wireless-ap)# enable

以上でAPの登録は完了です。
登録したAPの情報はshow wireless apコマンドで確認できます。briefオプションによって次のような一覧表示も可能です。

    Controller> show wireless ap brief
    ID    Description Status  Prof  IP Address      MAC Address
    ----- ----------- ------- ----- --------------- --------------
        1             Enable      1 192.168.1.101   0000.5e00.5301

### APの接続

設定が完了したら、APを接続します。
無線LANコントローラーの管理下に入るとshow wireless ap statusコマンドで以下のように表示されます。

    Controller# show wireless ap status
    ID    Model        FW ver     Manage rup Config   c Clnt Uptime
    ----- ------------ ---------- ---------- ---------- ---- ---------------
        1 AT-TQ5403    5.4.0.B04  Managd --- Succeed  -    0            2227

以上で設定は完了です。
設定したSSIDにクライアントを接続すると外部RADIUS認証を使用したキャプティブポータルを使用することができます。

## RADIUSサーバー側の設定

外部RADIUS認証を使用する場合、以下の情報をRADIUSサーバーに登録する必要があります。

- RADIUSクライアント（NAS）の登録
  Web認証を行う無線APをRADIUSクライアント（NAS）としてRADIUSサーバーに登録します。

  RADIUSクライアントのIPアドレス | 無線APのIPアドレス （例）192.168.1.230
  シークレット | 無線APがRADIUSサーバーを認証するためのパスワード （例）"himitsu"

  Note

  認証処理は無線APが行いますので、Web認証を行うすべての無線APをRADIUSサーバーに登録する必要があります。

  Note

  RADIUSサーバーの詳細な設定方法については、ご使用のサーバー製品のマニュアルをご参照ください。

  Note

  キャプティブポータルでサポートする認証タイプはPAPのみです。

- 無線クライアントの利用者（ユーザー）登録
  Web認証を受ける利用者のユーザー名、パスワードを登録します。

  属性名 | 属性値 | 備考
  User-Name | ユーザー名 | 認証対象のユーザー名（例："user1", "user2"）
  User-Password | パスワード | （PAP使用時） ユーザー名に対応するパスワード（例："passwd1", "passwd2"）

さらに、トライバンドAT-TQシリーズ（AT-TQ5403、AT-TQm5403、AT-TQ5403e）では、オプションで次のRADIUS属性を指定することもできます。

- セッションタイムアウト（ネットワーク利用時間）

  属性名 | 属性値 | 備考
  Session-Timeout | セッションタイムアウト（秒） | ユーザーのネットワークへの接続を許可する時間

## その他の設定

### 認証後リダイレクト

AT-TQ6602、AT-TQ5403、AT-TQm5403、AT-TQ5403e、AT-TQ1402、AT-TQm1402では、「認証後リダイレクト」機能によって、Web認証に成功した利用者のWebブラウザーを認証成功ページではなく、他のページにリダイレクトすることができます。
認証後リダイレクト機能は、次の設定が可能です。

- 無効（初期設定）
  Web認証に成功した利用者のWebブラウザーには、認証成功ページ（外部RADIUS認証時および外部ページリダイレクト時）かクリックスルー同意後ページ（クリックスルー時）が表示されます。
  他のページにはリダイレクトされません。
- セッション維持（session-keep）
  Web認証に成功した利用者のWebブラウザーを、Web認証開始前に指定された本来のURLにリダイレクトします。
  利用者からは、本来のURLへのアクセスがWeb認証によって一時中断されたのち、自動的に再開されたように見えます。
  セッション維持を有効にするには、キャプティブポータル設定モードでsession-keepコマンドを実行します。

      awplus(config-wireless-network-cp)# session-keep

  Note

  外部ページリダイレクト時には次のように動作します。`?redirect=`については「外部ページリダイレクト」をご覧ください。

  - `?redirect=`が指定されている場合：`?redirect=`で指定された認証後のリダイレクト先URLにリダイレクトされます。
  - `?redirect=`が指定されていない場合：「無効」時と同じ認証成功ページにリダイレクトされます。
- 固定URL（redirect-url）
  Web認証に成功した利用者のWebブラウザーを、管理者が事前設定した特定のURL（固定URL）にリダイレクトします。
  ネットワーク利用開始にあたって、各種のお知らせや注意事項などを利用者に通知する場合に利用できます。
  固定URLへのリダイレクトを有効にするには、キャプティブポータル設定モードでredirect-urlコマンドを実行します。

      awplus(config-wireless-network-cp)# redirect-url https://www.example.com/README1ST.html

  Note

  session-keepコマンドとredirect-urlコマンドの両方が設定されているときは、session-keep（セッション維持）が優先されます。固定URLへのリダイレクトを行いたいときは、session-keepの設定を無効にしてください。

### 認証関連ページのカスタマイズ

「認証ページプロキシ」機能と外部Webサーバーを利用することにより、キャプティブポータル内の各ページをカスタマイズすることができます。
Note

外部ページリダイレクト時は、「認証ページプロキシ」によるカスタマイズを利用できません。
外部のキャプティブポータル認証ページは自由に作成することが可能です。詳しくは「外部ページリダイレクト」をご覧ください。

カスタマイズは、所定の名前でHTMLファイルを作成し、外部Webサーバーに設置することで行います。この方法では、無線AP内蔵の認証ページを利用する場合より、ページ全体の外観を大きく変更することができます。CSSファイルや画像ファイルを利用したレイアウト変更も可能です。
Note

クリックスルーページの利用規約の文言は、無線AP個別のWeb設定画面から行ってください。

認証ページプロキシを使用する場合、カスタマイズされたページ（カスタムページ）自体は外部Webサーバーに置かれますが、無線クライアントから外部Webサーバーに直接アクセスするわけではありません。無線APがリバースプロキシーとして外部Webサーバー上のページを取得し、無線クライアントに返送する形となりますので、無線クライアントからはあくまでも無線APに接続しているように見えます。
認証ページプロキシを使用する場合は、キャプティブポータル設定モードのpage-proxy-urlコマンドで「ベースURL」を指定します。
ベースURLは、カスタムページを設置する外部サーバー上のディレクトリーを表す絶対URLです。

    awplus(config-wireless-network-cp)# page-proxy-url http://www.example.com/captive_portal

Note

無線APの認証ページプロキシは、無線クライアントを認証するたびに外部Webサーバーにファイルを要求します。そのため、認証ページプロキシを使用する場合は、つねに無線APから外部Webサーバーにアクセスできる必要があります。

Note

キャプティブポータルの動作上、外部Webサーバーはカスタムページ（ファイル）を認証ページプロキシに提供できさえすればよく、それ以外の要件はありません。外部WebサーバーからRADIUSサーバーにアクセスできる必要はありませんし、外部Webサーバーで認証ページが実際に機能する必要もありません。

Note

外部サーバーに設置するHTMLファイル内に外部ファイルへのリンクを記述する際は、ファイルへの参照を相対パスで記述してください。

#### 外部RADIUS認証

外部RADIUS認証の各ページをカスタマイズする場合は、下記の仕様にしたがってカスタムページを用意し、page-proxy-urlコマンドで指定した外部Webサーバー上のディレクトリーにページコンテンツ（HTMLファイルなど）を設置してください。

- 認証ページ
  - HTMLファイル名: `radius_login.html`
    ベースURLに「http://www.example.com/captive_portal」を指定した場合、無線APのプロキシー機能は「http://www.example.com/captive_portal/radius_login.html」にアクセスして、内容を無線クライアントに転送します。
  - HTMLファイルに必要な記述

        <form method="POST">
           <input type="text" name="userid">
           <input type="password" name="password">
           <input type="submit" value="Connect">
        </form>

    送信ボタン部分の値は「Connect」である必要はありません、また、フォームの送信が可能であれば、<button>要素でも代替可能です。
- 認証失敗ページ
  - HTMLファイル名: `radius_login_fail.html`
    ベースURLに「http://www.example.com/captive_portal」を指定した場合は、無線APのプロキシー機能は「http://www.example.com/captive_portal/radius_login_fail.html」を参照して、内容を無線クライアントに転送します。
  - HTMLファイルに必要な記述
    認証ページと同様です。
    外部サーバーに設置する認証ページには、次のフォーム要素を含む必要があります。

        <form method="POST">
           <input type="text" name="userid">
           <input type="password" name="password">
           <input type="submit" value="Connect">
        </form>

    送信ボタン部分の値は「Connect」である必要はありません、また、フォームの送信が可能であれば、<button>要素でも代替可能です。
- 認証成功ページ
  - HTMLファイル名: `welcome.html`
    ベースURLに「http://www.example.com/captive_portal」を指定した場合は、無線APのプロキシー機能は「http://www.example.com/captive_portal/welcome.html」を参照して、内容を無線クライアントに転送します。
  - HTMLファイルに必要な記述
    特にありません。

Note

HTML/CSSの書き方や書式、編集後の問題に関してはサポート対象外となります。あらかじめご了承ください。

#### クリックスルー

クリックスルーの各ページをカスタマイズする場合は、下記の仕様にしたがってカスタムページを用意し、page-proxy-urlコマンドで指定した外部Webサーバー上のディレクトリーにページコンテンツ（HTMLファイルなど）を設置してください。

- クリックスルーページ
  - HTMLファイル名: `click_through_login.html`
    ベースURLに「http://www.example.com/captive_portal」を指定した場合は、無線APのプロキシー機能は「http://www.example.com/captive_portal/click_through_login.html」を参照して、内容を無線クライアントに転送します。
  - HTMLファイルに必要な記述
    外部サーバーに設置するクリックスルーページには、次のフォーム要素を含む必要があります。

        <form method="POST">
           <input type="submit" value="Agree">
        </form>

    送信ボタン部分の値は「Agree」である必要はありません、また、フォームの送信が可能であれば、<button>要素でも代替可能です。
- クリックスルー同意後ページ
  - HTMLファイル名: `welcome.html`
    ベースURLに「http://www.example.com/captive_portal」を指定した場合は、無線APのプロキシー機能は「http://www.example.com/captive_portal/welcome.html」を参照して、内容を無線クライアントに転送します。
  - HTMLファイルに必要な記述
    特にありません。

Note

HTML/CSSの書き方や書式、編集後の問題に関してはサポート対象外となります。あらかじめご了承ください。

### 外部ページリダイレクト

外部ページリダイレクトを使用する場合は、下記の条件にしたがって外部のキャプティブポータル認証ページを作成してください。
外部認証ページにリダイレクトする際に以下の情報をクエリ文字列として付加します。

- switch_url：APの認証ページのURL
- ap_mac：無線クライアントが接続している VAP の BSSID
- wlan：無線クライアントが接続している VAP の SSID
- client_mac：無線クライアントの MAC アドレス
- statusCode：認証状態 (0：通常のリクエスト、5：認証失敗)
- redirect：無線クライアントが接続しようとしていたページのURL（「http://」、「https://」は含まれません）

また、POSTに関して、以下を満たす必要があります。

- MIME type は "application/x-www-form-urlencoded" です。
- キーと値は '=' で繋ぎ、それぞれのキーバリューは '&' で繋いでください。
- キーバリューの値はパーセントエンコーディングしてください。
- 以下のキーバリューを送信してください。
  - キー：'userid' or 'username', 値: RADIUS 認証に用いるユーザーID
  - キー：'password', 値: RADIUS 認証に用いるパスワード
- 認証先は、APの認証ページにする必要があります。
  - form の場合は action 属性で指定できます。
  - `?redirect=`を追加すると、認証後のリダイレクト先を指定できます。（セッション維持設定時のみ有効。無効および固定URL設定時は redirect パラメーターは無視されます）

HTMLファイルの設定例

    <html>
    <head>
        <title>Captive Portal</title>
        <script>
            function loadaction() {
                var queryString = window.location.search;
                var queryObject = new Object();
                if (queryString) {
                    queryString = queryString.substring(1);
                    var parameters = queryString.split('&');
                    for (var i = 0; i < parameters.length; i++) {
                        var element = parameters[i].split('=');
                        var paramName = decodeURIComponent(element[0]);
                        var paramValue = decodeURIComponent(element[1]);
                        queryObject[paramName] = paramValue;
                    }
                }
                var redirectUrl = "https://" + queryObject["redirect"];
                document.forms[0].action = queryObject["switch_url"] + "?redirect=" + redirectUrl;
                if (queryObject["statusCode"] == 5) {
                    window.alert("Invalid username or password!");
                }
            }
        </script>
    </head>
    <body onload="loadaction();">
        <form method="POST" action="">
            User Name<input type="text" name="username"><br>
            Password<input type="password" name="password"><br>
            <input type="submit" value="Connect"></input>
        </form>
    </body>
    </html>

Note

HTML/CSSの書き方や書式、編集後の問題に関してはサポート対象外となります。あらかじめご了承ください。