Commentare: 14:45 giovedì, maggio 17 2007
Il nostro captive portal all'itis planck aggiunge una complicazione alla configurazione di Squid. Ci si trova di fronte ad una configurazione di proxy in cascata in cui le modifiche proposte precedentemente non funzionano.
Prima di tutto bisogna far notare che non e' possibile utilizzare un transparent proxy con il protocollo HTTPS: Squid non puo' reindirizzare connessioni https transparentemente perche' le richieste (GET POST ecc ecc) sono cifrati da dopo il momento dell'handshaking SSL.
Poi i proxy in cascata: se il proxy del captive portal non e' informato di dover rivolgersi ad un proxy superiore riceveremo un "Invalid URL".
La richiesta che fara' infatti il nostro proxy sara'
GET / HTTP/1.1
poiche' non e' a conoscenza del secondo proxy che deve passare. Il secondo proxy, ricevendo una richiesta simile dira': "A che sito devo inoltrare la richiesta? boh, URL non valido".
Per evitare questo problema configuriamo un Upstream Proxy in Squid. Prima di tutto devo dire che non e' una cosa molto semplice, come invece e' in altri proxy che con una righettina se la cavano.
cache_peer 172.16.200.251 parent 80 0 no-query default proxy-only
Questa prima riga informa il nostro squid della presenza di un proxy a lui superiore (parent) che ascolta sulla porta 80 di 172.16.200.251.
Le opzioni no-query,default,proxy-only indicano rispettivamente di non mandare query ICP (Internet cache protocol) al nodo di cache (cache_peer), che questa e' proxy di default da usare anche come ultima risorsa e di non salvare localmente gli oggetti in cache.
La seconda e ultima modifica consiste nel aggiungere
never_direct allow all
per fare in modo che le richieste non siano richieste dirette (es: GET / HTTP/1.1) agli host che si vogliono visitare. Le richieste, quindi, al loro interno conterranno anche il nome dell'host che si vuole visitare (es: GET www.remixtj.net/ HTTP/1.1).
Detto questo possiamo passare alla parte di monitoraggio delle connessioni.



