Public HotSpot with 500+ users… is pfsense good for me?



  • Hello,
    i'm going to develop a free wifi area having a captive portal to log each access by username and password.
    my requirement are the following:
    need to use an external db on MSSQL for user information and username + password
    users must be able to self register, modify account and request for lost passwords
    in case of new user creation or password change, must be sent an sms to the user with activation link / code
    each time a user authenticate himself i need to insert a record with the visit start into the MSSQL
    each time a user is disconneted i must update the previous record with the visit end.

    i know i have to develop all the user management part, but i want to know, in your opinion, if pfsense can handle this.
    i was thinking about this:
    captive portal page is an embedded standard page with a link to a Registration website where the user can handle the account and create.
    the authentication on the captive portal is made configuring a radius server wich will use freeradius server that is going to query the sql database for authentication.
    into the SQL query to authenticate the user i'm going to include a storeprocedure to create the record with the visit start
    i need to find HOW i can trigger an event with the user disconnection event.

    of course i need to log each activites connected to the user authenticated, about that i'm going to use squid

    Do you think that it will work? or maybe there is something already setup to be used for this?
    please help me with your experience :)



  • Hi there

    if you get anywhere with this i'd be very interested, I'm trying to do the same kind of thing.

    I also may be able to help.

    In terms of pfsense being able to handle this, it all depends on the pfsense server machine hardware.
    I am about to roll out a couple of large HP DL380 servers to hopefully fixed 'speed' issues with our current setup.



  • It'll work. Granted you're going to have to do a lot of custom development to use a MSSQL database and have that account process in general.



  • Thank you for the replies, for the hardware i'm not scared, i'm going to use a xeon six core with 32gb and raid 10 10000rpm disks…
    This we i'll test a captive portal using a freeradius server configured to use a mssql db.
    The only real problem is how i can intercept the user disconnection event and bind to that a custom function.



  • about freeradius you can use freeTDS libraries to connect to ms-sql.
    you can enable radius accounting to know when users disconnects as well as session informations such as time spent online or data transferred.


Log in to reply