Configuring your Terminal Servers / NASs:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RADACUA uses the radutmp file created by Cistron RADIUS and FreeRADIUS.

This file contains information about users currently on your system.  RADACUA
uses this file to determine which port and which terminal server a specific
user is on.  When it comes time to kick off the user, RADACUA will look in
this file, locate the user by scanning for the users username, and will then
locate which terminal server the user is connected to.  For example, if you
have a Portslave terminal server set up on an IP address of 10.0.0.1,
RADACUA will then try to invoke /etc/radacua/nas/10.0.0.1 with some
command-line params like the users login name, port and the terminal server
IP address.

There are templates for PortMasters, Portslave, and Lanrover terminal servers
in /etc/radacua/nas/templates.  You need to use these scripts (or write your
own if you wish) to kick users off of your terminal servers.  An example
set up is below:

    10.0.0.1	Livingston PortMaster 3.
    10.0.0.2	Linux Portslave.

In this case, you would need to copy /etc/radacua/nas/templates/portmaster3 to
/etc/radacua/nas/10.0.0.1, and you would also need to copy
/etc/radacua/nas/templates/portslave to /etc/radacua/nas/10.0.0.2

Once you have done that, get into a text editor and edit both script files.

At the top of the script files you will see some comments (lines beginning
with a hash (#)).  About half way down the screen you will see login and
password settings.  The login and password settings are for your terminal
servers so that RADACUA can pretend to be an administrator and kick off the
user(s) that it needs to.

Please be aware that your Terminal Server/NAS password is transmitted in
clear text and could be discovered by someone doing packet sniffing on
your network.


RADIUS Accounting:
~~~~~~~~~~~~~~~~~~
There is now an accountancy daemon which you need to load.  It's called
acua_radacctd.  You need to specify the path to the radius 'detail' files,
so it can read them and update the users data transferred section when they
log off.  Real-time accountancy isn't ever likely to be implemented due to the
extra load it would put on the terminal servers.

example entrys for radacua: /etc/inittab

# Main acua daemon - sends out emails about expirys, kicks users, etc.
ac:23:respawn:/usr/sbin/acua_radupdated -d
# Accountancy daemon for our Portmaster 3.
a1:23:respawn:/usr/sbin/acua_radacctd -d /var/log/radacct/microwave/detail
# Accountancy daemon for our Portslave box.
a2:23:respawn:/usr/sbin/acua_radacctd -d /var/log/radacct/hastings/detail

You need to run one accountancy daemon per terminal server.

The -d option means to not run as a daemon, to stop inittab from continuously
trying to respawn the process, which could cause incorrect download/upload
logging and so on.

After adding these entry's to inittab, you can either reboot your pc to get
it to load the programs, or you can use the command "init q" to tell the
init process to take on the changes in /etc/inittab.  Read the "init" and
"inittab" manpages for more info.

RADIUS Configuration:
~~~~~~~~~~~~~~~~~~~~~
acua_radlogin is the program that determines if a user should be allowed
on-line.  We use the Cistron radius server ourselves, and other radius servers
may not work without tweaking.  Put the following entry into /etc/raddb/users:

# Framed-IP-Address is set by acua_radlogin.
DEFAULT	Auth-Type = System,
	NAS-Port-Type = Async,
	Service-Type = Framed-User,
	Framed-Protocol = PPP,
	Idle-Timeout = 0,
	Exec-Program-Wait = "/usr/sbin/acua_radlogin %u",
	Framed-IP-Netmask = 255.255.255.255,
	Fall-Through = No

The comment above this about the Framed-IP-Address being assigned by
acua_radlogin means that it will either assign no ip at all (if the
NOIP flag is turned on for the particular user account).  If ACUA does
not see that NOIP flag on the user account (ie, in the case of a standard
dial-up user) it will allocate an IP Address of 255.255.255.254 which tells
the NAS equipment to allocate an IP Address from it's pool of addresses.

In the future, RADACUA will also set the Idle-Timeout RADIUS value, which
will allow you to automatically disconnect users who have left their PC
connected to the Internet but not doing anything.

Troubleshooting:
~~~~~~~~~~~~~~~~
If you need to troubleshoot acua_radlogin, then you can run it from the
command-line.  For this example we'll pretend the user is "joe".

acua_radlogin joe

This will return (on successful logins) the RADIUS attribute/value (a/v)
pairs like Framed-IP-Address and Idle-Timeout (when implemented).
Also check /var/log/auth.log as the acua_radlogin program logs *useful*
error messages there (unlike the normal acua).  If you can not find a hint
in that file, look in /var/log/syslog and maybe /var/log/messages, or
even /var/log/debug.

If you do not have a /var/log/auth.log file, then go to your /etc/syslog.conf
file and add this line up the top somewhere:

auth,authpriv.*                 /var/log/auth.log

Restart syslog and continue troubleshooting radacua.  All errors and even
nice messages should be now logged to that file.  On Debian you need not worry
about this, as it's already set up properley.

Also, I've never ran ACUA without subscribing users, and in my view, letting on
users without a valid subscription is wrong.  It's wrong in our setup anyway,
so I suggest you subscribe all of your users otherwise radacua will reject
their logins (this will be logged to /var/log/auth.log on a properley setup
system).

Failing all that - e-mail me!  acua@acua.ebbs.com.au

USER DATABASE:
~~~~~~~~~~~~~~
RADACUA uses a different file format for the user database where it keeps info
about subscriptions, user flags, etc.  There is a utility called
"acua202-radacua000" which converts your database from ACUA 2.02 format (which
is also what the 3.xx versions currently use) into RADACUA 0.00 format which
is what is currently used.  There is also a utility called
"radacua000-acua202" which converts your RADACUA user database back to
ACUA v2.02 format.  Some user settings that ACUA v2.02 does not support will
be lost, such as the MULTILINK, NOIP, and OVERTIME flags.

RADACUA v1.0 uses the same database format as radacua001.  It will complain
and will not work if you try to use the wrong database from a previous
incompatable version or ACUA or RADACUA.

Regards,
Robert Davidson.
ACUA v3.xx Maintainer.
acua@acua.ebbs.com.au