C M4 Makefile Shell Perl Python Other
Switch branches/tags
v3.1.x release_3_0_15 release_3_0_14 release_3_0_13 release_3_0_12 release_3_0_11 release_3_0_10 release_3_0_9 release_3_0_8 release_3_0_7 release_3_0_7_rc0 release_3_0_6 release_3_0_5 release_3_0_4 release_3_0_4_rc2 release_3_0_4_rc1 release_3_0_4_rc0 release_3_0_3 release_3_0_2 release_3_0_1 release_3_0_0 release_3_0_0_rc1 release_3_0_0_rc0 release_3_0_0_beta1 release_3_0_0_beta0 release_2_2_10 release_2_2_9 release_2_2_8 release_2_2_7 release_2_2_6 release_2_2_5 release_2_2_4 release_2_2_3 release_2_2_2 release_2_2_1 release_2_2_0 release_2_1_12 release_2_1_11 release_2_1_10 release_2_1_9 release_2_1_8 release_2_1_7 release_2_1_6 release_2_1_4 release_2_1_3 release_2_1_2 release_2_1_1 release_2_1_0 release_2_0_5 release_2_0_4 release_2_0_3 release_2_0_2 release_2_0_1 release_2_0_0 release_2_0_0_pre2 release_2_0_0_pre1 release_1_1_8 release_1_1_7 release_1_1_6 release_1_1_5 release_1_1_4 release_1_1_3 release_1_1_2 release_1_1_1 release_1_1_0 release_1_1_0_pre0 release_1_0_5 release_1_0_4 release_1_0_3 release_1_0_2 release_1_0_1 release_1_0_0 release_1_0_0_pre3 release_1_0_0_pre2 release_1_0_0_pre1 release_0_9_3 release_0_9_2 release_0_9_1 release_0_9_0 release_0_9_0_pre3 release_0_9_0_pre2 release_0_9_0_final release_0_8_1 release_0_7_1 release_0_7_0 release_0_6_0 release_0_5_0 release_0_4_0 release_0_2_0 release_0_1_0 first-build debian_1_0_4_2 debian_1_0_4_1 debian_version_0_5+cvs20020409-1 debian_version_0_5+cvs20020408-1 debian_version_0_3-2 debian_version_0_3-1 debian_version_0_2+20010917-1 debian_version_0_2+20010912-1 debian_version_0_1+20010527-1
Nothing to show
Latest commit e9bd20b Jul 20, 2017 @alandekok alandekok more notes on "to do"
Permalink
Failed to load latest commit information.
.github Now markdown May 9, 2017
debian libsystemd gets automagically added to debian/control if it is available Jul 19, 2017
doc Remove rlm_realm and rlm_preprocess Jul 1, 2017
m4 Check if sanitize-address-use-after-scope is support Jul 5, 2017
man Remove more references to hungroups and hints Jul 1, 2017
mibs Add triggers for min/max reserve time for connection pools Feb 10, 2016
raddb Remove more references to hungroups and hints Jul 1, 2017
redhat fix errors in centos7 build, and do not require systemd package on sy… Jul 20, 2017
scripts add dockerfiles for building freeradius with docker Jul 19, 2017
share Add ethernet attributes Jul 13, 2017
src more notes on "to do" Jul 20, 2017
suse Exit with the status of FreeRADIUS for debugging Jan 24, 2015
.gitattributes FreeRADIUS is C11. Non of that Apple junk... Sep 13, 2016
.gitignore we don't want to ignore cert files everywhere. May 10, 2017
.travis.yml Where are you symbolizer... Jul 6, 2017
COPYRIGHT Update copyright notices Dec 31, 2014
CREDITS Replace credits with a link to the Acknowledgements wiki page Jan 20, 2013
INSTALL.md Fix links Apr 27, 2017
LICENSE Update the GPL copy with the new address of the FSF. Mar 20, 2006
Make.inc.in remove STATIC_MODULES, and shared/static library configuration Jun 13, 2017
Makefile Don’t run test server with -M Jun 15, 2017
README.md Update README.md Apr 27, 2017
VERSION Bump VERSION Aug 6, 2016
acinclude.m4 Fix sigtran configure scripts so they use pkgconfig include and libra… Nov 2, 2016
aclocal.m4 Let aclocal update aclocal.m4, fixes #1517 Feb 15, 2016
autogen.sh Rename configure.in to configure.ac Jun 23, 2013
config.guess Pulled from GNU. This closes bug #496 Dec 15, 2007
config.sub Pulled from GNU. This closes bug #496 Dec 15, 2007
configure Check if sanitize-address-use-after-scope is support Jul 5, 2017
configure.ac Check if sanitize-address-use-after-scope is support Jul 5, 2017
install-sh Update install-sh to version 2016-01-11.22 Sep 17, 2016
main.mk Moved raddb/ to use boilermake Feb 26, 2013
missing Rename configure.in to configure.ac Jun 23, 2013

README.md

The FreeRADIUS server

Travis CI build status Coverity Status

Introduction

