As part of a broader organisational restructure, data networking research at Swinburne University of Technology has moved from the Centre for Advanced Internet Architecture (CAIA) to the Internet For Things (I4T) Research Lab.

Although CAIA no longer exists, this website reflects CAIA's activities and outputs between March 2002 and February 2017, and is being maintained as a service to the broader data networking research community.

This page is part of the LIFE project.

RADIUS Server Configuration

FreeRADIUS on a machine running FreeBSD can be used to authenticate and authorise users as well as keep track of their account information. FreeRADIUS is one of many possible RADIUS implementations and is found in the FreeBSD "/usr/ports/net/freeradius" directory for installation. The following commands in the "/usr/ports/net/freeradius" directory will install FreeRADIUS:

radiusServ#make fetch
radiusServ#make build && make install

When we installed FreeRADIUS all files in the "/usr/local/etc/raddb/users" directory ended with the .sample suffix. For our purpose, it was enough to edit some of these files and remove the .sample suffix as we only required a simple configuration.


The first file we edited in the "/usr/local/etc/raddb/" directory was the radius.conf file. In this file general RADIUS settings can be changed depending on the service that is to be offered. Under PROXY CONFIGURATION we changed the following:

proxy_requests = yes
$INCLUDE ${confdir}/proxy.conf


proxy_requests = no
# $INCLUDE ${confdir}/proxy.conf

This was because our setup has only one RADIUS server and does not need to consult other RADIUS servers to validate a client, thus the proxy.conf file does not need to be included. This step was not required, but according to the radius.conf file it reduces a portion of resource use.


The "/usr/local/etc/raddb/clients.conf" file is used to specify to the RADIUS server the RADIUS client/clients whose Access-Request messages it is to accept and process. The RADIUS server and its clients validate each other's identity by the use of a secret key that is sent in messages between them. The following values were edited in our clients.conf file:

client {
secret = mylittlesecret # the secret key used between the RADIUS server and the NAS
shortname = localhost
nastype = other # localhost is a FreeBSD machine, not a real NAS

client { # this is the IP address of the closest and most preffered NAS
secret = mylittlesecret # the secret key shared with this NAS
shortname = bart0 # the name of the NAS


The "/usr/local/etc/raddb/users" file lists the username/password combinations the RADIUS server may authenticate. In larger environments all usernames, passwords and accounting information would be located in a separate database the RADIUS server would consult. Since we only need a limited number of users for our system, we uncommented and edited the sample user "steve" in the users file.

steveAuth-Type := Local, User-Password == "testing"
Service-Type = Framed-User,
Framed-Protocol = PPP,
Framed-IP-Address =, # this is the address allocated to the user's side of the PPP tunnel
Framed-IP-Netmask =,
Framed-Routing = Broadcast-Listen,
Framed-MTU = 1500


The following is the ifconfig of the RADIUS server interface sis0:

sis0: flags=8843 mtu 1500
inet netmask 0xffffff00 broadcast
inet6 fe80::20c:6eff:fed1:4d7d%sis0 prefixlen 64 scopeid 0x1
ether 00:0c:6e:d1:4d:7d
media: Ethernet autoselect (100baseTX )
status: active


The following is an extract of the "/etc/rc.conf" file for the RADIUS server:

ifconfig_sis0="inet netmask"

As we have seen, configuring the RADIUS server was quite simple and only involved installing FreeRADIUS, renaming the .sample suffix of all FreeRADIUS files and editing a small number of variables in the radius.conf, clients.conf and users files. It is important to remember that the secret key between the RADIUS server and NAS must be specified and must be the same. Also note that although FreeRADIUS supports accounting we did not configure it for our system.

Starting FreeRADIUS

To start FreeRADIUS on the FreeBSD machine we entered the following command on the user prompt:


This would start FreeRADIUS on the 1812 port. To specify the historically used RADIUS port 1645 enter the command:

radiusServ#radiusd -p 1645

For more information on RADIUS options see the FreeBSD radiusd man file.

Swinburne Homepage Site Map Search Index

Swinburne Copyright and disclaimer Privacy Feedback

Last Updated: Thursday 19-Feb-2004 12:01:38 AEDT
Maintained by: Ana Pavlicic
Authorised by: Grenville Armitage

IndexSearchSite MapSwinburne Home Page