Trouble "SQL Based IP Pool"
Leander S.
leander.schaefer at gmx.net
Tue May 6 00:15:28 CEST 2008
Can't get my "SQL Based IP Pool" running ; (
running FreeRADIUS Version 1.1.7 on FreeBSD 7.0 with
Postgresql-Server-8.3beta2.
I got everything working fine so far except SQL Based IP Pool -->
"/http://wiki.freeradius.org/Rlm_sqlippool/" <-- ; )
PostgreSQL:
########################################################
CREATE TABLE radippool (
id BIGSERIAL PRIMARY KEY,
pool_name text NOT NULL,
FramedIPAddress INET,
NASIPAddress text NOT NULL,
CalledStationId VARCHAR(64),
CallingStationId text DEFAULT ''::text NOT NULL,
expiry_time TIMESTAMP(0) without time zone NOT NULL,
username text DEFAULT ''::text,
pool_key VARCHAR(30) NOT NULL
);
#################################################################
If I now try to do the following step - like the HowTo describes I'll
get folowing result:
INSERT INTO radippool (pool_name, framedipaddress) VALUES ('main_pool', '192.168.0.1');
INSERT INTO radippool (pool_name, framedipaddress) VALUES ('main_pool', '192.168.0.2');
INSERT INTO radippool (pool_name, framedipaddress) VALUES ('main_pool', '192.168.0.3');
INSERT INTO radippool (pool_name, framedipaddress) VALUES ('main_pool', '192.168.0.4');
.. my phpPgAdmin Webinterface is telling me following Error:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*SQL Error:*
ERROR: null value in column "nasipaddress" violates not-null constraint
*In the command:*
INSERT INTO radippool (pool_name, framedipaddress) VALUES ('main_pool',
'192.168.0.1');
INSERT INTO radippool (pool_name, framedipaddress) VALUES ('main_pool',
'192.168.0.2');
INSERT INTO radippool (pool_name, framedipaddress) VALUES ('main_pool',
'192.168.0.3');
INSERT INTO radippool (pool_name, framedipaddress) VALUES ('main_pool',
'192.168.0.4');
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
I do only have success if I execute the Postgres command changed like that:
INSERT INTO radippool (pool_name, framedipaddress, nasipaddress,
expiry_time, pool_key) VALUES ('mypool', '192.168.5.1', '10.1.10.80',
'2008-12-31 00:00:00', '0');
INSERT INTO radippool (pool_name, framedipaddress, nasipaddress,
expiry_time, pool_key) VALUES ('mypool', '192.168.5.2', '10.1.10.80',
'2008-12-31 00:00:00', '0');
^^ but I'm not happy with those Datas .. actualy I'm pretty unsure if
that's working stuff !! Besides that I tried to have a expire date like
86400 Seconds .. but didn't work. And Where is my Netmask in radippool
table?? ;) question over question ;)
any way .. still "radius -X" tells me:
++++++++++++++++++++++++++++++++++++++++++++
modcall: leaving group CHAP (returns ok) for request 0
Processing the post-auth section of radiusd.conf
modcall: entering group post-auth for request 0
rlm_sqlippool: Framed-IP-Address already exists
modcall[post-auth]: module "sqlippool" returns noop for request 0
rlm_sql (sql): Processing sql_postauth
radius_xlat: 'test'
++++++++++++++++++++++++++++++++++++++++++++
This is how my radiusd.conf looks like in the ippool section:
##################################################################################
##################################################################################
ippool main_pool {
# range-start,range-stop: The start and end ip
# addresses for the ip pool
# range-start = 192.168.1.1
# range-stop = 192.168.3.254
# netmask: The network mask used for the ip's
# netmask = 255.255.255.0
# cache-size: The gdbm cache size for the db
# files. Should be equal to the number of ip's
# available in the ip pool
# cache-size = 800
# session-db: The main db file used to allocate ip's to
clients
# session-db = ${raddbdir}/db.ippool
# ip-index: Helper db index file used in multilink
# ip-index = ${raddbdir}/db.ipindex
# override: Will this ippool override a
Framed-IP-Address already set
override = yes
# maximum-timeout: If not zero specifies the maximum
time in seconds an
# entry may be active. Default: 0
# maximum-timeout = 0
}
# $INCLUDE ${confdir}/sqlippool.conf
$INCLUDE ${confdir}/postgresqlippool.conf
# OTP token support. Not included by default.
# $INCLUDE ${confdir}/otp.conf
##################################################################################
##################################################################################
This is how my users conf does look like:
##################################################
test User-Password == "123456"
Service-Type = Framed-User,
Framed-Protocol = PPP,
Framed-IP-Address = 255.255.255.254,
# Framed-IP-Netmask = 255.255.255.255,
Framed-Routing = Broadcast-Listen,
Framed-Filter-Id = "std.ppp",
Framed-MTU = 1492,
Framed-Compression = Van-Jacobsen-TCP-IP,
Pool-Name = "mypool",
##################################################
^^ WTF goes wrong here ??? ; ))
If I comment "Framed-IP-Address = 255.255.255.254," out it says
pool-name not found
radius -X tells me:
rlm_sqlippool: missing pool_name
modcall[post-auth]: module "sqlippool" returns noop for request 0
rlm_sql (sql): Processing sql_postauth
It would be very greathful to get some useful advices here ; )
Thank you
Regards,
Leander
P.S. It might be a double posting - but I'm not sure because I didn't
get a confirmation about it and I also didn't find it ... so if yes -
sorry for that ; )
More information about the Freeradius-Users
mailing list