Configurare Linux come Hot Spot Wireless con ZeroShell

Indice dei contenuti



Introduzione

Molto spesso per gestire e amministrare reti Wireless molto ampie, può essere utile utilizzare un sistema centralizzato di accesso che consente di mettere in sicurezza la rete Wireless in varie modalità.
Immaginiamo di dover consentire l’accesso ad Internet, di più segmenti di rete mediante l’uso di una rete Wireless; ed immaginiamo che nell’infrastruttura di rete siano presenti più “Access point” dislocati nell’area di copertura della rete Wireless.
Ogni punto di accesso Wi-Fi, e poi connesso su una terminazione LAN Ethernet o GigaEthernet dedicata, che inoltra le richieste al nodo “Gateway” che provvede all’accesso ad Internet. Ora i vari “client” collegati ai vari “access point” possono autenticarsi con un meccanismo tipo WPA, WPA-2, WPA-PSK su ogni singolo “access point”, oppure autenticarsi in modo centralizzato mediante quello che in gergo tecnico si chiama “controller”.
Il “controller” può essere un router Wi-Fi dedicato oppure un computer che svolge tali mansioni.
Attraverso il “controller” è possibile, implementare anche delle “ACL” ovvero delle “Access Control List”, che sono delle liste che indicano per ciascun “client” connesso, o utente autenticato, o gruppi di quest’ultimi che possono fare una volta che accedono ad Internet.
Non sempre è consigliabile dare accesso a tutti i servizi di Internet e di rete disponibili, in special modo se il traffico sviluppato comincia ad essere considerevole, con il rischio di saturare la banda.
Una possibile soluzione fatta in casa ma molto versatile e professionale, è quella di installare su un calcolatore dotato di almeno di due o più interfacce di rete è quella di utilizzare una distribuzione Linux molto leggera ma pensata per questi scopi.
Con la distribuzione “Zeroshell” prelevabile su questo sito web. Su questo sito troverai un messaggio che indica che l progetto è in dismissione, ma non ti preoccupare poiché anche l’ultima release va bene per i nostri scopi.
In effetti noi utilizziamo una calcolatore molto minimale per lo scopo, che non necessita di hardware ad alte prestazioni, ma di un pò di memoria di massa se l’intenzione è di abilitare anche le funzioni di “proxy”. Un “proxy” è un servizio che memorizza i contenuti su disco visitati dai client della rete alla quale deve soddisfare per accelerare la navigazione web, quando si è in presenza di connessioni lente, o di banda non disponibile. Attraverso un “server proxy” è possibile filtrare i siti consentiti, gli orari permessi alla navigazione, e le classi di utenti che possono essere a loro volta destinatari di restrizioni più o meno ampie rispetto a certi contenuti presenti sulla rete Internet. Ovviamente, gli utenti nel momento in cui accedono alla rete Wireless con accesso centralizzato, devono essere consapevoli che il loro accesso è monitorato e tracciato, per prevenire gli abusi da parte degli stessi. Tracciare non indica, in questo caso la possibilità da parte del nodo “controller” di memorizzare dati personali, magari inseriti durante la navigazione.
Una corretta informazione per acquisire consapevolezza in particolar modo, in presenza di minori è fondamentale.
Il nodo “controller” non necessariamente inoltre, deve disporre di una scheda di rete Wi-Fi a meno che non si tratti duna situazione di un “hot-spot” singolo per una piccola area di copertura. Invece potrebbe essere connesso direttamente ai “router/modem” collegati ad Internet e avere inooltre delle schede modem 4G o et simili per connessioni temporanee mediante rete mobile.
Con la finalità, di aumentare la tolleranza al guasto; infatti se una linea Internet cablata cade è sempre possibile, nell’attesa utilizzare una connessione temporanea che si attiverà in automatico.

Leggi tutto: Configurare Linux come Hot Spot Wireless con ZeroShell

Procedura di installazione,

Occorre scaricare un’immagine ISO del sistema e preparare con un programma di masterizzazione un cd/dvd oppure una chiavetta USB auto partente. Puoi fare questo utilizzando anche Unetbootin un software open source atto allo scopo.
La schermata che viene presentata a Terminale dopo alcuni secondi mostra una serie di opzioni simili a questa sotto riportata.



