radius radacctに書き込まれない [radius]
radius使ってVPNサーバ構築。
ログイン/ログアウトの情報はテキストファイルに出力されるが、DBのradacctが更新されない。これは運用監視上結構面倒くさい。
ログイン/ログアウトの情報はテキストファイルに出力されるが、DBのradacctが更新されない。これは運用監視上結構面倒くさい。
そこでいろいろと試行錯誤した。
一番大きな問題は以下の定義がコメントアウトになっていたこと。
radius/etc/raddb/sites-enabled/default
:
accounting {
:
#
# Log traffic to an SQL database.
#
# See "Accounting queries" in sql.conf
sql
:
radius/etc/raddb/sites-enabled/default
:
accounting {
:
#
# Log traffic to an SQL database.
#
# See "Accounting queries" in sql.conf
sql
:
これでradiusdを再起動して、VPN接続したらINSERT radacctが実行された。ただし、今度はこんなエラーが発生。
Error: [sql] Couldn't insert SQL accounting START record - Column 'AcctStopTime' cannot be null
確かにテーブル定義ではAcctStopTimeをNotNullにしているが、デフォルト値を固定値'0000-00-00 00:00:00'で設定するようにしている。<
これまた次の謎。
Error: [sql] Couldn't insert SQL accounting START record - Column 'AcctStopTime' cannot be null
確かにテーブル定義ではAcctStopTimeをNotNullにしているが、デフォルト値を固定値'0000-00-00 00:00:00'で設定するようにしている。<
これまた次の謎。
とりあえずAcctStopTimeのNotNullはやめたところ、radacctに書き込むようになった。これで様子見。