Define coa_server for clients in nas table

Alan DeKok aland at
Wed Oct 28 17:10:05 CET 2015

On Oct 28, 2015, at 11:47 AM, Bryan Mesich <bryan.mesich at> wrote:
> 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.

  That should work.

> 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.con:


> 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.

  Yes.  It's not there.

  Patches are welcome.

>  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)?

  Sure.  That information has to be stored somewhere, and retrieved somewhere.  Those are policies you can create.

  You'll have to store the NAS IP in an accounting table for each user.  Then when you want to disconnect a user, look up the NAS IP in the accounting table.

  Alan DeKok.

More information about the Freeradius-Users mailing list