IAP103でのCaptive Portal

Captive PortalとはWiFiに接続する際に特定のWEBの参照して認証した上で接続を許可する仕組みのことです。いわゆるWi-Fiホットスポットの認証などで利用することができます。
最近のWiFiAP機器にはこれを実現するための仕組みが備わっている場合が多くなりました。
今回はAruba社製のIAP103でテスト実現してみます。

■設定

IAP103は工場出荷状態で「Instant」というSSIDのビーコンを吐きます。これをキャッチしてブラウザを立ち上げると管理者画面へのログインを求められます。(初期状態でアカウントはadmin/admin)

画面左上のネットワークの欄から「新規」を選択します。ダイアログが立ち上がりますのでSSIDを指定してゲストを選択します。
Captive_01

次の画面でIPの割り当てポリシーを決めます。VLANはデフォルトにしても良いですし、別画面で他の割り当てポリシーにすることもできます。私の場合は、WAN側はDHCPで割り当ててもらい、クライアント側は別ネットワ―クセグメントを割り当てました。

Captive_02

次にCaptivePoratal関連の設定を行います。今回は外部のWebサーバへ飛ばすようにしますのでスプラッシュページのタイプを「外付」にします。IAPに内蔵されている認証画面を使うことももちろん可能です。

下記の図のように設定すると、クライアントがSSIDに接続しブラウザ等を開いてネットに接続しようとするとWiFiAPがこれをキャッチして、http://1.1.1.1/member.htmlへリダイレクトさせます。この際、MACアドレスやIPアドレス、IAPの識別名等が引数として渡されますので必要に応じてWebサーバ側で記録しておきます。

Captive_03

元の画面に戻り「再認証の間隔」を30分に設定します。この時間が過ぎるとインターネットへの接続が遮断され、再認証が求められます。

なお今回は、Web側では実際には認証せず利用規約に同意するボタンを押すだけで誰でも接続できるようにしました。なので個個人を認証するのではなくIAP内に代表ユーザ「Free」を登録しておきこれで全員を認証させるようにしました。下図で内部サーバ「1ユーザ」となっているのがそれです。

Captive_04

アクセス権限はとりあえず全て許可しておきます。

Captive_06

次にWebサーバ側です。
利用規約に同意するボタンを押したときに下記のHTMLをクライアントに返すようにします。

<head>
<title>Login</title>
</head>
<p>You are being granted free internet access, please wait...</p>
<form name="weblogin_form" method="POST" action="http://securelogin.arubanetworks.com/cgi-bin/login" target="_top">
<input type="hidden" name="user" value="******">
<input type="hidden" name="password" value="******">
<input type="hidden" name="cmd" value="authenticate">
<input type="hidden" name="url" value="http://www.yaoo.co.jp/">
<input type="hidden" name="Login" value="Log In">
</form>
<script language="JavaScript" type="text/javascript"><!--
document.weblogin_form.submit();
// -->
</script>
</body>

これを受け取ったクライアントはJavasCriptを自動実行し「http://securelogin.arubanetworks.com/cgi-bin/login」へPOSTするわけですが、これをIPA103がキャッチしてhiddenで送られてきたuser、passwordで内部サーバとRADIUS認証します。認証に成功したらインターネットへの接続を開放し、この場合ですとYahooへリダイレクトさせます。
ここまでで簡単なCaptivePortalの仕組みが出来上がりました。

なおIAPは自律的なWLCの仕組みを持っていて、別途WLC機器を購入しなくてもWLC機能を有します。これは試すことができませんでした。
また、ArubaCentralというクラウドベースのサービスに機器を登録すると、Webブラウザからリモートで設定を変更したり動作状況を確認することができます。これは試しましたが大体60秒から90秒くらいの間隔でIAPがクラウド側とセッションを貼り報告をしたり、最新の設定を適用するような動作をしていました。

以上、簡単ですがCaptivePortalの設定でした。

スポンサーリンク






シェアする

  • このエントリーをはてなブックマークに追加

フォローする