Internet browsing time-based quotas

Classic hotel WiFi access scenario: You’d like to setup your network in such a way as to give a particular user only a certain amount of time per day to browse the internet. Say for example “guestuser1” should only be given 2 hours of internet access per day.

Some vendors make this (relatively) easy. For example SonicWALL firewalls allow you to specify guest users and track their time usage as per my example above

Other vendors, like BlueCoat (currently), do not offer this functionality built-in. Some research into possible ways around this led me to a solution which may be slightly involving but satisfies the above requirements independent of vendors. It’s based on my favourite FreeRADIUS. I’ll only provide the links here since I havent yet had time to thoroughly test this.

First of all you’ll need to setup freeradius to use SQL as an accounting method:

http://wiki.freeradius.org/SQL_HOWTO#Configuring_FreeRadius_to_use_SQL

Second, you use a FreeRADIUS module that stores access times in SQL and allows/denies requests based on time already spent browsing the internet:

http://wiki.freeradius.org/Rlm_sqlcounter#Example_Setup

Once done, any RADIUS capable host should be able to satisfy the above requirements

If anyone tried this method successfully please let me know🙂