System Servicesradiusauthenticationaaaservernetworkproxy

FreeRADIUS

High-performance and highly configurable RADIUS server supporting authentication via local files, SQL, Kerberos, LDAP, PAM, and more. Includes powerful policy language, proxying, EAP types, and vendor-specific attributes.

Description

FreeRADIUS is a high-performance RADIUS server used for Authentication, Authorization, and Accounting (AAA). It supports diverse authentication backends including local files, SQL databases, Kerberos, LDAP, PAM, and others. The server features a powerful policy configuration language, request proxying and replication by various criteria, support for numerous EAP types like TLS, PEAP, TTLS, vendor-specific attributes, and regexp matching in string attributes.

Common use cases include setting up RADIUS servers for network access control, Wi-Fi authentication (WPA Enterprise), VPNs, and dial-up services. Kali Linux provides the core freeradius package along with modules for DHCP, LDAP, MySQL, PostgreSQL, Redis, and more specialized components like Yubikey support. Client utilities in freeradius-utils enable testing, debugging, and management of RADIUS interactions.

The tool ecosystem includes binaries like checkrad for user login checks, raddebug for server debugging, radmin for administration, and utilities such as radtest, radclient for sending test packets to RADIUS servers.

How It Works

FreeRADIUS operates as a daemon listening on UDP/TCP ports for RADIUS packets, processing Authentication, Authorization, and Accounting requests. It evaluates policies defined in its configuration language, checks credentials against configured backends (local files, SQL, LDAP, etc.), supports EAP methods for secure authentication, proxies requests, and logs/maintains counters in databases like rlm_counter. Modules extend functionality for DHCP, database drivers, and caching via memcached or Redis.

Installation

bash
sudo apt install freeradius

Flags

-CCheck configuration and exit.
-fRun as a foreground process, not a daemon.
-hPrint this help message.
-i <ipaddr>Listen on ipaddr ONLY.
-l <log_file>Logging output will be written to this file.
-mOn SIGINT or SIGQUIT clean up all used memory instead of just exiting.
-n <name>Read raddb/name.conf instead of raddb/radiusd.conf.
-p <port>Listen on port ONLY.
--file=<filename>Counter DB filename for rad_counter.
-c conditionCondition for raddebug.

Examples

See if a user is (still) logged in on a certain port. Usage: checkrad nas_type nas_ip nas_port login session_id.
checkrad -h
Show help for the main FreeRADIUS authentication, authorization, and accounting server.
freeradius -h
Query and maintain FreeRADIUS rlm_counter DB file.
rad_counter -h
Display debugging output from a running server.
raddebug -h
FreeRADIUS Administration tool usage.
radmin -h
Send packets to a RADIUS server, show reply.
radclient --help
Test RADIUS authentication with user, password, server, and secret.
radtest -h
Updated 2026-04-16kali.org ↗