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!
September 9, 2011 at 06:43
Just what i’ve been waiting for. you rock Zentyal!!
September 12, 2011 at 15:42
is there any option that we can select user expire date ?
September 12, 2011 at 23:25
@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
September 15, 2011 at 16:12
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 …
September 19, 2011 at 09:50
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
September 26, 2011 at 19:36
of course, he recalls that in the html world everything is possible
September 27, 2011 at 16:55
@kmnair:
You can always modify page template for your needs, it should be located under /usr/share/zentyal/templates/captiveportal/
October 21, 2011 at 17:27
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.
October 27, 2011 at 15:07
Nice that you got that trough crowdsourcing…
But I really hate captive portals… IP over ICMP is slow as hell… =P
November 16, 2011 at 11:17
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.
November 19, 2011 at 18:16
@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!
November 30, 2011 at 00:07
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