rlm_sqlippool   [plain text]

Welcome to the SQL Based IP Pool module.

As of September 2006 this module is still under some development and
currently is only tested by the developers on PostgreSQL (Version 8.1)
                         Use it at your own risk!
If plan to attempt to use a DB other than PostgreSQL please expect to
have to do extra work which is not for SQL newbies. 
Having said that it works great for us in production and should (with
some work) function correctly with other SQL server types.

To use the sqlipool module you simply need to have an IP-Pool Attribute
(Keep in mind that its a **CHECK** item, not reply) in the required
configuration file, which is either in files(users), sql or any other
type of configuration schema.

The initialization of the radippool table is left to the user instead of
being handled inside the module. This allows pool management to be done
from any sql capable programming language and pools can be created,
resized, deleted at run time without radiusd needing to be restarted.

The only required fields are, pool_name and ip_address. A pool consists
of one or more rows in the table with the same pool_name and a different
ip_address. There is no restriction on which ip addresses/ranges may be in
the same pool, and addresses do not need to be concurrent.

We are currently using the variable definitions of the xlat module, so
before editing the sqlippool.conf file, please go and read the
variables.txt in the freeradius/doc directory. It will help you alot!..

As you may noticed, there is a pool-key variable in the config file which
allows you to select which attribute is unique according to your NAS setup.
On a standard dialup NAS this is going to be "NAS-Port" but on an ethernet
or wireless network it will probably be "Calling-Station-Id". Other more
exotic options like "3GPP-IMSI" may also exist depending on your NAS.
The only requirement is that the pool-key must be unique and must be
received in both Access-Request and Accounting packages so that we know to
clear the lease on the ip when the session disconnects.