THP USH Wisec DigitalBullets TheHackersPlace network Dancetj.net hosting

Whatever People say I am, Google knows

Iniziativa "Chiudiamo internet per 5 Anni"

remix_tj aderisce all'iniziativa "Chiudiamo internet per 5 anni" lanciata da Elthon John. Se volete aderire sostituite la vostra homepage con una pagina contentente SOLO questa immagine.

Contact me

Status Puoi contattarmi attraverso jabber all'indirizzo remix_tj@jabber.remixtj.net quando la lampadina e' accesa (OnLine). View Luca Lorenzetto's profile on LinkedIn The Ubuntu Counter Project - user number # 222

Calendario

« Settembre 2010 »
L M M G V S D
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

Amministratore

Configurazione dei servizi di contorno

Categoria: Captive Portal
Commentare: 12:32 domenica, aprile 15 2007

Per il completamento dell'hotspot sono necessari dei servizi "di contorno", fondamentali per la migliore gestione degli accessi:

  • FreeRadius: Servizio fondamentale perche' viene usato come database delle credenziali di tutti gli utenti.
  • Apache: Attraverso apache sara' possibile accedere alla pagina di autenticazione dell'hotspot
  • Squid Proxy: viene usato per fare la registrazione delle pagine web visitate dagli utenti (per aderire al DECRETO-LEGGE 27 luglio 2005, n.144 "Misure urgenti per il contrasto del terrorismo internazionale", articolo 6)


Ah, non dimentichiamo la configurazione di iptables, fondamentale per far funzionare tutto.


Freeradius

Fortunatamente la configurazione di freeradius e' veramente minima. In primis dobbiamo modificare il file /etc/freeradius/clients.conf in modo da avere una parte come questa:

client 127.0.0.1 {
secret = theradiussecret
shortname = localhost
nastype = other
}


ovviamente potete modificare sia l'ip del client (nel nostro caso a scuola sara' anche 172.16.200.157, l'ip del server chillispot).

Salviamo e riavviamo il servizio


Apache

Apache ha bisogno di una configurazione veramente minima: basta creare un virtualhost con SSL e riavviare. Mi raccomando: obbligatoriamente SSL altrimenti il login manager non funzionera' (e ha ragione).

Squid Proxy

Squid richiede un po' di piu' di conoscenze del servizio. Faccio notare che non e' fondamentale per il funzionamento di tutto, pero' e' richiesto per legge se l'hotspot e' pubblico.
Il file interessato alla modifica e' /etc/squid/squid.conf, l'unico file di configurazione del servizio.
Prima di tutto e' necessaria la configurazione come transparent proxy e bisogna agganciarlo solo all'ip di eth1:

http_port 192.168.10.73:3128 transparent


Poi e' necessario definire una ACL per fare in modo che sia possibile utilizzare il proxy da un certo ip. Nel nostro caso l'ip sara' quello di eth1, poiche' con le regole di nat del firewall per obbligare il passaggio per il proxy, dobbiamo alterare l'ip di provenienza dei pacchetti con DNAT (Destination Network Addres Translation).
La acl e' la seguente:
acl localmachine src 192.168.10.73
http_access allow localmachine


In fine, per far funzionare correttamente il transparent proxy (ho incontrato dei problemi nell'utilizzo del caching) aggiungiamo questa riga:

always_direct allow localmachine


Salviamo il file e riavviamo il proxy.

IpTables
Le regole di iptables per far funzionare tutto sono 4, piu' una modifica del sistema con sysctl per abilitare il forwarding dei pacchetti.

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.10.0/24 
-j MASQUERADE


Questa prima regola si occupa di fare in modo che i pacchetti che provengono dalla rete degli access point appaiano con l'ip dell'hotspot.

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.182.0/24 
-j MASQUERADE


Questa seconda e' del tutto uguale alla prima solo che altera i pacchetti provenienti dalla rete virtuale creata da chillispot.


iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 80
-j REDIRECT --to-port 3128
iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 443
-j REDIRECT --to-port 3128


Queste ultime 2 regole, invece, si occupano di spedire tutto il traffico destinato alle porte 80 (http) e 443 (https) a SQUID, in modo che il traffico possa essere registrato.

L'ultimo comando necessario per completare il tutto e':

sysctl -w net.ipv4.ip_forward=1


che permette l'inoltro di pacchetti tra un interfaccia e l'altra.




Link permanente Traccia (0)
Powered by sBLOG XHTML 1.0 Strict PHP CSS
Ora locale: 04:27 domenica, settembre 05 2010 GMT+1
Powered by sBLOG © 2005 Servous