OpengateMown - MACアドレス自己管理システム
概要
- 端末所有者自身が管理者抜きにMACアドレスを登録、更新するシステムである。
- 利用者がWebアクセスするとその端末アドレスを認識して登録・更新するかを問い合わせる。
- ゲートウェイ上で稼働する。
- 以下のCGIプログラムからなる。
- opengatemown.cgi: アクセスした端末のアドレスを取得して登録・更新を問うCGIプログラム
処理の流れ
Opengateと併用しない場合は、OpengateMownをCaptive
Portalとして動かす。すなわち、任意サイトへのWebアクセスを横取りして、処理を行う方法を取る。Opengateと併用する場合は、Opengateが
Captive Portalとして動き、OpengateMownは、Opengateの処理ページから誘導する。
下図は、OpengateMownをCaptive
Portalとして動かしたときのフローである。不許可の端末から外部サイトへのアクセスを乗っ取って、MACアドレスの登録更新処理を行う。終わったら元のサイトへ戻
る。

インストール
- まず、openateMdのインストールを完了する。このシステムは同一ゲートウェイでデーモンopengatemdが稼働する必要 がある。
- MySQL、SqLite3、Apacheのインストールが必要である。認証に用いるシステムも必要に応じてインストールする。
- 上記アーカイブを展開して、ディレクトリmngsrcからインストールする。
tar xzvf opengatem0.0.0.tar.gz
cd opengatem0.0.0/mngsrc
make installmown
- 設定ファイルを環境に合わせて調整する。少なくともMySQL設定、ネットワークインターフェース名、認証方法を変更する必要があ
る。認証は「一般利用者の認証」だけで良い。POP3、FTP、LADIUS、LDAP、PAM、Shibboleth、 HttpBasicに対応する
cp opengatemmng.conf.sample opengatemmng.conf
vi opengatemmng.conf
- 一般利用者認証をShibbolethまたはHttpBasicとする場合は、.htaccessに
「opengatemown.cgiに対する一般利用者認証設定」を追加する。 他の認証方式の場合は不要である。
==Shibboleth使用時==
<FILES opengatemown.cgi>
AuthType shibboleth
ShibRequestSetting requireSession 1
ShibRequireSession On
ShibUseHeaders On
Require valid-user
</FILES>
==HttpBasic使用時==
<FILES opengatemown.cgi>
AuthType Basic
AuthUserFile /tmp/passwd.dat
AuthName "Enter Your ID and Password"
Require valid-user
</FILES>
使用方法
管理者は以下の方法が選択できる。
- [単純運用] opengatemown.cgiのURLを指定してアクセスさせる。最も単純であり、試行段階で使う。
- [Opengate連携] Opengate稼働システムから以下の変更を行う。Opengateの認証ページindex.html、許可ページ
acceptxxx.htmlもしくは監視ページ httpkeep.htmlにopengatemown.cgiへのリンクを追加する。
リンクの例を以下に示す。このようにパラメータredirectedurlを付加すると、登録更新処理後にリダイレクト前にアクセスして
いたページへ自動的に戻る。
<a
href="http://opengate.og.saga-u.ac.jp/cgi-bin/opengate/opengatemown.cgi?lang=%%LANGUAGE%%&redirectedurl=%%REDIRECTEDURL%%"
>OpengateM</a>
ただし自動戻りはOpengate1.5.20以降が必要である。OpengateとOpengateMを併用するときに使う。
opengatemown.cgiの前に警告ページを経由する場合は以下のようにする。
<a
href="http://opengate.og.saga-u.ac.jp/opengate/ja/warning.php?lang=%%LANGUAGE%%&redirectedurl=%%REDIRECTEDURL%%"
>OpengateM</a>
- [CaptivePortal運用]
Opengate稼働システムから以下の変更を行う。DocumentRootのindex.html.varをOpengate用からOpengateM用に変更する。
この方法ならばOpengateMがCaptive Portalとして動作しOpengateのファイルが不要になる。
DocumentRootディレクトリにおいて以下のコマンドで変更する(Opengate用の設定を上書きすることになるので自動化していない)。
cp index.html.var.opengatem index.html.var
登録更新処理後はリダイレクト前にアクセスしていたページへ自動的に戻る。OpengateMに全面移行するときに使う。
- incex.html.varからOpengatemfwdへ、opengatemfwdからopengatemownへジャン プする。
- opengatemfwdとopengatemownとの間にページを挟みたいときは、
設定ファイルにおけるJumpCgiを挿入したいページに書き換え、
さらにそのページからopengatemownに飛ぶようにする。GET変数は引き継ぐこと。
- [Splash表示のみの運用]まずはCaptivePortal運用の設定にする。次に、opengatemmng.confにおいて、一般利用者
のAuthServer/Protocolを[splash]に変える。さらに、macfwd.htmlに利用ポリシー等を記述し、必要なら自動ジャンプ
(Refresh設定)を止める。なお、macfwd.htmlにURLを記述するときは、ドメイン名からの絶対パス記述とし、ファイル名だけの相対パス
記述はしないこと。
利用データベース
- MySQL: opengatem R/W (管理DB)
- SqLite3: opengetemmng.db R/W (opengateMchk/reg/own作業DB)
- SqLite3: opengatemd.db R (opengateMd用作業DB)