// Stai leggendo ...

L'angolo dello Smanettone

[Howto] Hotspot in regola con la Pisanu (parte 2): le configurazioni di rete ed il server radius

wrt54glContinuiamo 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= 
uci set network.wan.password= 
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

Commenti

commenti


I commenti all'articolo

9 commenti for “[Howto] Hotspot in regola con la Pisanu (parte 2): le configurazioni di rete ed il server radius”

  1. 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 |
      • Ciao Skumpic,
        ottima guida veramente ben fatta e dettagliata.
        Solo una cosa volevo chiederti: sapresti dove potrei trovare della documentazione per tirare su un captive portal con la possibilità di autenticazione dei clienti ?
        Grazie mille

        Commentato da fabio | marzo 9, 2013, 13:12 |
  2. [...] 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 |
  3. [...] 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 |
  4. [...] 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 |
  5. 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 |

Lascia un commento

Devi essere autenticato per lasciare un commento.