51432 Letture

Creare un hotspot WiFi con DD-WRT o Zerotruth

Si chiama captive portal quella speciale pagina che accoglie l'utente e richiede di specificare, ad esempio, un username ed una password in fase di connessione ad una rete WiFi. Se si è gestori di un hotel, di un bar o, più in generale, di un pubblico esercizio, è frequente la necessità di creare un hotspot WiFi protetto, appunto, da un captive portal.
Per poter accedere alla rete WiFi, gli utenti dovranno autenticarsi e, comunque, accettare le condizioni d'uso del servizio wireless.

Molteplici sono le soluzioni software per raggiungere l'obiettivo: un primo approccio potrebbe essere l'utilizzo di un router WiFi che possa essere aggiornato a DD-WRT, uno speciale firmware che ne modifica e ne estende enormemente le funzionalità.
In alternativa, è possibile servirsi di un sistema, connesso alla propria rete locale, che provveda a gestire autonomamente la procedura di autenticazione degli utenti della WiFi.

Hotspot DD-WRT e HotSpotSystem


Il firmware di un dispositivo qual è un router può essere pensato come un "programma" integrato capace di interagire con i vari componenti hardware. In apparati di media complessità quali sono i router, il termine firmware ha un significato più ampio stando ad indicare anche il vero e proprio sistema operativo preinstallato nel dispositivo. Tutti i moderni router dispongono di una comoda interfaccia web che, accessibile semplicemente ricorrendo al browser, permette di gestire in modo agevole la configurazione del device e regolare in profondità il suo comportamento.
Quando si acquista un router, di qualunque marca, questo utilizza di default un firmware (da mantenere possibilmente aggiornato nel corso del tempo attraverso l'applicazione degli update ufficiali) sviluppato dai tecnici dell'azienda produttrice.
Talvolta, però, alcune interessanti funzionalità non sono implementate direttamente all'interno del firmware ufficiale: un prodotto a costo zero quale DD-WRT consente di abilitare caratteristiche di grande interesse per gli utenti più esperti (routing statico, gestione di reti VPN, esecuzione di operazione su base programmatica e così via).
Se si dispone di un router ormai fuori garanzia e si volessero saggiare i vantaggi derivanti dall'impiego di DD-WRT, è sufficiente fare riferimento al sito web ufficiale del progetto per ottenere tutte le informazioni del caso.

In particolare, la prima operazione da effettuare, consiste nel cercare il modello del proprio router all'interno del database di DD-WRT (ved. questa pagina). Digitando il modello del dispositivo di cui si è in possesso, è possibile stabilire immediatamente se tale router sia o meno supportato da DD-WRT. Alcuni router, ad esempio quelli equipaggiati con il chipset Marvell, non supportano in nessun modo l'installazione del firmware DD-WRT.

Attenzione! L'installazione di DD-WRT effettuata "con leggerezza" e senza seguire attentamente tutti i passaggi raccomandati potrebbe condurre al cosiddetto "bricking" del dispositivo ovvero all'impossibilità di accedervi. Suggeriamo quindi di agire con la massima cautela tenendo presente che qualunque modifica apportata al funzionamento del router viene effettuata sotto la vostra piena ed esclusiva responsabilità. In questo articolo vogliamo fornire solamente alcuni indicazioni a valore generale che però dovranno essere approfondite consultando il sito ufficiale di DD-WRT e le pagine di supporto per ciascun modello di router.


- Prima di installare il firmware DD-WRT è sempre necessario effettuare un hard reset del router. Così facendo si perderanno tutte le configurazioni personalizzate precedentemente applicate al dispositivo. L'operazione di hard reset si concretizza nella cosiddetta procedura 30/30/30.
Illustrata dettagliatamente a questo indirizzo, può essere riassunta in tre passi: il primo, consiste nella pressione del pulsante "reset" del router per un periodo di tempo pari a 30 secondi; in seconda battuta – sempre tendendo premuto il pulsante "reset" del router – si dovrà scollegare il dispositivo per 30 secondi; infine, come ultimo passo, si dovrà ricollegare il device alla rete elettrica continuando a mantenere premuto il tasto di "reset" per ulteriori 30 secondi. La medesima prassi deve essere applicata prima e dopo qualunque upgrade o downgrade del firmware. Infine, non si debbono mai usare file di backup della configurazione che siano stati generati con differenti versioni del firmware adottato.
Prima di procedere, suggeriamo di controllare le pagine di supporto che sono state create dagli autori di DD-WRT sul sito web del progetto (ved. il Wiki ufficiale).

Per installare DD-WRT sul proprio router sovrascrivendo il firmware preinstallato, si dovrà accedere al pannello di controllo web (esempio: http://192.168.1.1 o http://192.168.0.1), digitare le credenziali d'accesso corrette, portarsi nella sezione Amministrazione (l'esatta denominazione potrebbe differire da un modello di router all'altro), selezionare Aggiornamento software od Aggiornamento firmware e selezionare il file .bin di DD-WRT scaricato dal sito ufficiale del progetto.

Creare un hotspot WiFi con DD-WRT o Zerotruth

L'operazione di caricamento del firmware di DD-WRT potrebbe durare diversi minuti. E' importante non interrompere per nessun motivo l'operazione ed assicurarsi, prima di effettuarla, ancora una volta, di aver seguito tutti i suggerimenti pubblicati sul sito web di DD-WRT.
Al termine dell'aggiornamento, non appena verrà confermata l'avvenuta operazione, si dovrà effettuare nuovamente la procedura di hard reset 30/30/30 precedentemente riassunta.


A questo punto, si potrà accedere al pannello di amministrazione di DD-WRT digitando, tipicamente, l'indirizzo http://192.168.1.1 nel browser web.

Al primo accesso in DD-WRT verrà richiesto di modificare le credenziali d'accesso usate per l'ingresso nel nuovo pannello di amministrazione del router:

Creare un hotspot WiFi con DD-WRT o Zerotruth

Nei campi Router Username e Router Password si dovranno specificare, rispettivamente, un nome utente ed una password, sufficientemente lunga e complessa, per accedere all'interfaccia di amministrazione di DD-WRT. La medesima password dovrà essere ovviamente ripetuta nel campo Re-enter to confirm.

Una volta installato DD-WRT sul proprio router WiFi, si dovrà fare clic sulla scheda Services quindi selezionare Hotspot.

Attivando la funzionalità di hotspot sul router ed usufruendo del servizio HotSpotSystem, ad ogni utente che si collegherà alla WiFi verrà visualizzata la pagina captive portal con le indicazioni e la richiesta di login.
Le pagine ottenibili, tra le quali è possibile scegliere, sono pubblicate a questo indirizzo.

Creare un hotspot WiFi con DD-WRT o Zerotruth

I vari campi visualizzati nella sezione relativi ad HotSpotSystem dovranno essere opportunamente compilati.
In particolare, nel campo Operator username va specificato il nome utente del proprio account, creabile facendo riferimento a questa pagina (suggeriamo di selezionare, dapprima, il profilo Free, BASIC perché gli altri prevedono il versamento di un canone di abbonamento mensile):

Creare un hotspot WiFi con DD-WRT o Zerotruth

Nel campo Location ID si dovrà digitare 1, a conferma che si tratta della prima location presso la quale si sta utilizzando il servizio HotSpotSystem.


In corrispondenza di DHCP Interface, invece, va selezionata l'interfaccia sulla quale si desidera porre in essere il captive portal.
Le opzioni Special settings e Login on splash page dovranno essere poste su Enable.

Dopo aver salvato le impostazioni, il captive portal dovrebbe essere già attivo e funzionante sulla propria connessione WiFi. L'account sarà sempre liberamente gestibile effettuando il login sul sito di HotSpotSystem.
Già in fase di registrazione, HotSpotSystem consente di specificare una limitazione per la banda da destinare agli utenti che sfrutteranno la rete wireless:

Creare un hotspot WiFi con DD-WRT o Zerotruth

Maggiori informazioni sono reperibili nella guida ufficiale di HotSpotSystem.

Un hotspot WiFi più completo e versatile (a costo zero) con Zeroshell e Zerotruth

Chi avesse necessità più particolari e preferisse gestire in proprio, a costo zero, tutte le connessioni degli utenti svolgendo autonomamente la procedura di autenticazione, può orientarsi su Zeroshell e Zerotruth.

Zeroshell è una distribuzione Linux molto compatta che può essere installata su macchine anche piuttosto datate (a patto che siano dotate di più schede di rete: una potrà essere connessa al dispositivo sul quale si attesteranno gli utenti ospiti; una seconda potrà essere usata per la connessione alla rete Internet; una terza per la gestione e la configurazione diretta della macchina).
Estremamente versatile, le funzionalità offerte da Zeroshell sono moltissime (vedere questa pagina per conoscerle nel dettaglio). Basti evidenziare che Zeroshell è firewall, server RADIUS, server VPN, load balancer, strumento per la gestione del QoS (Quality of Service), server DNS, DNS-forwarder, server DHCP, transparent proxy, filtro web, IDS ed altro ancora oltre, naturalmente, a fungere da captive portal.


Zerotruth è invece un pacchetto aggiuntivo, interamente sviluppato da programmatori italiani, che migliora notevolmente la gestione dei captive portal da parte di Zeroshell.

Il grande vantaggio, con Zerotruth, consiste nella possibilità non soltanto di gestire la procedura di autenticazione degli utenti in locale ma anche di tenere traccia dei login e delle sessioni di lavoro.
In altre parole, il software permette di registrare gli accessi alla rete WiFi trascrivendo data di inizio e di fine delle connessioni, quantitativo di dati scambiati e così via.

Normativa WiFi in Italia

Il Codice delle comunicazioni elettroniche (D.Lgs 259/2003) distingue tra due diverse tipologie di utilizzo delle reti Wi-Fi: per "uso privato" e per "uso pubblico".
Per uso privato si intende che la rete deve essere utilizzata soltanto per trasmissioni riguardanti attività di propria pertinenza, con divieto di effettuare traffico per conto terzi.
L'uso pubblico, invece, prevede la fornitura a terzi dell’accesso wireless: è il caso in cui si intenda installare uno o più access point WiFi in uno spazio aperto al pubblico per fornire, ad esempio, il servizio di accesso alla rete Internet (è il caso trattato nel nostro articolo).

Per quanto concerne l'uso pubblico, se l'impresa o l'esercizio commerciale che mette a disposizione l'accesso wireless ai suoi clienti non ha come attività principale la fornitura di servizi di telecomunicazione, secondo quanto disposto dall'art. 10 del D.L. 69/2013 (cosiddetto Decreto Fare) convertito con legge 9 agosto 2013, n. 98, l'offerta di accesso alla rete Internet al pubblico tramite tecnologia WiFi non richiede alcuna autorizzazione e non prevede l'identificazione dell'utilizzatore.


Permangono comunque i problemi legali connessi all'utilizzo della WiFi da parte di terzi. Se è vero che l'identificazione degli utenti che usano la WiFi non è più obbligatoria (si pensi al vituperato Decreto Pisanu), tuttavia, come dimostrare – in caso di eventuali contestazioni – che un reato (nella remota situazione in cui ciò accadesse) è stato commesso da parte di un utente terzo usando la WiFi messa a disposizione della clientela?


La risposta all'ultima domanda contenuta nel riquadro Normativa WiFi in Italia, è offerta appunto da Zerotruth che non soltanto permette di attivare, in pochi minuti, un captive portal ma consente, ad esempio, di attivare l'autenticazione basata sull'invio di codice via SMS.
Chi vorrà sfruttare la connessione WiFi (messa a disposizione gratuitamente o a pagamento) dovrà insomma digitare un numero di cellulare valido al quale Zerotruth provvederà ad inviare automaticamente un codice d'accesso.
È interessante notare come Zerotruth supporti di default alcuni tra i principali e migliori servizi per l'invio di SMS da web: Skebby, Aimon, Smsbiz, Mobit e Smsglobal.
Addirittura, si può connettere alla macchina - attraverso il software Gammu - un telefono cellulare od uno smartphone (via USB) che potrà essere usato per l'invio di SMS. Attivando un'offerta che prevede ad esempio l'invio di SMS in numero pressoché illimitato, si potrà far fronte anche alle esigenze delle strutture più frequentate.

Dopo aver installato Zeroshell in una macchina "fisica", in una macchina virtuale oppure in una board come ALIX (da qui è possibile effettuare il download di Zeroshell in formato ISO), si dovrà provvedere a configurare le interfacce di rete.

Creare un hotspot WiFi con DD-WRT o Zerotruth

Digitando "I" (IP Manager) quindi "H" (Dynamic IP configuration) si può far assegnare dinamicamente un IP alle varie interfacce, ove necessario.


La configurazione di Zeroshell può essere poi effettuata da browser digitando l'IP della macchina ed aiutandosi con questa ottima guida di Renato Morano che si applica a chi volesse dapprima provare Zeroshell in una macchina virtuale Virtualbox ma che contiene importanti suggerimenti di carattere generale.

Ad ogni modo, per installare Zerotruth all'interno di Zeroshell, si dovrà premere "S" (Shell prompt) nella schermata principale oppure collegarsi alla macchina Zeroshell via SSH (porta 22; utilizzando ad esempio il software PuTTY). In quest'ultimo caso, bisognerà comunque accertarsi di aver abilitato l'accesso SSH dall'interfaccia di Zeroshell.
Inoltre, prima di procedere, bisognerà abilitare la funzionalità Captive portal dall'interfaccia web di Zeroshell:

Creare un hotspot WiFi con DD-WRT o Zerotruth

A questo punto, dalla shell di Zeroshell, si dovranno digitare i seguenti comandi:

cd /DB
wget http://www.zerotruth.net/controldlweb.php?file=zerotruth-2.0.tar.gz
tar zxvf zerotruth-2.0.tar.gz
cd zerotruth-2.0
./install.sh


Ad installazione completata, ci si potrà connettere al pannello di amministrazione di Zerotruth utilizzando un qualunque browser web. L'indirizzo IP da digitare è lo stesso precedentemente digitato per accedere all'interfaccia web di Zeroshell.
Digitando admin e zerotruth, rispettivamente, come nome utente e password, si accederà all'interfaccia di configurazione del software.

Creare un hotspot WiFi con DD-WRT o Zerotruth

Cliccando sul pulsante Config, si accederà a tutte le opzioni di configurazione che il pacchetto Zerotruth mette a disposizione.
Scegliendo Config, Zerotruth, Admin, si potranno innanzi tutto modificare le credenziali d'accesso dell'amministratore mentre gli altri pulsanti permetteranno di personalizzare quanto esposto nella pagina di login (captive portal): immagine, logo,...


Con un clic su Captive portal, invece, si può stabilire in che modo saranno gestite le connessioni degli utenti (compresa la registrazione autonoma al servizio).

Utilizzando il pulsante SMS, invece, si potrà configurare lo strumento da usare per l'invio dei messaggi contenenti i codici di autenticazione mentre Email consente di impostare la spedizione delle notifiche via mail.

Per maggiori informazioni sulle possibilità offerte da Zerotruth, suggeriamo di fare riferimento al sito ufficiale del progetto (vedere questa pagina).
È importante rimarcare come Zerotruth sia un progetto continuamente aggiornato e migliorato. L'ultima release, la 2.0, è stata rilasciata appena qualche settimana fa, a fine luglio 2014.


  1. Avatar
    Gigi62
    06/07/2015 14:27:01
    E' possibile anche proporre l'autenticazione tramite Facebook ? Grazie
  2. Avatar
    truthahn
    06/12/2014 19:43:21
    Buonasera, È disponibile per il download Zerotruth-3.0. La nuova versione consente agli utenti del Captive Portal di scegliere la lingua con la quale autenticarsi e ricevere i relativi avvisi e comunicazioni nella stessa. È stato riscritto il modulo del MultiCP per renderlo più sicuro e performante andando inoltre a superare il limite delle 6 postazioni delle versioni precedenti. Il modulo "utenti gestori" è stato riscritto per superare il limite dei 6. I limiti di collegamento per giorni, orari, ore per giorno e mese, MB per giorno e mese sono stati inseriti nei profili andando a superare il problema delle possibili numerosissime chiamate a "cron" che portavano a dei blocchi random degli utenti. Sono stati inoltre risolti diversi bug. Zerotruth-3.0 La versione viene proposta con un manuale completo. ZEROTRUTH.pdf Saluti.
  3. Avatar
    Michele Nasi
    25/10/2014 00:10:39
    :approvato: :approvato: Ottimo! Lo proverò a breve e ne darò sicuramente notizia.
  4. Avatar
    truthahn
    24/10/2014 20:51:36
    Buonasera, su stimolo di Michele Nasi ho integrato nell'ultima versione di Zerotruth (2.1) l'autenticazione previo "like" su Facebook. Ho inoltre inserito la possibilità di autoregistrarsi utilizzando il supporto di Asterisk evitando in tal modo le spese per l'invio degli SMS da parte dei gestori. Chi è interessato può trovare l'HOWTO a questo link: http://www.zerotruth.net/controldl.php? ... TERISK.pdf é inoltre già in cantiere una nuova versione (2.2) per la quale sto completamente riscrivendo la feature del MultiCP per renderlo compatibile, più sicuro e veloce per le ultime versioni. Per tale funzione esiste una guida a questo link: http://www.zerotruth.net/controldl.php? ... ultiCP.pdf Saluti.
  5. Avatar
    truthahn
    30/08/2014 15:05:04
    Grazie a te, veramente. Zerotruth è abbastanza banale nell'utilizzo. Se uno riesce ad installare Zeroshell significa che ha le competenze anche per fare tutto il resto. In Zerotruth solo l'admin ha accesso alle configurazioni e anche queste sono state pensate per essere, nella filosofia di zeroshell, impostate tutte da GUI. Gli utenti gestori, se ne possono impostare fino a 6, non hanno accesso alle configurazioni e l'admin può assegnare loro anche un minimo di opzioni. Il tutto è stato pensato per essere utilizzato da gestori con minime competenze. Ci sono solo due aspetti che sono un po' "complicati": 1. l'utilizzo di paypal per il pagamento del servizio (se abilitato); 2. la funzione MultiCP con questa Zerotruth permette di centralizzare completamente la gestione di 6 Captive Portal remoti. Entrambe le funzioni sono dettagliatamente spiegate nelle guide in pdf che si trovano nella pagina di download di zerotruth. Per quanto riguarda facebook zerotruth permette di registrarsi con le credenziali di facebook, G+ e twitter. La cosa non è stata semplice in quanto, naturalmente, prima della registrazione un utente non ha accesso ad internet ed è impossibile "liberare" gli IP dei social network essendo infiniti. Se gli utenti si registrano con i social network le loro credenziali vengono inserite in MD5. Sinceramente mi son chiesto quali sicurezze offrano i vari sistemi di autenticazione tramite social. Avendo affrontato la questione mi son venuti molti dubbi. Per il "prelievo like" ancora non è implementato ma è nella lista della spesa. Una buona giornata a te.
  6. Avatar
    Michele Nasi
    30/08/2014 14:34:36
    Grazie di cuore e complimenti per il progetto. Anzi, se avessi voglia di approfondire qualche aspetto attraverso la pubblicazione di qualche guida sono ovviamente a disposizione. Colgo l'occasione per far presente una questione che vorrei affrontare in futuro. Premesso che non ho ancora studiato l'esigenza, ma vorrei verificare se fosse possibile usare Zeroshell+Zerotruth per abilitare un'autenticazione previo "like" su Facebook.
  7. Avatar
    truthahn
    30/08/2014 14:27:05
    Desidero ringraziare per questa positiva recensione . Sono un paio di anni che il "giocattolo", nato un po' per caso, occupa diverso del mio tempo libero. Sinceramente non pensavo che incontrasse l'apprezzamento avuto e questo comporta, naturalmente, una responsabilità nei confronti degli utilizzatori che mi assumo. Volevo anche ricordare che Zerotruth è nato grazie a Zeroshell , fantastico lavoro di Fulvio Ricciardi che da diversi anni ormai offre alla comunità il suo capolavoro. Grazie ancora. Nello Dalla Costa (truthahn)
  8. Avatar
    Michele Nasi
    27/08/2014 13:51:19
    Il codice è utilizzabile per una sola volta ma Zerotruth è altamente configurabile. Si possono configurare anche ticket speciali insieme con altre metodologie di autenticazione.
Creare un hotspot WiFi con DD-WRT o Zerotruth - IlSoftware.it