Modern business network architecture has a complicated structure and a lot of devices can connect simultaneously which is a convenient feature for hackers and anybody who has illegal intentions. To solve this problem people invented one exciting solution. Radius server (aaa server), which can provide 3 functions of protection: authentication, authorization, and accounting. Every step on the system will be logged and all entries, and points of input are under control.
RADIUS server
FreeRADIUS — is an exceptional RADIUS server that offers centralized authentication and authorization services for devices, including switches, routers, VPN gateways, and WiFi access points. Its unique ability to manage user access to network resources based on various parameters, such as identity, location, device characteristics, and time of day, makes it a versatile solution for enterprise, academic, and service provider environments.
The server supports multiple authentication methods and can integrate with external databases like SQL, LDAP, and Kerberos for efficient user and device information storage and retrieval. With its scalability, flexibility, and robustness, FreeRADIUS remains a top choice for organizations seeking a reliable and customizable RADIUS solution.
Install FreeRADIUS
Before installing any software, we need to update the index and package on AlmaLinux:
sudo dnf update -y

Install the necessary package for the RADIUS server:
sudo dnf install freeradius

After installation, you need to configure the server according to your requirements. Configuration files we can find with the command below:
sudo nano /etc/raddb/radiusd.conf
But you can still use anything, a convenient text editor. Open the file and look at the parameters: logging, authentication protocol, and ports. All settings can be modified for your purposes.

Next, create a file with the name “user.conf” in the same directory:
sudo touch /etc/raddb/user.conf
Launch your text editor and use this command to open the file, we are using nano, but you can choose your own favourite text editor:
sudo nano /etc/raddb/user.conf
In the config add the client's devices and shared secret using the following syntax:
client <client IP or hostname> {
secret = <shared secret>
}

Instead of “client IP or hostname” enter what you need credentials and the same thing with the “shared secret”, instead put a very strong password because of its single and fast method to get access to your system.
Notice: that the configuration file determines rules for the client’s device!
Now, we go set up config for a user account: configuring accounts and groups for authentication on the server side, an open—source implementation of the RADIUS protocol. This involves creating user accounts and assigning them group memberships in the database.
sudo nano /etc/raddb/users
And paste this:
<username> Cleartext-Password := "<password>"

Replace <username> with the desired username, and <password>with the corresponding password in clear text format. Similarly, open the groups file in your text editor using the following command:
sudo nano /etc/raddb/groups
And enter this:
<groupname> User-Name == "<username>"

Launch the RADIUS server: After completing the configuration, initiate the server using the relevant command. For instance, you can activate the server by executing the following:
sudo systemctl start radiusd
And that’s it!
FreeRADIUS Linux
Setting up a RADIUS (AAA) server on AlmaLinux using FreeRADIUS is a relatively simple task when following the foundational steps outlined in this guide. By completing the basic configuration process, you can quickly deploy a functional authentication, authorization, and accounting server suitable for small to medium-scale environments. This tutorial focused on the essentials to help you get started with minimal friction.
However, FreeRADIUS is a highly flexible and powerful tool that supports a wide range of advanced features — including custom modules, integration with SQL or LDAP databases, dynamic VLAN assignment, EAP authentication methods, and more. These capabilities open the door to complex enterprise-level network policies and robust access control.
For users seeking to go beyond the basics, further exploration of the official documentation and additional community resources is recommended. With continued learning and refinement, FreeRADIUS can serve as the backbone of a secure, scalable network access infrastructure.