Free Radius Test Tool



EAP Testing

While FreeRADIUS comes with a command-line tool calledradeapclient, by far and away the best EAP testing tool isthe eapol_test program from wpa_supplicant.

Freeradius is the most widely used OpenSource RADIUS server, which we also use. In this article we want to set up a Freeradius server and certificates for an encrypted connection. In particular I would like to focus on the connection to linuxmuster.net 6.2 and the authentication with an LDAP server. RADIUS Test Rig Utility is a free RADIUS client utility provided by Juniper Networks, an enterprise networking vendor. It is also known simply as RadiusTest.

The default build of wpa_supplicant does not build theeapol_test program, so you will have to do that yourself.

Building eapol_test

Download the latest version of wpa_supplicant,and un-tar it, then follow these instructions to build it:

$ cd wpa_supplicant-version/wpa_supplicant
$ cp defconfig .config
$ vi .config

Find the line containing

and change it to

CONFIG_EAPOL_TEST=y

Then, type

Once it is done, copy the file to some where in your PATH.e.g. /usr/local/bin, or ~/bin. The following testsassume that the eapol_test file has been installed, such asvia the following command:

$ cp eapol_test /usr/local/bin

Testing

Run the eapol_test program from the command-line, with oneof the following configuration files.

Where file is one of the configuration files below. Weare also assuming that the RADIUS server is on localhost, andthat the shared secret is testing123.

Test radius server
  • PEAPv0
    • EAP-GTC
  • EAP-TTLS

These configuration files assume that you are using the test userbob, with password hello, as given in the PAP howto.

Radius

If the productioncertificates have been created, then the ca_cert entry ineach configuration file can be un-commented. The eapol_testprogram will then verify the server certificate.

Session Resumption, or Fast Reauthentiction

Use eapol_test -r 1 ... in order to test sessionresumption. See the eapol_test documentation for moreinformation.

Let's say that you have mysql and freeradius installed in your system and would like to use it with MikroTik.

After FreeRADIUS is installed, we need to configure it. This step will detail how to setup the server for use with the local Unix user accounts for the machine that FreeRADIUS is installed on. If you would like to immediately setup the server for use with the MySQL database proceed to the next step but I highly recommend you do this step first to verify the RADIUS install works properly. Step 4 also builds on this step.

First we are going to need some tool to test the installation of the RADIUS server with, I prefer NTRadPing you can download it from MasterSoft’s website (free download)NTRadPing provides a nice simple testing interface for MS Windows computers.

First we need to authorize access to the RADIUS server to certain computers:

Add the IP address of the Mikrotik box and the IP address of the windows computer you have NTRadPing installed on and pick a secret key for each.

Example:

  • 5MySQL Database
    • 5.1Configuration Files

optional step

Radius test rig utility

This step is not crucial and may be skipped, it simply adds functionaility for you to use the two attributes: Mikrotik-Recv-Limit and Mikrotik-Xmit-Limit for limiting how much data a user can use before being knocked offline (ie. once they transfer say 200MB they are kicked offline). I don’t use this, but you may wish to:

We now need to ‘install’ the dictionary file for the Mikrotik:

  • NOTE: if anyone knows anything about this step, ie) if I’m doing it wrong Wink please let me know, my email address is at the top of the page:

After the last $INCLUDE statement add the following line:

naslist

Add the same IP addresses for your test computer and Mikrotik box into this file and select the type of NAS. Example:

radiusd.conf

Find the Unix section of the file and ensure that the lines

