無線機能 / キャプティブポータル

キャプティブポータル(Web認証)の設定にかかわるコマンドは以下のとおりです。

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

Web認証では以下の方式を利用可能です。
RADIUSサーバー(外部RADIUS) RADIUSサーバーを利用して認証を行います。
クリックスルー 無線ネットワークの利用者に対して利用規約のページを表示し、ボタンクリックで規約に同意してもらうことにより通信を許可します。
外部ページリダイレクト SNSなどの第三者機関のWeb認証を使用して接続できるようになります。
認証に成功すると認証後リダイレクトページが表示されます。

RADIUSサーバー(外部RADIUS)

ここでは、任意のVAP(セキュリティーはWPAパーソナル)において、RADIUSサーバー(外部RADIUS)を利用したWeb認証を設定する方法を説明します。
  1. Web認証で使用するローカルRADIUSサーバーの設定を行うため、RADIUSサーバーモードに移行します。
    awplus(config)# radius-server local
    

  2. ローカルRADIUSサーバーのユーザーとパスワードを設定します。ここではユーザーを「user」、パスワードを「password」とします。
    awplus(config-radsrv)# user user password password
    

  3. ローカルRADIUSサーバーを有効にします。
    awplus(config-radsrv)# server enable
    

  4. グローバルコンフィグモードに戻り、RADIUSクライアントの設定で自身のローカルRADIUSサーバーを使用するように指定します。
    ここでは、ホストのIPアドレスを「127.0.0.1」、RADIUSサーバーとの通信に使用する共有パスワードを「awplus-local-radius-server」とします。
    awplus(config-radsrv)# exit
    awplus(config)# radius-server host 127.0.0.1 key awplus-local-radius-server
    

  5. VAPで使用するセキュリティーとネットワークの設定を行います。

    1. WPAパーソナルのセキュリティー設定を作成します。
      ここでは、セキュリティー設定番号を「2」とします。
      awplus(config)# wireless
      awplus(config-wireless)# security 2 mode wpa-personal
      

    2. WPAパーソナルのセキュリティーキーの設定を行います。
      ここでは、セキュリティーキーを「1234567890」とします。
      awplus(config-wireless-sec-wpa-psnl)# key 1234567890
      awplus(config-wireless-sec-wpa-psnl)# exit
      

    3. VAPで使用する無線ネットワーク設定を作成します。
      ここでは、無線ネットワーク設定番号を「2」とします。
      awplus(config-wireless)# network 2
      

    4. SSIDを指定します。
      ここでは、「network2」とします。
      awplus(config-wireless-network)# ssid network2
      

    5. 手順3で設定したネットワークにセキュリティーを割り当てます。
      awplus(config-wireless-network)# security 2
      

  6. Web認証を有効にし、Web認証に使用するRADIUSサーバーグループを指定します。
    awplus(config-wireless-network)# web-auth radius auth group radius
    

  7. キャプティブポータル設定モードに移行し、キャプティブポータル(Web認証)を有効にします。
    awplus(config-wireless-network)# captive-portal
    awplus(config-wireless-network-cp)# enable
    

  8. Web認証の動作モード(外部RADIUS)を設定します。
    awplus(config-wireless-network-cp)# mode radius
    

  9. 認証に使用するRADIUSサーバーを指定します。
    awplus(config-wireless-network-cp)# radius auth group radius
    

  10. 外部RADIUSでは以下の機能を使用できます。必要に応じて設定を行ってください。
    • 認証ページの言語(auth-page-language(local)
      製品に内蔵されている認証ページの表示言語を英語、日本語から選択できます。デフォルトは英語です。
      awplus(config-wireless-network-cp)# auth-page-language ja
      

    • 認証ページプロキシ(page-proxy-url(local)
      外部Webサーバーに設置されたカスタムページを指定します。ここではカスタムページのアドレスを「http://www.example.com/captive_portal」とします。
      awplus(config-wireless-network-cp)# page-proxy-url http://www.example.com/captive_portal
      
      カスタムページのHTML作成方法は、「認証ページプロキシで使用するHTMLファイル」をご覧ください。

    • 認証後リダイレクト(セッション維持)(session-keep(local)
      認証成功後、Web認証前にユーザーが指定していた本来のURLにWebブラウザーをリダイレクトさせる機能を有効にします。
      awplus(config-wireless-network-cp)# session-keep
      

    • 認証後リダイレクト(固定URL)(redirect-url(local)
      認証成功後、固定URLにWebブラウザーをリダイレクトさせる機能を有効にします。
      ここでは、固定URLのアドレスを「http://www.example.com/captive_portal2」とします。
      awplus(config-wireless-network-cp)# redirect-url http://www.example.com/captive_portal2
      

    • ウォールドガーデン(walled-garden entry(local)
      Web認証が完了する前のユーザーや未認証のユーザーに対して閲覧可能なページを指定できる機能を有効にします。
      ここでは、FQDNのアドレスをワイルドカードを使用して「*.example-ex.com」とします。
      awplus(config-wireless-network-cp)# walled-garden entry *.example-ex.com
      

    • ウォールドガーデン用DNSプロキシ(walled-garden-dns-proxy enable(local)
      ウォールドガーデン機能使用時に無線APに接続されている無線クライアントからのDNS問合せや無線クライアントへのDNS応答を代理で行う機能を有効にします。
      awplus(config-wireless-network-cp)# walled-garden-dns-proxy enable
      

  11. 無線設定モードに戻り、ローカルAP用のAPプロファイル「local」を編集するためAPプロファイルモードに入ります。さらに、APプロファイル・無線モードに移行し、無線1を有効にします。
    awplus(config-wireless-network-cp)# exit
    awplus(config-wireless-network)# exit
    awplus(config-wireless)# ap-profile local
    awplus(config-wireless-ap-prof)# radio 1
    awplus(config-wireless-ap-prof-radio)# enable
    

  12. VAP2にネットワーク2を割り当てます。
    awplus(config-wireless-ap-prof-radio)# vap 2 network 2
    

  13. 特権EXECモードに戻り設定を適用します。
    awplus(config-wireless-ap-prof-radio)# end
    awplus# wireless ap-configuration apply ap local
    

認証ページプロキシで使用するHTMLファイル

RADIUSサーバーを利用したWeb認証で認証ページプロキシを使用する場合は、「ベースURL」で指定したWebサーバー上のディレクトリーに以下のHTMLファイルを用意してください。

クリックスルー

ここでは、任意のVAP(セキュリティーはWPAパーソナル)において、クリックスルー方式のWeb認証を設定する方法を説明します。
  1. VAPで使用するセキュリティーとネットワークの設定を行います。

    1. WPAパーソナルのセキュリティー設定を作成します。
      ここでは、セキュリティー設定番号を「2」とします。
      awplus(config)# wireless
      awplus(config-wireless)# security 2 mode wpa-personal
      

    2. WPAパーソナルのセキュリティーキーの設定を行います。
      ここでは、セキュリティーキーを「1234567890」とします。
      awplus(config-wireless-sec-wpa-psnl)# key 1234567890
      awplus(config-wireless-sec-wpa-psnl)# exit
      

    3. VAPで使用する無線ネットワーク設定を作成します。
      ここでは、無線ネットワーク設定番号を「2」とします。
      awplus(config-wireless)# network 2
      

    4. SSIDを指定します。
      ここでは、SSIDを「network2」とします。
      awplus(config-wireless-network)# ssid network2
      

    5. 手順3で設定したネットワークにセキュリティーを割り当てます。
      awplus(config-wireless-network)# security 2
      

  2. キャプティブポータル設定モードに移行し、キャプティブポータル(Web認証)を有効化します。
    awplus(config-wireless-network)# captive-portal
    awplus(config-wireless-network-cp)# enable
    

  3. Web認証の動作モード(クリックスルー)を設定します。
    awplus(config-wireless-network-cp)# mode click-through
    

  4. クリックスルーでは以下の機能を使用できます。必要に応じて設定を行ってください。

    • 認証ページの言語(auth-page-language(local)
      製品に内蔵されている認証ページの表示言語を英語、日本語から選択できます。デフォルトは英語です。
      awplus(config-wireless-network-cp)# auth-page-language ja
      

    • 利用規約のカスタマイズ(click-through agreement-msg(local)
      製品に内蔵されている認証ページに表示される利用規約の文面をカスタマイズします。カスタム利用規約の設定方法は「利用規約のカスタマイズ」をご覧ください。

    • 認証ページプロキシ(page-proxy-url(local)
      外部Webサーバーに設置されたカスタムページを指定します。ここではカスタムページのアドレスを「http://www.example.com/captive_portal」とします。
      awplus(config-wireless-network-cp)# page-proxy-url http://www.example.com/captive_portal
      
      カスタムページのHTML作成方法は、「認証ページプロキシで使用するHTMLファイル」をご覧ください。

    • 認証後リダイレクト(セッション維持)(session-keep(local)
      認証成功後、Web認証前にユーザーが指定していた本来のURLにWebブラウザーをリダイレクトさせる機能を有効にします。
      awplus(config-wireless-network-cp)# session-keep
      

    • 認証後リダイレクト(固定URL)(redirect-url(local)
      認証成功後、固定URLにWebブラウザーをリダイレクトさせる機能を有効にします。
      ここでは、固定URLのアドレスを「http://www.example.com/captive_portal2」とします。
      awplus(config-wireless-network-cp)# redirect-url http://www.example.com/captive_portal2
      

    • ウォールドガーデン(walled-garden entry(local)
      Web認証が完了する前のユーザーや未認証のユーザーに対して閲覧可能なページを指定できる機能を有効にします。
      ここでは、FQDNのアドレスをワイルドカードを使用して「*.example-ex.com」とします。
      awplus(config-wireless-network-cp)# walled-garden entry *.example-ex.com
      

    • ウォールドガーデン用DNSプロキシ(walled-garden-dns-proxy enable(local)
      ウォールドガーデン機能使用時に無線APに接続されている無線クライアントからのDNS問合せや無線クライアントへのDNS応答を代理で行う機能を有効にします。
      awplus(config-wireless-network-cp)# walled-garden-dns-proxy enable
      

  5. 無線設定モードに戻り、ローカルAP用のAPプロファイル「local」を編集するためAPプロファイルモードに入ります。さらに、APプロファイル・無線モードに移行し、無線1を有効にします。
    awplus(config-wireless-network-cp)# exit
    awplus(config-wireless-network)# exit
    awplus(config-wireless)# ap-profile local
    awplus(config-wireless-ap-prof)# radio 1
    awplus(config-wireless-ap-prof-radio)# enable
    

  6. VAP2にネットワーク2を割り当てます。
    awplus(config-wireless-ap-prof-radio)# vap 2 network 2
    

  7. 特権EXECモードに戻り設定を適用します。
    awplus(config-wireless-ap-prof-radio)# end
    awplus# wireless ap-configuration apply ap local
    

利用規約のカスタマイズ

クリックスルー利用規約の文面をカスタマイズするには次の手順にしたがいます。
  1. 以下の仕様を満たすテキストファイルを用意します。
    • 内容:利用規約のテキスト
      ただし、改行コードを含む制御文字は除去されるため、改行位置はHTMLタグ<br>で指定してください。
      <br>以外のHTMLタグはタグとしての意味を持たずにそのまま表示されます。
    • エンコーディング:UTF-8
    • サポート言語および文字種:英語と日本語
    • 最大文字数:1024文字(Unicodeコードポイント)
    • ファイル名:拡張子が「.txt」で、拡張子以外の部分(ベース名)は半角英数字とアンダースコアのみ使用可能

  2. 前記のテキストファイルを本製品のフラッシュメモリー直下のgui-userdata/agreement-msgディレクトリーにコピーします。
    ここでは例として、TFTPサーバー192.168.10.5から日本語の利用規約を含むテキストファイル「clickja.txt」をコピーするものとしますが、実際はご利用の環境にあわせて任意の方法でファイルをコピーしてください。
    awplus# copy tftp://192.168.10.5/clickja.txt flash:/gui-userdata/agreement-msg/
    

  3. click-through agreement-msg(local)コマンドで言語とテキストファイル名を指定します。
    ここでは日本語のカスタム利用規約としてclickja.txtを指定しています。
    awplus# configure terminal
    awplus(config)# wireless
    awplus(config-wireless)# network 2
    awplus(config-wireless-network)# captive-portal
    awplus(config-wireless-network-cp)# click-through agreement-msg lang ja clickja.txt
    

  4. auth-page-language(local)コマンドで認証ページの表示言語をカスタム利用規約の言語と同じに設定します。
    デフォルトでは認証ページの表示言語が英語に設定されているため、前の手順で指定した日本語のカスタム利用規約は使用されず英語のデフォルト文面が表示されますが、表示言語を日本語に変更することで、日本語のカスタム利用規約が表示されるようになります。なお、click-through agreement-msg(local)コマンドで英語のカスタム利用規約も設定している場合は、auth-page-language(local)コマンドの設定に応じて日本語、英語どちらかのカスタム利用規約が表示されます。
    awplus(config-wireless-network-cp)# auth-page-language ja
    

認証ページプロキシで使用するHTMLファイル

クリックスルーで認証ページプロキシを使用する場合は、「ベースURL」で指定したWebサーバー上のディレクトリーに以下のHTMLファイルを用意してください。

外部ページリダイレクト

ここでは、任意のVAP(セキュリティーはWPAパーソナル)において、外部ページリダイレクトによるWeb認証を設定する方法を説明します。
  1. VAPで使用するセキュリティーとネットワークの設定を行います。

    1. WPAパーソナルのセキュリティー設定を作成します。
      ここでは、セキュリティー設定番号を「2」とします。
      awplus(config)# wireless
      awplus(config-wireless)# security 2 mode wpa-personal
      

    2. WPAパーソナルのセキュリティーキーの設定を行います。
      ここでは、セキュリティーキーを「1234567890」とします。
      awplus(config-wireless-sec-wpa-psnl)# key 1234567890
      awplus(config-wireless-sec-wpa-psnl)# exit
      

    3. VAPで使用する無線ネットワーク設定を作成します。
      ここでは、無線ネットワーク設定番号を「2」とします。
      awplus(config-wireless)# network 2
      

    4. SSIDを指定します。
      ここでは、「network2」とします。
      awplus(config-wireless-network)# ssid network2
      

    5. 手順3で設定したネットワークにセキュリティーを割り当てます。
      awplus(config-wireless-network)# security 2
      

  2. キャプティブポータル設定モードに移行し、キャプティブポータル(Web認証)を有効にします。
    awplus(config-wireless-network)# captive-portal
    awplus(config-wireless-network-cp)# enable
    

  3. Web認証の動作モード(外部ページリダイレクト)を設定します。
    awplus(config-wireless-network-cp)# mode external-page-redirect
    

  4. 外部ページリダイレクトでは以下の機能を使用できます。必要に応じて設定を行ってください。

    • 外部ページURL(external-page-url(local)
      外部Webサーバーに設置されたカスタムページを指定します。ここではカスタムページのアドレスを「http://www.example.com/captive_portal」とします。
      awplus(config-wireless-network-cp)# external-page-url http://www.example.com/captive_portal
      
      カスタムページのHTML作成方法は、「外部ページリダイレクトで使用するHTMLファイル」をご覧ください。

    • 認証後リダイレクト(セッション維持)(session-keep(local)
      認証成功後、Web認証前にユーザーが指定していた本来のURLにWebブラウザーをリダイレクトさせる機能を有効にします。
      awplus(config-wireless-network-cp)# session-keep
      

    • 認証後リダイレクト(固定URL)(redirect-url(local)
      認証成功後、固定URLにWebブラウザーをリダイレクトさせる機能を有効にします。
      ここでは、固定URLのアドレスを「http://www.example.com/captive_portal2」とします。
      awplus(config-wireless-network-cp)# redirect-url http://www.example.com/captive_portal2
      

    • ウォールドガーデン(walled-garden entry(local)
      Web認証が完了する前のユーザーや未認証のユーザーに対して閲覧可能なページを指定できる機能を有効にします。
      ここでは、FQDNのアドレスをワイルドカードを使用して「*.example-ex.com」とします。
      awplus(config-wireless-network-cp)# walled-garden entry *.example-ex.com
      

    • ウォールドガーデン用DNSプロキシ(walled-garden-dns-proxy enable(local)
      ウォールドガーデン機能使用時に無線APに接続されている無線クライアントからのDNS問合せや無線クライアントへのDNS応答を代理で行う機能を有効にします。
      awplus(config-wireless-network-cp)# walled-garden-dns-proxy enable
      

  5. 無線設定モードに戻り、ローカルAP用のAPプロファイル「local」を編集するためAPプロファイルモードに入ります。さらに、APプロファイル・無線モードに移行し、無線1を有効にします。
    awplus(config-wireless-network-cp)# exit
    awplus(config-wireless-network)# exit
    awplus(config-wireless)# ap-profile local
    awplus(config-wireless-ap-prof)# radio 1
    awplus(config-wireless-ap-prof-radio)# enable
    

  6. VAP2にネットワーク2を割り当てます。
    awplus(config-wireless-ap-prof-radio)# vap 2 network 2
    

  7. 特権EXECモードに戻り設定を適用します。
    awplus(config-wireless-ap-prof-radio)# end
    awplus# wireless ap-configuration apply ap local
    

外部ページリダイレクトで使用するHTMLファイル

外部ページリダイレクトを使用する場合は、下記の条件にしたがって「外部ページURL」が指し示す場所にWeb認証用のHTMLページを作成してください。
外部認証ページにリダイレクトする際に以下の情報をクエリ文字列として付加します。
また、POSTに関して、以下を満たす必要があります。
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>
/