freeradiusのperlモジュール設定
何でもアリにできそう。
raddb/module/perl
を参照。
上記ファイルは
raddb/example.pl
を参照している。
authorize
authenticate
preacct
...
など、機能名と同じ関数を定義していくらしい。
拒否なら
RLM_MODULE_REJECT
許可なら
RLM_MODULE_OK
を返せばよいようである。
さらに、authorize, authentication, accounting などの各フェイズで
perlモジュールが呼ばれるようにするには、
raddb/sites-available/default
raddb/sites-available/inner-tunnels
の authorize, authentication の関数内に perl を記述する。
例えば、
{
}
と書けば、perlの判定後にldapの判定をかけるなどの連携が可能となる。
スクリプト本体は、
raddb/example.pl をベースにする。
※小技?:
もし perl スクリプト中で mac アドレスなどを取得したい場合は
eap.conf の
copy_request_to_tunnel = yes
とする。と、各パラメータが inner-tunnel にコピーされる。
(どんなパラメータがコピーされるか、詳しいことろは調査中。)
authorize, authenticationなどの各関数が各フェイズに呼ばれる。
関数名をカスタマイズする場合は、
raddb/modules/perl
を編集する。