On Wed, 26 Apr 2005
(E-Mail Removed) wrote:
> Hello Guys,
Well you can address the female network gurus among us as well ;-)
OK. Off topic, but I couldn't resist ... (still looking for one)
> Before going toward the wrong direction, I'd like to have some advices:
>
> I in charge of a Wireless LAN at my university. The administration
> wants that every day when a Wireless Client open his/her browser the
> first time of the day, instead of going to where he/she wants to go, be
> presented with a sponsored Welcome page and a button to continue to
> where the browser intented to go in first place.
Yep. Usual service selection gateway stuff.
> I know that a product like BBSM of Cisco can do the job. Except that
> the one donated to us can't do its work because according to the
> manufacturer my Network is not 100% Cisco based.
> So, here I am trying to workaround.
Did the experience two years ago. the couple BBSM+SSG was not stable at
that time altough I heard they improved a lot. Indeed, it worked well at
Cisco's networkers event : I guess they were 100% Cisco there ;-)
> My idea is to use Squid as a transparent proxy and keep a small
> database (file based, or mysql, whatever fits the purpose). I don't
> know if I have to modify Squid to push always the same page when the
> client is the first time to attempt to browse, or Squid already has
> provision for this kind of situation.
> I don't know if there is another product, already customized for this
> simple job. I don't know if I have to do it my self.
Redirection is quite a complex tasks... but is already implemented in
several linux-based devices (f.i. ADSL routers) so I guess you have a good
platform here.
My advice : study the iptables functionnality as well and parse the DHCP
server logs file to detect connections/disconnections from the network.
Basically, I would do like this :
1. allocate a private IP address via DHCP to your users.
2a. default rule in iptables is to intercept traffic from those IP and
redirect to a transparent proxy. Squid can do the work, but I guess using
the proxy module of Apache can be more flexible.
2b. default rule can also deny non-web traffic, but keep in mind DNS
packets should flow through in that case (otherwise, the client browser
will never send the HTTP request).
3. the rule in your proxy will be like this : for any request, rewrite the
request to a redirect page. This redirect page just redirects the client
browser to the login page. You can even keep track of the original URL.
4. once the customer logs in, insert a rule in the iptables to allow his
IP to surf the web without interception.
5. scan DHCP logs to detect when the customer logs off. When he does,
remove the rule from the iptables.
> In any case, any comments could be very helpful,
> Thanks a lot,
> Andres
Hope this helps.
If you succeed in setting it up, it would be interesting to write a little
howto and publish it on the web.
--
Jean-Francois "Jef" Stenuit