Define coa_server for clients in nas table

Bryan Mesich bryan.mesich at
Wed Oct 28 16:47:36 CET 2015


I have a functioning FreeRadius 3.0.10 installation that currently uses
the rlm_sql module for accounting and authorization.  The setup is
composed of 2 FreeRadius servers with a MariaDB/Galara cluster.  I'm
interested in using the nas table in the database rather than
clients.conf when configuring my clients.

Each NAS "client" has a corresponding home_server defined in
sites-enabled/originate-coa, which the client gets tied to with the
coa_server parameter in clients.conf:

client hk-wlc1 {
        ipaddr =
        secret = secret
        nas_type = cisco
        coa_server = hk-wlc1-coa

home_server hk-wlc1-coa {
        type = coa
        ipaddr =
        port = 1700
        secret = secret
        coa {
                irt = 2
                mrt = 16
                mrc = 5
                mrd = 30

The provided radius schema does not include a coa_server field in the
nas table.  One would think that would be needed in order for clients
that are defined in the db to use the appropriate CoA server.  Looking
at the source code, I located the function generate_sql_clients(),
which appears to parse the records returned from the query defined for
the particular DB platform (mods-config/sql/main/mysql/queries.conf in
this case).

It doesn't appear to be possible to define a coa_server for a client
that is defined in the nas table.  Is it possible for FreeRadius to
identify the appropriate CoA home_server based on the IP address that
originated the request (thus not requiring the coa_server parameter)?


More information about the Freeradius-Users mailing list