How freeradius/freeradius-server works
FreeRADIUS is a configurable multi-protocol policy server. The principal workflow is a network device or test client sending a request to a server listener, where policy and authentication modules determine a response. The README documents supported protocols, backend integrations, and the recommended radclient testing loop. The sampled excerpts provide detailed evidence for selected client, Redis, BFD, LDAP-sync, MS-CHAP, and SIGTRAN components; internal connections among unsampled runtime stages are therefore left unasserted.
Main entry points: radiusd.c FreeRADIUS server · module.c Module runtime · modules Backend modules · proto_radius.c RADIUS listener
Components 20
Server runtime
- FreeRADIUS server
src/bin/radiusd.c - Protocol listeners
src/listen - RADIUS listener
src/listen/radius/proto_radius.c - DHCP listeners
src/listen/dhcpv4/proto_dhcpv4.c - DNS listener
src/listen/dns/proto_dns.c - TACACS listener
src/listen/tacacs/proto_tacacs.c - VMPS listener
src/listen/vmps/proto_vmps.c
Policy and authentication
- Unlang policy engine
src/lib/unlang/interpret.c - Module runtime
src/lib/server/module.c - MS-CHAP authentication
src/modules/rlm_mschap/mschap.h - EAP authentication
src/modules/rlm_eap/rlm_eap.c
Protocol and backends
- Backend modules
src/modules - Redis command pipeline
src/lib/redis/pipeline.c - LDAP synchronization
src/listen/ldap_sync - BFD session state
src/listen/bfd/session.c - SIGTRAN client
src/modules/rlm_sigtran/client.c
Client tools
- RADIUS test client
src/bin/radclient.c - Next-gen RADIUS client
src/bin/radclient-ng.c - DHCP client
src/bin/dhcpclient.c
Other components
- Operator or NAS
Connections 14
- Operator or NAS → RADIUS test client: tests with
README.md - Operator or NAS → Next-gen RADIUS client: tests with
- Operator or NAS → RADIUS listener: sends packets
README.md - FreeRADIUS server → Protocol listeners: supports protocols
README.md - FreeRADIUS server → RADIUS listener: serves RADIUS
- FreeRADIUS server → DHCP listeners: serves DHCP
- FreeRADIUS server → DNS listener: serves DNS
- FreeRADIUS server → TACACS listener: serves TACACS+
- FreeRADIUS server → VMPS listener: serves VMPS
- Unlang policy engine → Module runtime: dispatches modules
- Module runtime → MS-CHAP authentication: invokes authentication
- Module runtime → EAP authentication: invokes authentication
- Module runtime → Backend modules: invokes backends
- Backend modules → Redis command pipeline: uses Redis commands