Le opzioni sono diverse. Vediamo le più importanti.
1- <A> e <D> Attiva e Disattiva profilo ( questa opzione sarà disponibile all’atto dell’accesso via Web. Una volta che è configurato l”accesso via Web si deve creare un profilo per la nuova macchina e attivarlo. Un profilo è un insieme di file che “zeroshel”l salva ad ogni modifica su un supporto di memorizzazione come il disco rigido e che contiene informazioni sulla sua configurazione avanzata. E” possibile avere profili multipli da attivare e disattivare secondo le esigenze.
Le opzioni “<T>”, “<F>”, “<N>” mostra informazioni sulla tabella di routing di ZS, sulle regole del Firewall impostate,. sulle interfacce di rete presenti.
Inoltre in alto come prima informazione ZS indica la password e la username di Amministratore che una volta acceduto all”interfaccia Web andranno cambiate per ovvi motivi di sicurezza.
L”opzione <I> modifica le impostazioni IP della nostra macchina ZS.
Nel nostro caso la nostra macchina ZS ha una scheda di rete collegata al Router per l”accesso ad Internet e un”altra interfaccia collegata ad un Access Point o ad uno Switch ove sono collegati vari Access Point.
A regime la configurazione degli access point è banale in quanto l”accesso Wi-Fi tramite l”access point sarò libero e redirezionato su ZS che provvederà all”autenticazione con uno strumento denominato Captive Portal.
Lo Schema di rete che si vuole gestire con ZS è questo sotto riportato:



Per prima cosa vediamo se ha rilevato le interfacce di rete premendo l”opzione <N>.
Vengono come si vede rilevate tre interfacce di rete due reali e una virtuale TAP (poiché ZS può realizzare anche VPN).

Ciascuna interfaccia viene denominata ETH0X ove X è un numero intero fra 0 e N. E” utile notare ma si vedeva dalla schermata iniziale di ZS, che la ETH00 è stata configurata con IP 192.168.0.75/24 e da qui è possibile accedere all”interfaccia Web di ZS digitando https://192.168.0.75.
E” chiaro che tale interfaccia di rete potrebbe essere configurata con spazio degli indirizzi non appartenente alla Rete che dobbiamo configurare e quindi andrebbe cambiato tale operazione può essere fatta in modo più agevole via Web. Pertanto attraverso un client collegato a ZS tramite cavo cross o tramite switch accediamo configurando sul client un indirizzo della classe di ZS.
Una volta configurato il client per accedere a ZS verrà visualizzata la pagina di login e forniremo come login admin e password “zeroshell”.

Il primo accesso

All’accesso all”interfaccia Web di ZS ecco la schermata principale che si presenta.

E” utile notare le opzioni presenti a sinistra System, Users, Network, Security.
Nella pagina System è possibile settare le impostazioni base di ZS come le altre interfacce di rete, la Data, l”accesso via SSH molto utile sulla porta TCP 22, la creazione del profilo.
Andiamo su Profilo e la schermata successiva ci avvisa che non abbiamo un profilo poichè dobbiamo creare lo spazio disco necessario (sto utilizzando un disco non preparato con file system Linux). Selezioniamo il disco e attiviamo il pulsante “New Partition” ovvero creiamo una nuova partizione la schermata proposta è la seguente:

In questo schema sono diverse le opzioni richieste per prima cosa noi scegliamo il punto di montaggio della partizione principale root /. Potremmo scegliere di creare diverse partizioni ma in questo momento noi stiamo utilizzando ZS in modalità Live quindi serve solo una partizione che contenga i profili. il tipo di file system proposto è ext3, quello che si nota che non è ancora disponibile ancora il nuovo filesystem del kernel Linux. Attiviamo “Create Partition” e il sistema prepara il disco.
A questo punto nella schermata successiva selezioniamo la nuova partizione creata e attiviamo “create profile”

Al passo successivo si apre la finestra sotto riportata.

Configurare i servizi di autenticazione e il NAT

In questa maschera sono chieste diverse informazioni come:
Descrizione: Una descrizione testuale della funzione di ZS
Nome FQDN nome qualificato della macchina zeroshell molto importante se essa deve essere pubblica su Internet per esportare servizi.
Nome del Server Kerberos che è alla base dell”autenticazione utenti su ZS ovviamente il nome può essere anche un server esterno se si vuole che ZS non faccia da Server Kerberos. Analogo discorso vale per LDAP.
Password di amministratore consiglio di sceglierne una difficile con lettere maiuscole, minuscole, caratteri non alfabetici e numeri.
Configurazione della scheda di rete principale di ZS quella a cui accederanno i client per collegarsi ad esempio a Internet. Come IP Gateway lasciamo in bianco in quanto dobbiamo configurare l”altra scheda di rete.
Salviamo il profilo e andiamo sulla Scheda Netowrk.

Vengono mostrate le interfacce disponibili focalizziamo l”attenzione sulla scheda interfaccia rete ETH01 e scegliamo “Add IP”.
Nella finestra successiva

aggiungiamo un IP della rete del Router con la relativa maschera.
Resta da definire il Gateway predefinito per ZS attiviamo nella finestra Network la voce Gateway e inseriamo nella maschera IP 192.168.1.1. Per questo andiamo sul pulsante GATEWAY e aggiungere nella maschera di dialogo l”IP del Gateway predefinito.

In questo modo la nostra ZS BOX risponde alle richieste di accesso sulla rete IP 192.168.0.x e si collega ad Internet tramite la rete 192.168.1.x. Dobbiamo abilitare il NAT sull”interfaccia che Zeroshell volge alla LAN per questo selezioniamo la scheda NAT nella pagina dove si è selezionato il GATEWAY.

Nella schermata NAT viene chiesto quale interfaccia Ethernet deve essere “Nattata”. Scegliamo la ETH00 che è l”interfaccia che è collegata alla LAN.
Ora Zeroshell è già pronto ad accettare connessione dai client della LAN. Il nostro scopo è quello di fare in modo che all”accesso alla rete di Zeroshell l”utente venga autenticato con nome e password o con certificato X509. Per far questo dobbiamo abilitare Captive Portal una funzione aggiuntiva di Zeroshell che redireziona le connessione verso il Captive Portal ovvero una pagina di accesso Web dove l”utente prima di accedere deve inserire delle credenziali di acceso valide. Non solo Zeroshell abilita di default su Captive Portal il servizio DHCP e DNS per consentire almento ai client della LAN l”accesso al Captive Portal. Per fare questo andiamo sulla schermata Captive Portal abilitiamo e salviamo la configurazione.

La schermata che si presenta mostra la pagina Web che permette l”accesso a Captive Portal mostra anche delle opzioni sui client. Possiamo aggiungere un serivizio al quale devono accedere i client che si collegano con il simbolo “+”. Ad esempio aggiungiamo il servizio http la maschera che viene visualizzata è permette di scegliere il nome del servizio ad esempio “http” il range IP lasciando Any tutti gli IP sono abilitati all”accesso al servizio e la porta ad esempio nel caso del Web la porta 80.


Una volta scelti i servizi da configurare occorre definire gli utente che avranno accesso al Captive Portal e il modo per imporre ai client l”accesso ai servizi Captive Portal, trattati in un prossimo articolo.