

Web認証を行ったホストだけインターネットへのアクセスを許可する設定例です。
ネットワークに参加したホストに対して、まずセカンダリネットワークのアドレスを付与します。セカンダリアドレスではRTX1200のGUI以外へのアクセスを禁止しています。
ホストがブラウザでRTX1200の認証用画面にログインできたことを認証とし、認証が成功するとホストが接続するポートを一旦シャットダウンします。次にポートがリンクアップした時には、DHCPでプライマリネットワークのアドレスを与えます。プライマリネットワークのアドレスではインターネットへのアクセスが可能となります。
なお、DHCP認証機能を利用しているので、プライマリネットワークのアドレスを固定で設定したホストのインターネットアクセスも禁止できます。また認証用画面にはカスタムGUIの機能を利用しています。
事前準備
■RTX1200に本設定例のconfigを設定する
- 設定例のリンクから設定ファイルをダウンロードし、RTX1200に設定を追加してください。
|
pp auth myname (ISPに接続するID) (ISPに接続するパスワード) |
|
[解説] |
|
RTX1200にはTFTPを使用してPCからルーターに設定ファイルをコピーすることができます。 |
■構成を構築する
- 本設定例ページのトップにある認証前の構成図と同様の構成を構築します。
|
[解説] |
■RTX1200へ認証用画面のHTMLファイルをコピーする
- 認証用画面のHTMLファイル(以降、HTMLファイルと表記)をPCにダウンロードします。
- PCにUSBメモリを接続して、ダウンロードしたHTMLファイルをUSBメモリにコピーします。
- USBメモリをPCから取り外し、ルーターに接続します。ルーターのUSBランプが点灯します。
- ルーターコンソールを開きます。
[解説]
ルーターコンソールはシリアルケーブルやtelnetで接続して使用します。
使用方法については取扱説明書をご参照ください。 - 管理者権限でログインし、コマンドでルーターにHTMLファイルをコピーします。
copyコマンドを使用します。
USBメモリのルートディレクトリからルーターのルートディレクトリにHTMLファイルをコピーする場合:
[ルーターコンソール]# copy usb1:/web_auth.html /web_auth.html
#[解説]
copyコマンドの詳細はこちらをご参照ください。
ファイルをルーターのルートディレクトリ以外にも格納することができます。
その場合は、ディレクトリを作成してから、そのディレクトリにコピーします。
そちらの方法については参考資料をご参照ください。
技術資料「RTFS」-「コマンド一覧」-「ディレクトリの作成」
HTMLファイルをディレクトリにコピーした場合、httpd custom-gui userコマンドでのディレクトリ指定も変更してください。
■Luaスクリプトを実行する
|
[解説] |
Web認証の手順
本手順は、WebブラウザにInternetExplorerを使用した場合の説明です。
- PCをSWX2200に接続します。PCはDHCPサーバーからIPアドレスを取得できるように設定しておく必要があります。
[解説]
認証前はセカンダリネットワークのアドレスが付与されます。
外部にアクセスできませんが、RTX1200の認証用画面にはアクセスできます。 - Webブラウザを起動します。
- [ファイル]メニューから[開く]を選択し、http://192.168.100.1と入力します。
- 認証画面が表示されたら、ユーザ名とパスワードを入力しOKをクリックします。
[解説]
設定例ではユーザ名test、パスワードtestに設定されています。 - 認証に成功するとカスタムGUIのページが表示されます。
IPアドレスの再取得が行われますので、一旦Webブラウザを終了し、少しお待ちください。[解説]
認証後、プライマリネットワーク(192.168.100.0/24)のアドレスが付与されるまでに最長で1分程度の時間を要することがあります。 - Webブラウザを再度起動し、インターネットアクセスが行えることを確認します。
[解説]
複数のホストから認証用画面へのアクセスが短時間に集中すると、プライマリネットワークのアドレスへの切り替えが行われない場合があります。認証用画面へのアクセスが集中してLuaスクリプトでSYSLOGの確認ができない場合、そのような現象になります。
その場合には、数分程度時間を置いてから再度認証用画面へのアクセスを試みてください。
RTX1200の設定例
| イーサネットフィルタの設定 |
ethernet filter 1 reject-log dhcp-not-bind 192.168.100.1 |
|---|---|
| LANの インタフェースの設定 (LAN1ポートを使用) |
ip lan1 address 192.168.100.1/24 |
| WANの インタフェースの設定 (LAN2ポートを使用) |
pp select 1 |
| NATの設定 |
nat descriptor type 1 masquerade |
| DHCPの設定 |
dhcp service server |
| DNSの設定 |
dns server (ISPより指定されたDNSサーバのIPアドレス) |
| ログインユーザの設定 |
login user test test |
| カスタムGUIの設定 |
httpd custom-gui use on |
| SWX2200の設定 |
switch control use lan1 on |
| フィルタの設定 |
ip filter source-route on |
| Luaスクリプトのスケジュール設定 |
schedule at 1 startup * lua /swx2200_lua_web_auth_rtx1200.lua |
Luaスクリプト例
| 設定値 |
-- 使用するルーターのLANインタフェースの数 |
|---|---|
| ホスト検索の関数 |
function search(mac, addr, lan) -- LAN1のMACアドレステーブルでホストが見つかった場合 --[[ |
| switch controlコマンドの実行関数 |
function exec_sw_cmd(route, cmd) |
| メインルーチン |
local rtn, str, app, ipaddr, mac while (true) do -- ホストを検索 if (switchroute ~= nil) then --[[ if (rtn) then |