The Big Bug Theory

Zentyal new feature: Captive Portal

| 12 Comments

Zentyal 2.2 RC2 was released on Thursday, so we are almost there, Zentyal 2.2 stable version will be ready in a few weeks. One of the new features that was not present in 2.0 is the new Captive Portal module. We raised enough money in our fundraising initiative so finally the module was included in 2.2 release :)

Official doc is still in the oven so I’m going to explain how to use the module, this will help you if you want to join testing efforts.

What is a Captive Portal?

A captive portal limits users access to the Internet redirecting any web request to a login page. When the user correctly authenticates he/she is allowed to navigate and use any of the network services.

Captive portals are typically used at WiFi hotspots but also in wired networks at hotels, schools, airports…

Basic configuration

Zentyal Captive Portal is very easy to configure, you just need to select interfaces where you want to control access and the group of users who will be allowed to log in:

Also, if you installed Bandwidth Monitor module, you can setup a bandwidth usage quota. This will measure and control bandwidth usage for each connected user, forbidding access to those who exceed it.

Accessing trough Captive Portal

From the user point of view this is what will happen:

First time you connect through a captive interface your web browser will redirect to a login for any request:

Once you have logged in, a popup window will open. This window is in charge of keeping your session alive. It’s used by Zentyal to know if you left just closing the web browser without logging out.

Conclusions

I think Captive Portal has been a very requested feature and I’m glad Zentyal finally has it! This was a good example on how the community helped us to make a decision about a new feature we should include and crowdsourcing made the funding possible.
If you liked this tutorial, give the module a try and give us feedback! Zentyal 2.2 is just around the corner!

12 Comments

  1. Just what i’ve been waiting for. you rock Zentyal!!

  2. is there any option that we can select user expire date ?

  3. @Basheer: No, that would be a nice feature but by the moment you can only configure the bandwidth limit.

    Anyway you can create a script to delete expired users each few minutes :)

  4. Hello good morning, I am from Venezuela i used Zentyal from for two years in my company de telecommunications which provides wireless internet access and proved to be a robust tool for access control and stability in the internal network. Imnumerables are the characteristics that have this fabulous software. Although would me like to know whether have a configuration module to control bandwidth for each user and not how user groups existing in previous versions?

    Thanks …

  5. Hello,

    I had looked at eBox last year, but kept it aside in favpur of PFSense & Untangle since eBox did not have the CP feature. I will try again. Good job Zentyal. Now I can perhaps live with a single box.

    Is it possible to redirect the login page to another page, say, giving a login declaration with “I agree” tickbox or something?

    Regards

    kmnair

  6. of course, he recalls that in the html world everything is possible

  7. @kmnair:

    You can always modify page template for your needs, it should be located under /usr/share/zentyal/templates/captiveportal/

  8. Is well known that Apple iOS devices don’t works correctly connecting to networks with captive portals, specifically when CP’s use pop-up windows or authentication tokens to keep alive/anti-spoof the connection.

    How Zenthyal CP address such issue?

    In my experience with other captive portals in hotels i’ve experience the described issue.

  9. Nice that you got that trough crowdsourcing…
    But I really hate captive portals… IP over ICMP is slow as hell… =P

  10. How is autentication done and can CP log users out automatically after x number of minutes? I was thinking os a system similar to what internet cafes use. You obtain a ticket and the ticket is valid for an hour, after which you are logged off.

  11. @Obinna

    By now only bandwidth usage limitation is implemented, but that feature sounds good, may be we can add it for 3.0 :)

    Thank you for your feedback!

  12. hello, I use my Zentyal server mainly for the captive portal. But it’s a big problem the expire date, ¡¡ only a few secons!! How could I change the user expire date ?
    How could I create a script to delete expired users each few minutes ?
    Thanks

Leave a Reply

Required fields are marked *.

*