Continuiamo la nostra scoperta di Openwrt che ci porterà alla realizzazione di un Hotspot perfettamente in linea con l’attuale normativa italiana. Dopo aver installato il sistema andremo ad effettuare le prime ed elementari configurazioni di rete per poi andare ad impostare correttamente il server radius demandato all’autenticazione dei client wifi.
Dopo aver correttamente compilato ed installato la propria immagine di Openwrt come suggerito nella “precedente puntata” della nostra guida possiamo passare alla configurazione vera e propria dei diversi componenti inclusi che, come anticipato, ci porteranno a “trasformare” il nostro router in un vero e proprio hotspot indipendente perfettamente rispondente alla attuale normativa italiana.
Nella presente guida faremo un massiccio uso dell’editor testuale VI. Qualora non lo conosciate vi rimando a questa guida.
I principali comandi di cui faremo uso sono:
I per passare alla modalità di inserimento dati
ESC + :wq per salvare le modifiche ed uscire dall’editor
ESC + :quit! per uscire dall’editor senza salvare alcuna modifica in caso di errori.
PRIME IMPOSTAZIONI:
Di default Openwrt non protegge l’account di root con alcuna password. Andiamo dunque a generarne una dopo aver connesso il nostro pc ad una delle prese lan del router. Da terminale digitiamo:
telnet 192.168.2.1
quindi, una volta autenticati
passwd
Inoltre è consigliabile accertarsi di disporre di un intervallo di tempo sufficiente a garantire l’avvio in modalità sicura in caso di necessità, nonché la possibilità di “riflashare” un eventuale firmware problematico. Sempre dal terminale del router battiamo:
nvram set boot_wait=on nvram set boot_time=10 nvram commit && reboot
Da questo momento in poi per accedere al proprio hardware sarà necessario utilizzare una connessione sicura ssh
ssh root@192.168.2.1
Tutte le istruzioni che seguiranno, salvo ove diversamente specificato, presuppongono che voi siate correttamente autenticati tramite ssh al vostro hardware di rete, e agiate da consolle Openwrt.
IMPOSTAZIONI DI RETE:
Le configurazioni di rete di Openwrt sono reperibili all’indirizzo
/etc/config/network
Di default la porta WAN del router è impostata su DHCP il che dovrebbe rappresentare la soluzione migliore nella maggior parte delle installazioni, ma è possibile anche utilizzare il protocollo PPOE andando a digitare da terminale:
uci set network.wan.proto=pppoe uci set network.wan.username= <vostrousername> uci set network.wan.password= <vostrapass> uci commit network ifup wan
La rete LAN interna è invece settata sulla classe 192.168.2.1 e non necessita di alcun intervento a meno che non vogliate specificare i DNS o variare tali parametri.
#### LAN configuration config interface lan option type bridge # IMPORTANTE option ifname "eth0.0" # NON VARIARE option proto static option ipaddr 192.168.2.1 option netmask 255.255.255.0 option gateway 192.168.2.1 option dns 208.67.222.222
ATTIVAZIONE WIRELESS:
A questo punto si rende necessario andare ad attivare la rete WIFI ed impostarla in modo che eventuali richieste di accesso vengano inoltrate al server radius interno che vaglierà lo username e la password utilizzate dall’utente e, una volta autenticato, tramite DHCP permetterà la navigazione.
vi /etc/config/wireless
Qui incollate nel file quanto segue sovrascrivendo il contenuto originale:
config wifi-device wl0 option type broadcom # driver wifi da utilizzare. Broadcom per i router Linksys option channel 5 # canale in uso dalla rete Wifi # REMOVE THIS LINE TO ENABLE WIFI: option disabled 0 # Attiva il Wifi #####config wifi-iface option device wl0 # nome device, non modificare option network lan # rete interna, non modificare option mode ap # modalità di funzionamento: access Point option ssid guestwifi # nome rete wifi option encryption wpa, wpa2 # tipo di protezione in uso. NON MODIFICARE option key passwordsegreta # password di accesso al radius option server 127.0.0.1 # indirizzo server radius option port 1812 # porta in uso dal server radius option hidden 0 # nascondo il broadcast dell'SSID wifi? NO option isolate 1 # evito che i client wireless possano comunicare tra loro
CHE ORE SONO???
Sembrerà banale, ma è fondamentale per un hotspot tracciare le connessioni con l’ora esatta!
vi /etc/config/system
In cui inseriremo la nostra ZONE TIME:
config system option hostname OpenWrt option timezone CET-1CEST,M3.5.0,M10.5.0/3
e
vi /etc/config/ntpclient
ove ai server ntp preimpostati andremo ad aggiungere quello di ubuntu (tanto per assicurarci in caso di down dei server Openwrt). E’ sufficiente inserirlo all’inizio del file
config ntpserver option hostname 'ntp.ubuntu.com' option port '123'
RADIUS SERVER:
La corretta configurazione del server radius è fondamentale per il funzionamento della nostra autenticazione WPA2Enterprise. Per ragioni di economia e compatibilità faremo utilizzo di un database “file based”: in pratica radius controllerà che le credenziali utilizzate dagli utenti siano presenti in un file di testo (user).
Autorizziamo il router ad inoltrare le richieste al radius
vi /etc/freeradius/clients.conf
ove configureremo il file come segue:
client 127.0.0.1 {
secret = passwordsegreta # la stessa impostata nella sez. WIRELESS della guida
shortname = localhost
nastype = other
}
Passiamo al file eap.conf.
Il file è molto lungo, è fondamentale che controlliate che le voci indicate siano impostate come segue (eventualmente rimuovendo il simbolo del cancelletto # che le precede):
eap {
default_eap_type = ttls
timer_expire = 60
ignore_unknown_eap_types = no
cisco_accounting_username_bug = no
md5 {
}
mschapv2 {
}
tls {
private_key_password = whatever
private_key_file = ${raddbdir}/certs/cert-srv.pem
certificate_file = ${raddbdir}/certs/cert-srv.pem
CA_file = ${raddbdir}/certs/demoCA/cacert.pem
dh_file = ${raddbdir}/certs/dh
random_file = ${raddbdir}/certs/random
fragment_size = 1024
}
ttls {
default_eap_type = md5
copy_request_to_tunnel = no
use_tunneled_reply = no
}
peap {
default_eap_type = mschapv2
}
}
E’ il turno di radiusd.conf, il vero cuore del sistema!
vi /etc/freeradius/radiusd.conf
Pazientate e controllate che i seguenti valori siano impostati come segue senza andare a modificare gli altri presenti nel file:
logdir = /mnt/log/radius ##da impostare cosi se avete aggiunto una memoria esterna al vostro router
regular_expressions = yes
extended_expressions = yes
log_auth = yes
log_auth_badpass = yes
log_auth_goodpass = yes
thread pool {
start_servers = 1
max_servers = 4
min_spare_servers = 1
max_spare_servers = 3
max_requests_per_server = 0
}
$INCLUDE ${confdir}/clients.conf
modules {
pap {
encryption_scheme = clear
}
chap {
authtype = CHAP
}
$INCLUDE ${confdir}/eap.conf
mschap {
authtype = MS-CHAP
with_ntdomain_hack = yes
}
mschapv2 {
}
files {
usersfile = ${confdir}/users
compat = no
}
}
detail {
detailfile = ${radacctdir}/detail-%Y%m%d
detailperm = 0600
}
detail auth_log {
detailfile = ${radacctdir}/auth-detail-%Y%m%d
detailperm = 0600
}
detail reply_log {
detailfile = ${radacctdir}/reply-detail-%Y%m%d
detailperm = 0600
}
authorize {
auth_log
files
mschap
eap
}
authenticate {
Auth-Type MS-CHAP {
mschap
}
eap
accounting {
detail
}
post-auth {
reply_log
}
}
Non resta che inserire gli utenti della nostra rete wireless nel files users.
vi /etc/users
E’sufficiente aggiungerli in coda al file come segue:
USERNAME User-Password == "password"
Al successivo riavvio del router ci troveremo con una rete WPA 2 ENTERPRISE perfettamente funzionante.
Nella prossima puntata vedremo come loggare il traffico e gli accessi, “ruotare” i log ed effettuare un backup remoto degli stessi tramite un canale sicuro ssh con un server remoto.
Vi consiglio di effettuare la modifica hardware che permette l’aggiunta di una memoria di massa esterna qualora disponiate di un hardware compatibile: vista la mole di operazioni che andremo a svolgere uno swapfile è fondamentale per la stabilità generale del sistema.
RIFERIMENTI e SPUNTI:
WPA2Enterprise Openwrt HOWTO
Openwrt Wrt54GL
MMC modifica
Guida editor VI






Magico Skumpic!!!
Innanzitutto i miei complimenti
qualche domanda..
Innanzitutto ti chiedo se questa soluzione sia adottabile su qualsiasi fonera o dispositivo/router linux embedded; come mi sembra di aver capito.
Inoltre mi chiedo se sarebbe stato più facile opp difficile un sistema di autenticazione tramite sms, tipo quelli promessi dalla catena Mc Donald per intenderci.
In ogni caso spero possa essere un’ulteriore passo avanti nella missione ardita di “liberare il voip”
bye
Commentato da surfer | agosto 24, 2009, 13:20 |Ciao surfer, la soluzione è replicabile con qualunque dispositivo capace di montare il firmware openwrt (quindi anche la fonera) e può essere di spunto per qualsiasi altro sistema “linux based”.
L’articolo è focalizzato sull’autenticazione di rete, quella dei clienti -ossia il modo attarverso cui fornisci lo username e la password ai tuoi utenti- te la puoi gestire come vuoi (quindi anche inviando un sms).
Commentato da skumpic | agosto 24, 2009, 15:04 |[...] 2: Le configurazione di rete ed il radius server PARTE 3: Logging del traffico, backup e blocco del p2p (SOON) PARTE 4: Il monitoraggio remoto e [...]
Commentato da Howto: Hotspot Wifi basato su Openwrt in regola con la Pisanu | Libera il VoIP | | agosto 25, 2009, 12:56 |[...] aver correttamente autenticato i nostri utenti, averne tracciato e limitato il traffico (niente p2p) e sincronizzato l’attività del [...]
Commentato da [Howto] Hotspot in regola con la Pisanu (parte 4): monitoraggio remoto e swap file | Libera il VoIP | | agosto 28, 2009, 00:24 |[...] 2: Le configurazione di rete ed il radius server PARTE 3: Logging del traffico, backup e blocco del p2p PARTE 4: Il monitoraggio remoto e l’unità [...]
Commentato da lejubila's blog » Howto: Hotspot Wifi basato su Openwrt in regola con la Pisanu | settembre 20, 2009, 00:56 |[...] Leggi ll’articolo originale [...]
Commentato da lejubila's blog » [Howto] Hotspot in regola con la Pisanu (parte 2): le configurazioni di rete ed il server radius | ottobre 1, 2009, 14:00 |ho configurato come descritto il mio linksys ma il mio portatile non riesce a vedere la rete wireless
come devo configurare il mio prtatile’?
Commentato da christian | febbraio 10, 2010, 12:23 |Ciao Christian mi pare strano! La wifi è completamente “libera” (non è protetta da password) quindi è impossibile che il pc non la veda a meno che tu non ti sia dimenticato di attivare il wifi del router come indicato nella guida.
Commentato da skumpic | febbraio 15, 2010, 14:55 |