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