[Ninux-Wireless] Ninux captive portal

OrazioPirataDelloSpazio (Lorenzo) ziducaixao a autistici.org
Gio 23 Dic 2010 00:57:33 CET


A riunione alcuni di noi che avevano hotspot isolati volevano provare a
fare un captive portal per permettere alle persone del vicinato di
collegarsi, e far loro al contempo capire che la rete era lasciata
aperta volutamente e non per incuria tecnica.

Anche se il metodo del captive portal fin ora non ha dato grandi
risultati, a suo tempo ci eravamo un po' sbattuti per trovare un sistema
"caruccio", architettando una cosa iper complicata con server xmpp e
chat javascript connessa (ci piacciono le cose complicate!!).

L'accrocco alla fine funzionava e il codice del pacchetto di openwrt è qua:

https://svn.ninux.org/ninuxdeveloping/browser/packages/nowolfsplash

documentato sul nostro fantastico wiki qua:

http://wiki.ninux.org/FirmwareNG#Splash_Page

Se vogliamo lo vogliamo snellire levando la chat e mettendo qualche cosa
di molto più leggero (posts in una bacheca di ninux?), senza troppe
dipendenze da parser xml in lua, etc etc...

Perchè ri-scrivere un captive portal da 0?

Le alternative sulla piazza erano diverse, tuttavia la filosofia di
molti captive portal era quello di scriversi tutto da 0 (server web
compreso) e/o di fare cose che non ci interessavano (accounting, radius
etc etc). Perche' invece non usare il server web di busybox già presente
in openwrt ?

Freifunk fa già così, solo che il loro pacchetto era in tedesco (!) e
fortemente linkato alla loro community ...insomma da mori'.
Gli ho copiato i pezzi di codice pero'!  :)

Quello che fa il nostro captive portal (nowolfsplash) è quindi questo:

- un utente si attacca all'access point e va verso www.google.it
- iptables redirige l'ip destinazione verso l'access point, porta 8080
(ad es. 192.168.1.1:8080)
- uno script in lua fa un HTTP redirect verso una pagina della porta 80
(ad es. 192.168.1.1/NoWolfSplash)
-Li c'e' una pagina luci di splash che se premi "Ok" ti autorizza il mac
address alla navigazione per X ore/giorni, levandoti dalla regola di
Iptables.
-Un comando "at", dopo X tempo, rimuove questa autorizzazione


Ciao,

Lorenzo


-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome:        signature.asc
Tipo:        application/pgp-signature
Dimensione:  559 bytes
Descrizione: OpenPGP digital signature
URL:         <http://ml.ninux.org/pipermail/wireless/attachments/20101223/6b8a47aa/attachment-0001.sig>


Maggiori informazioni sulla lista Wireless