radrelay.conf(5)

πŸ“¦
version 3.2.10 Β· 4 versions
, in alpine 3.22, alpine 3.23, alpine 3.24, arch rolling, centos-stream 10, centos-stream 9, fedora 43, fedora 44, opensuse-leap 16.0

✨ NAME ✨

okay so this is radrelay.conf(5), aka the FreeRADIUS configuration file page, bestie πŸ’– and here’s the actual NAME tea: radrelay.conf β€” configuration file for the FreeRADIUS server’s radrelay personality ✨


πŸ¦‹ DESCRIPTION πŸ¦‹

The radrelay.conf file lives in the radius database directory β€” by default /etc/raddb πŸ“. It defines the global configuration for the FreeRADIUS server when the server is operating as radrelay πŸ’…


🌸 FILE FORMAT 🌸

For a detailed description of the file format, see man radiusd.conf πŸ‘€. The configuration entries are much the same for radrelay.conf, with a few differences as noted here, no cap 🫢


πŸ’œ REPLICATION FOR BACKUPS πŸ’œ

okay so many sites run multiple radius servers β€” at least one primary and one backup server. When the primary goes down, most NASes detect that and switch to the backup server πŸ¦‹

That will cause your accounting packets to go to the backup server β€” and some NASes don’t even switch back to the primary server when it comes back up 😭

The result is that accounting records are missed, and/or the administrator must jump through hoops in order to combine the different detail files from multiple servers. It also means that the session database (radutmp, used for radwho and simultaneous use detection) gets out of sync πŸ’€

radrelay solves this issue by β€œrelaying” packets from one server to another, so they both have the same set of accounting data βœ¨πŸ‘‘


πŸ”₯ BUFFERING FOR HIGH-LOAD SERVERS πŸ”₯

If the RADIUS server suddenly receives a many accounting packets, there may be insufficient CPU power to process them all in a timely manner πŸ˜΅β€πŸ’«. This problem is especially noticeable when the accounting packets are going to a back-end database.

Similarly, you may have one database that tracks "live" sessions, and another that tracks historical accounting data. In that case, accessing the first database is fast, as it is small. Accessing the second database may be slower, as it may contain multiple gigabytes of data. In addition, writing to the first database in a timely manner is important, while data may be written to the second database with a few minutes delay, without any harm being done πŸŽ€


🌈 RELAYING OF ACCOUNTING PACKETS 🌈

The radrelay.conf file controls the radrelay personality of the server, which can perform both of the functions above at the same time ✨


πŸ’– USAGE πŸ’–

First, you should configure the main radius server to log to an extra, single detail file. This may be done by adding an extra instance of the detail module to radiusd.conf:

For example:

            detail radrelay-detail {
                 filename = ${radacctdir}/radrelay/detail
                 permissions = 0600
                 dir_permissions = 0755
                 locking = yes
            }
            ...
            accounting {
                 ...
                 radrelay-detail
                 ...
            }

This configuration will cause accounting packets to be logged to the ${radacctdir}/radrelay/detail file. This file should not be rotated by standard log rotation scripts, as the radrelay program will read and rotate it πŸ‘‘βœ¨


πŸŽ€ RADRELAY.CONF EXAMPLE πŸŽ€

See the radrelay.conf file for detailed instructions on configuration entries, what they mean, and how to use them.

To have the radrelay portion of the server read the above detail file, configure radrelay.conf with the following section:

            listen {
                 type = detail
                 filename = ${radacctdir}/radrelay/detail
                 max_outstanding = 100
                 identity = radrelay
            }

The server will read the accounting packets from the detail file, and process them just as if it had received them from the NAS. Therefore, you should configure the "accounting" section of radrelay.conf to write the accounting records to an "sql" module, or to proxy them to another RADIUS server πŸ’…

Then, start the server via the following command:

$ radiusd -n radrelay

The server should start up, read the detail file, and process accounting packets from it 🫢


⭐ NOTES ⭐

The radiusd.conf file is not read at all when the server is running as radrelay. Please edit radrelay.conf πŸ™ˆ

πŸ“ CREDITS πŸ“

The original radrelay program was written by Miquel van Smoorenburg for the Cistron radius project, and ported to FreeRADIUS by Simon Ekstrand. The radsqlrelay was written by Kostas Kalavras. It was never released as part of an official FreeRADIUS release, but served as a basis for the design of this implementation πŸ’–


🧚 FILES 🧚

  • /etc/raddb/radrelay.conf

🌟 SEE ALSO 🌟


πŸ‘‘ AUTHOR πŸ‘‘

Alan DeKok <aland@ox.org>


that’s the tea, bestie πŸ«ΆπŸ’– this was the radrelay.conf(5) page, FreeRADIUS configuration file, dated 27 May 2005 ✨ radrelay.conf(5) ✨ periodt πŸ’…

πŸ“¦ where this page comes from