radsqlrelay - and default config
A.L.M.Buxey at lboro.ac.uk
A.L.M.Buxey at lboro.ac.uk
Fri Feb 8 11:18:09 CET 2008
hi,
I've been looking at the current state of the default (commented
out ready for use) radsqlrelay commands in radiusd.conf . for a
quick reminder they look like this:
# sql_log {
# path = "${radacctdir}/sql-relay"
# acct_table = "radacct"
# postauth_table = "radpostauth"
# sql_user_name = "%{%{User-Name}:-DEFAULT}"
#
# Start = "INSERT INTO ${acct_table} (AcctSessionId, UserName, \
# NASIPAddress, FramedIPAddress, AcctStartTime, AcctStopTime, \
# AcctSessionTime, AcctTerminateCause) VALUES \
# ('%{Acct-Session-Id}', '%{User-Name}', '%{NAS-IP-Address}', \
# '%{Framed-IP-Address}', '%S', '0', '0', '');"
# Stop = "INSERT INTO ${acct_table} (AcctSessionId, UserName, \
# NASIPAddress, FramedIPAddress, AcctStartTime, AcctStopTime, \
# AcctSessionTime, AcctTerminateCause) VALUES \
# ('%{Acct-Session-Id}', '%{User-Name}', '%{NAS-IP-Address}', \
# '%{Framed-IP-Address}', '0', '%S', '%{Acct-Session-Time}', \
# '%{Acct-Terminate-Cause}');"
# Alive = "INSERT INTO ${acct_table} (AcctSessionId, UserName, \
# NASIPAddress, FramedIPAddress, AcctStartTime, AcctStopTime, \
# AcctSessionTime, AcctTerminateCause) VALUES \
# ('%{Acct-Session-Id}', '%{User-Name}', '%{NAS-IP-Address}', \
# '%{Framed-IP-Address}', '0', '0', '%{Acct-Session-Time}','');"
#
# Post-Auth = "INSERT INTO ${postauth_table} \
# (username, pass, reply, authdate) VALUES \
# ('%{User-Name}', '%{User-Password:-Chap-Password}', \
# '%{reply:Packet-Type}', '%S');"
# }
now - whilst radsqlrelay is recommended for those whose accounting DB systems
cannot keep up with the real flow of packets - and we recommend it - its not
productive to have imho a broken default config. the issues which i can see
from this are the following
1) with a default postgres install, those '0' dates are not going to work with the
supplied schema for PGSQL - in fact it takes a bit of breaking postgres for
such values to work. the simple change is to have a null entry.
2) likewise for MySQL - '0000-00-00 00:00:00' is iirc the correct way of doing it
3) BOTH mysql and postgres (i havent done any looking into oracle) will have issues
with the radacct entries - for each of them has another index in the radacct table
which cannot be null and must be unique -
mysql
acctuniqueid varchar(32) NOT NULL default ''
KEY acctuniqueid (acctuniqueid)
postgres
AcctUniqueId VARCHAR(32) NOT NULL
such a value is not being provided in the field. which means when the user
finally runs radsqlrelay they will be faced with issues.
as far as i can see, radpostauth will work fine.
so what I'd propose is we get a few folk who are successfully using this function,
get their radiusd.conf entries, and have 2 sections for uncommenting - one for
postgres and one for mysql.
alan
More information about the Freeradius-Users
mailing list