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

}

 

と書けば、perlの判定後にldapの判定をかけるなどの連携が可能となる。

 

スクリプト本体は、

raddb/example.pl をベースにする。

※小技?:

もし perl スクリプト中で mac アドレスなどを取得したい場合は

eap.conf の

copy_request_to_tunnel = yes

とする。と、各パラメータが inner-tunnel にコピーされる。

(どんなパラメータがコピーされるか、詳しいことろは調査中。)

 

 

authorize, authenticationなどの各関数が各フェイズに呼ばれる。

関数名をカスタマイズする場合は、

raddb/modules/perl

を編集する。