just want to put my PoV. FreeRadius and it's un-lang is very (super?) fast and powerful. But it need learning curved for so-called "Common Programmer" (just like me) Fortunately, there is rlm_rest came to the rescue. by Only need simple JSON rest knowledge, you can do any kungfu you want. Yes it will add another one-hop, but I have no complain about it as far. Personally, i put rlm_rest as "FreeRadius Swiss Army Knife". Sincerely -bino- On Thu, Sep 17, 2026 at 10:53 PM David Lake via Freeradius-Users < freeradius-users@lists.freeradius.org> wrote:
Thanks.
In terms of HAProxy, I have this running between the FreeRadius servers and the Galera cluster.
I’ve seen some recommendations that I direct all write to one node and then allow read from all so I will ask HAProxy.
Noted on the upgrade - work now in progress.
Thanks
David
From: Matthew Newton via Freeradius-Users < freeradius-users@lists.freeradius.org> Date: Thursday, 17 September 2026 at 13:23 To: freeradius-users@lists.freeradius.org < freeradius-users@lists.freeradius.org> Cc: Matthew Newton <mcn@freeradius.org> Subject: Re: FreeRadius 3.0.3 and Galera Cluster
On 17/09/2026 12:43, David Lake via Freeradius-Users wrote:
I have two FR 3.0.3 servers and a 3-node Galera cluster for HA. ... 1. Should I run the ’Skip Locked’ on FreeRadius or not? Some documentation says that I shouldn’t as MariaDB doesn’t support it, but other say newer versions do support it
Unsure on the database side, but it sounds like your whole system needs an upgrade. Then new features will become available to you.
1. What is the optimal way of configuring HAProxy?
For what? In front of FreeRADIUS? In front of the database? Maybe ask the HAproxy people.
1. How do I separate out writes from reads - I have two sites, each with one FR server and one Galera node. There is a high-speed network between the two, but ideally, I want to keep cross-site traffic to a minimum.
For this sort of thing you'd normally use a "redundant" type section (see instantiate in radiusd.conf) with two sql module instances, one that you point to the database server you use for RW, and the other pointing to the DB server for RO.
e.g. from the example in radiusd.conf, maybe something like
redundant redundant_sql { sql_local sql_remote }
then call 'redundant_sql' instead of 'sql'. sql_local/remote would of course be the other way around at the other site. If 'sql_local' is unavailable, FR will fall back to using 'sql_remote'.
Or, alternatively, define them as 'sql_ro' and 'sql_rw' and call each one as appropriate if you want to just read, or write.
I seem to remember there may have been some bugs fixed with this in the last couple of versions or so; another reason to upgrade before trying it.
-- Matthew
- List info/subscribe/unsubscribe? See https://eur02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.freerad... <http://www.freeradius.org/list/users.html> - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html