管理番号:YMHSW-4110
本設定例では、ルーターのL2MSマスター機能・Luaスクリプト機能と、L2スイッチのL2MSスレーブ機能を使用しています。L2MSを使って、ルーターから、スイッチが持つ機能の設定を行います。
ルーターの対応機種は、FWX120です。
L2スイッチの対応機種は、SWX2300シリーズ、SWX2200シリーズ、SWX2100シリーズです。
L2MSマスター(ルーター)とL2MSスレーブ(L2スイッチ)の対応リビジョンは、 技術資料「L2MS」でご確認ください。
Web認証を行ったホストだけインターネットへのアクセスを許可する設定例です。
ネットワークに参加したホストに対して、まずセカンダリネットワークのアドレスを付与します。セカンダリネットワークアドレスではFWX120のWeb GUI以外へのアクセスを禁止しています。
ホストがブラウザーでFWX120の認証用画面にログインしたことを認証とし、認証が成功するとホストが接続するポートをいったんシャットダウンします。次にポートがリンクアップしたときは、DHCPでプライマリネットワークのアドレスを与えます。プライマリネットワークのアドレスではインターネットへのアクセスが可能となります。
なお、DHCP認証機能を利用しているので、プライマリネットワークのアドレスを固定で設定したホストのインターネットアクセスも禁止できます。また、認証用画面には カスタムGUIの機能を利用しています。
光回線に接続するためには、別途ONUが必要です。
本設定例は、以下の流れで設定します。
対応機種のうち、設定例を掲載している機種は、以下のとおりです。
機種 | 掲載内容 | 備考 | |
---|---|---|---|
ルーター | FWX120 | コマンド設定例 Luaスクリプト例 認証用画面のHTMLファイル |
L2MSマスター機能、 Luaスクリプト機能 |
L2スイッチ | SWX2200-8G SWX2200-24G SWX2200-8PoE | L2MSスレーブ機能 |
pp auth myname (ISPに接続するID) (ISPに接続するパスワード) dns server (ISPより指定されたDNSサーバーのIPアドレス) |
[解説] 上記のように設定例において赤字で記述されている設定値は、適切な値に変更してください。 |
FWX120にはTFTPを使用してPCからルーターに設定ファイルをコピーすることができます。 この方法については取扱説明書をご参照ください。 |
[解説] ルーターコンソールはシリアルケーブルやtelnetで接続して使用します。 使用方法については取扱説明書をご参照ください。 |
[ルーターコンソール] # copy usb1:/web_auth.html /web_auth.html # |
[解説] copyコマンドの詳細は こちらをご参照ください。 ファイルをルーターのルートディレクトリー以外にも格納することができます。 その場合は、ディレクトリーを作成してから、そのディレクトリーにコピーします。 そちらの方法については 参考資料をご参照ください。 技術資料 「RTFS」-「コマンド一覧」-「ディレクトリの作成」 HTMLファイルをディレクトリーにコピーした場合、httpd custom-gui userコマンドでのディレクトリー指定も変更してください。 |
[解説] Luaスクリプトのダウンロードから実行までの手順は、Luaスクリプト導入手順マニュアルをご覧ください。 |
本手順は、WebブラウザーにInternetExplorerを使用した場合の説明です。
[解説] 認証前はセカンダリネットワークのアドレスが付与されます。 外部にアクセスできませんが、FWX120の認証用画面にはアクセスできます。 |
[解説] 設定例ではユーザー名test、パスワードtestに設定されています。 |
[解説] 認証後、プライマリネットワーク(192.168.100.0/24)のアドレスが付与されるまで、最長で1分程度の時間を要することがあります。 |
[解説] 複数のホストから認証用画面へのアクセスが短時間に集中すると、プライマリネットワークのアドレスへの切り替えが行われない場合があります。認証用画面へのアクセスが集中してLuaスクリプトでSYSLOGの確認ができない場合、そのような現象になります。 その場合には、数分程度時間を置いてから再度認証用画面へのアクセスを試みてください。 |
イーサネットフィルターの設定 | ethernet filter 1 reject-log dhcp-not-bind 192.168.100.1 ethernet filter 2 pass-nolog *:*:*:*:*:* *:*:*:*:*:* ethernet lan1 filter in 1 2 |
---|---|
LANインターフェースの設定 (LAN1ポートを使用) |
ip lan1 address 192.168.100.1/24 ip lan1 secondary address 192.168.0.1/24 ip lan1 inbound filter list 191 192 193 194 195 |
WANインターフェースの設定 (LAN2ポートを使用) |
pp select 1 pp always-on on pppoe use lan2 pppoe auto disconnect off pp auth accept pap chap pp auth myname (ISPに接続するID) (ISPに接続するパスワード) ppp lcp mru on 1454 ppp ipcp ipaddress on ppp ipcp msext on ppp ccp type none ppp ipv6cp use off ip pp mtu 1454 ip pp inbound filter list 1001 1002 1003 1004 1005 1006 1007 1017 1099 ip pp nat descriptor 1 pp enable 1 ip route default gateway pp 1 |
NATの設定 | nat descriptor type 1 masquerade |
DHCPの設定 | dhcp service server dhcp server rfc2131 compliant except remain-silent dhcp scope lease type 1 bind-only fallback=2 dhcp scope 1 192.168.100.100-192.168.100.200/24 dhcp scope 2 192.168.0.100-192.168.0.200/24 expire 0:01 maxexpire 0:01 |
DNSの設定 | dns server (ISPより指定されたDNSサーバーのIPアドレス) dns private address spoof on |
ログインユーザーの設定 | login user test test user attribute test login-timer=120 |
カスタムGUIの設定 | httpd custom-gui use on httpd custom-gui user test directory=/ index=web_auth.html |
L2MSの設定 | switch control use lan1 on |
フィルターの設定 | ip inbound filter 191 pass-nolog 192.168.0.0/24 192.168.100.1 tcp * www ip inbound filter 192 pass-nolog 192.168.100.0/24 * ip inbound filter 193 pass-nolog 0.0.0.0 * ip inbound filter 194 pass-nolog 192.168.0.0 192.168.0.1 ip inbound filter 195 reject-nolog * * ip inbound filter 1001 reject-nolog * * tcp,udp * 135 ip inbound filter 1002 reject-nolog * * tcp,udp 135 * ip inbound filter 1003 reject-nolog * * tcp,udp * netbios_ns-netbios_ssn ip inbound filter 1004 reject-nolog * * tcp,udp netbios_ns-netbios_ssn * ip inbound filter 1005 reject-nolog * * tcp,udp * 445 ip inbound filter 1006 reject-nolog * * tcp,udp 445 * ip inbound filter 1007 reject-nolog 192.168.100.0/24 * * * * ip inbound filter 1017 reject-nolog 192.168.0.0/24 * * * * ip inbound filter 1099 pass-nolog * * * * * ip policy interface group 101 name=Private local lan1 ip policy address group 101 name=Private 192.168.100.0/24 192.168.0.0/24 ip policy address group 102 name=Any * ip policy service group 101 name="Open Services" ip policy service group 102 name=General dns ip policy service group 103 name=Mail pop3 smtp ip policy filter 1100 reject-nolog lan1 * * * * ip policy filter 1110 pass-nolog * * * * 102 ip policy filter 1122 static-pass-nolog * lan1 * * * ip policy filter 1123 static-pass-nolog * local * * * ip policy filter 1124 static-pass-log * * 192.168.100.0/24 * http ip policy filter 1125 static-pass-log * * 192.168.0.0/24 * http ip policy filter 1150 pass-nolog * pp1 * * * ip policy filter 1500 reject-nolog pp* * * * * ip policy filter 1520 pass-log * lan1 * * 101 ip policy filter 1700 pass-nolog local * * * * ip policy filter 1710 static-pass-nolog * lan1 * * * ip policy filter 3000 reject-nolog * * * * * ip policy filter set 101 name="Internet Access" 1100 [1110 1123 [1124 1125] 1122 1150] 1500 [1520] 1700 [1710] 3000 ip policy filter set enable 101 |
Luaスクリプトのスケジュール設定 | schedule at 1 startup * lua (Luaスクリプトファイル名) |
設定値 | -- 使用するルーターのLANインターフェースの数 num_lan = 1 -- メールの送信に失敗したときに出力する SYSLOG のレベル (info, debug, notice) log_level = "info" -- ポートをダウンさせている時間(秒) down_wait = 5 |
---|---|
ホスト検索の関数 | function search(mac, addr, lan) -- LAN1のMACアドレステーブルでホストが見つかった場合 --[[ |
switch controlコマンドの実行関数 | function exec_sw_cmd(route, cmd) |
メインルーチン | local rtn, str, app, ipaddr, mac local ptn = "Login succeeded for HTTP:" while (true) do -- ホストを検索 if (switchroute ~= nil) then --[[ if (rtn) then |
ご相談・お問い合わせ