are NOT commented out (ie. do not have a # sign in front of them).

Congratulations!!! You now have a fully functional RADIUS server that will uses the local Unix accounts as its authentication base.

Let’s test it out

Start the RADIUS server in debug mode(-x) by typing:

  • Note: You must be logged in as root (su or real login) to start the server, otherwise you will get a “command not found” error.

If you receive no error messages you have configured the server properly, now on the MS Windows machine open NTRadPing. Enter the following:

  • You should get an “Access-Accept” message.
  • Now change the password to something incorrect, ensure you get an “Access-Reject” message
  • Now correct the password, change the port to 1813, and change the Request Type to: “Accounting Start”. Ensure you get an “Accounting-Response” message.
  • Finally change the Request Type to: “Accounting Stop”. Ensure you get an “Accounting-Response” message.

MySQL Database

If the above tests came back in good order we can go ahead and setup FreeRadius to use the MySQL database.

Stop the RADIUS server by pressing CTRL-C

First of all we will need to setup a database schema for the RADIUS server to use, fortunately FreeRADIUS ships with a SQL script to create the database for us. In this step when I refer to root and the respective root password, I am referring to the root user for the MySQL database, not root of the entire system.

You are now in the MySQL shell, all SQL commands end with a semicolon (Wink

We need to create a database before we can create tables within it:

This creates an empty database named “radius”

Now execute the script included with FreeRADIUS to create the database tables:

You should see 6 different tables in the radius database.

Let’s insert a test user while we are at it:

Verify the user was added by viewing the rows of the usergroup table:

We still need to set more attributes for the user:

We will configure a quick test response here as well (not to be used in the final implementation, you will have to configure that depending on what you want, this will work however):

Configuration Files

We finally need to change a few configuration files:

Free radius test tool harbor freight

radiusd.conf

Find the “authorize” section (near the bottom) and add “sql” (no quotes) between“suffix” and “files”. Comment out “files” by putting a # in front of it. Do the same to “suffix”.

Find the “accounting” section (a bit underneath the authorize section) and place the word “sql” (without quotes” between “unix” and radutmp”

sql.conf

Find And modify the following fields:

Starting the Radius Server

Start the RADIUS server:

Let’s test the RADIUS server using NTRadPing as before but use the username and password of the test user listed in the SQL database. You should receive an “Access-Accept” response and assuming you correctly entered the entries into the radgroupreply table you should also see the following in the Attribute Dump portion of the response in NTRadPing:

Congratulations you now have a fully functional RADIUS server authenticating against a MySQL database, and storing the accounting data in the MySQL database!!!

Getting the Mikrotik RouterOS Box to Work with the RADIUS Server

Log into the Mikrotik box and execute these simple commands:

For simplicities’ sake later ensure you can ping the radius server from the Mikrotik box:

If you can not ping your server you must fix that first before continuing

You should now, as a hotspot client, be able to request any page and be directed to the login page as normal, if you login as an entry in the SQL database (username: radiustest, password: testpassword) you shold be authenticated no problem.

Note on RADIUS Applications

There are many ways to use RADIUS with Mikrotik, the common applications are authorizing associations based on MAC address, and PPP(oE/TP) user authorization. Both of these are very simple to do, but can cause some frustration as they are not well documented in the manual. Keep in mind that you will need to add definitions for RADIUS servers in the RADIUS table. Each definition in the RADIUS table (click the RADIUS menu in winbox) is for a specific server, and you can have each specific server authenticate for different types of services, such as HotSpot, PPP[oE/TP], and Wireless.

To authorize associations on an AP interface, first set up a RADIUS server with 'Wireless' enabled, then you simply need to set 'radius-mac-authentication=yes' in the security profile for the AP. You can do this through winbox by going to the Wireless->Security Profiles tab, double clicking your profile and ticking the 'RADIUS MAC Authentication' box. Mikrotik will submit the MAC address as the username in the format 00:11:22:33:44:55 with a blank password. Since Mikrotik submits a blank password, you will need to keep this in mind when developing your security systems.

Free Radius Test Tool Template

To authorize PPP[oE/TP] sessions, first set up a RADIUS server with 'PPP' enabled, then on the PPP menu click 'Secrets' and 'AAA', then check radius (At the console, /ppp aaa use-radius=yes). There are many supported attributes that allow you to do many useful things with PPP/RADIUS, such as individual client WEP keys, and per-user queue limits. Read more about the available radius attributes on the Radius manual page

--N. Bright

Radius Test Tool For Windows

Accounting

To view the Accounting database table for a user:

Free Radius Test Tool Harbor Freight

  • Note each login/logout pair is recorded as one row in the table

See also

Retrieved from 'https://wiki.mikrotik.com/index.php?title=How_to_setup_up_RADIUS_for_use_with_MikroTik_-_By_Ramona&oldid=23638'