The FreeRADIUS Server Project is a high performance and highly configurable multi-protocol policy server, supporting RADIUS, DHCPv4 and VMPS. It is available under the terms of the GNU GPLv2. Using RADIUS allows authentication and authorization for a network to be centralized, and minimizes the number of changes that have to be done when adding or deleting new users to a network.

FreeRADIUS can authenticate users on systems such as 802.1x (WiFi), dialup, PPPoE, VPN's, VoIP, and many others. It supports back-end databases such as MySQL, PostgreSQL, Oracle, Microsoft Active Directory, Apache Cassandra, Redis, OpenLDAP, and many more. It is used daily to authenticate the Internet access for hundreds of millions of people, in sites ranging from 10 to 10 million+ users.

Upgrading

Version 4.0.x of the server is largely compatible with version 3.0.x, but be sure to address any warnings when starting v3.0.x before attempting to use en existing configuration with v4.0.x.

For a list of changes in version 4.0, please see doc/changelog

See raddb/README.rst for information on what to do to update your configuration.

Administrators upgrading from a previous version should install this version in a different location from their existing systems. Any existing configuration should be carefully migrated to the new version, in order to take advantage of the new features which can greatly simply configuration.

Please see http://freeradius.org and http://wiki.freeradius.org for more information.

Installation

To install the server, please see the INSTALL.md file in this directory.

Configuring the server

We understand that the server may be difficult to configure, install, or administer. It is, after all, a complex system with many different configuration possibilities.

The most common problem is that people change large amounts of the configuration without understanding what they're doing, and without testing their changes. The preferred method of operation is the following:

  1. Start off with the default configuration files.
  2. Save a copy of the default configuration: It WORKS. Don't change it!
  3. Verify that the server starts - in debugging mode (radiusd -X).
  4. Send it test packets using "radclient", or a NAS or AP.
  5. Verify that the server does what you expect
    • If it does not work, change the configuration, and go to step (3)
    • If you're stuck, revert to using the "last working" configuration.
    • If it works, proceed to step (6).
  6. Save a copy of the working configuration, along with a note of what you changed, and why.
  7. Make a SMALL change to the configuration.
  8. Repeat from step (3).

This method will ensure that you have a working configuration that is customized to your site as quickly as possible. While it may seem frustrating to proceed via a series of small steps, the alternative will always take more time. The "fast and loose" way will be MORE frustrating than quickly making forward progress!

Debugging the Server

Run the server in debugging mode, (radiusd -X) and READ the output. We cannot emphasize this point strongly enough. The vast majority of problems can be solved by carefully reading the debugging output, which includes WARNINGs about common issues, and suggestions for how they may be fixed.

Read the FAQ. Many questions are answered there. See the Wiki

http://wiki.freeradius.org

Read the configuration files. Many parts of the server have NO documentation, other than comments in the configuration file.

Search the mailing lists. There is a Google link on the bottom of the page:

http://www.freeradius.org/list/users.html

Type some key words into the search box, and you should find discussions about common problems and solution.

Feedback, Defects, and Community Support

If you have any comments, or are having difficulty getting FreeRADIUS to do what you want, please post to the 'freeradius-users' list (see the URL above). The FreeRADIUS mailing list is operated and contributed to, by the FreeRADIUS community. Users of the list will be more than happy to answer your questions, with the caveat that you've read documentation relevant to your issue first.

If you suspect a defect in the server, would like to request a feature, or submit a code patch, please use the GitHub issue tracker for the freeradius-server repository.

Instructions for gathering data for defect reports can be found in doc/bugs or on the wiki.

Under no circumstances should the issue tracker be used for support requests, those questions belong on the user's mailing list. If you post questions related to the server in the issue tracker, the issue will be closed and locked. If you persist in positing questions to the issue tracker you will be banned from all FreeRADIUS project repositories on GitHub.

Please do NOT complain that the developers aren't answering your questions quickly enough, or aren't fixing the problems quickly enough. Please do NOT complain if you're told to go read documentation. We recognize that the documentation isn't perfect, but it does exist, and reading it can solve most common questions.

FreeRADIUS is the cumulative effort of many years of work by many people, and you've gotten it for free. No one is getting paid to answer your questions. This is free software, and the only way it gets better is if you make a contribution back to the project ($$, code, or documentation).

We will note that the people who get most upset about any answers to their questions usually do not have any intention of contributing to the project. We will repeat the comments above: no one is getting paid to answer your questions or to fix your bugs. If you don't like the responses you are getting, then fix the bug yourself, or pay someone to address your concerns. Either way, make sure that any fix is contributed back to the project so that no one else runs into the same issue.

Books on RADIUS

See doc/README for more information about FreeRADIUS.

There is an O'Reilly book available. It serves as a good introduction for anyone new to RADIUS. However, it is almost 12 years old, and is not much more than a basic introduction to the subject.

http://www.amazon.com/exec/obidos/ASIN/0596003226/freeradiusorg-20/

Commercial support

Technical support, managed systems support, custom deployments, sponsored feature development and many other commercial services are available from Network RADIUS.