In altre parole il proxy agisce come mediatore tra un qualunque pc della rete locale e internet. Questa funzione comporta alcuni vantaggi, tra cui:
- possibilità di tenere traccia di tutte le operazioni effettuate (ad esempio di tutte le pagine web visitate), consentendo statistiche ed osservazioni dell'utilizzo della rete. Non ci si dimentichi però di operare in conformità alle norme in vigore riguardanti la privacy;
- possibilità di velocizzare la navigazione dei client, poiché il proxy server mantiene nella sua memoria cache le pagine visitate più di frequente, potendole così servire ai client in maniera più rapida.
Faremo inoltre in modo che il proxy si comporti in maniera trasparente, sollevando l'amministratore di rete da qualsiasi configurazione sulle macchine client.
Il proxy server più utilizzato nel mondo Linux è Squid, che andremo adesso ad installare sulla nostra macchina gateway:
# apt-get install squid
Il proxy Squid si configura attraverso il suo file di configurazione /etc/squid/squid.conf, in cui dobbiamo introdurre alcune modifiche.
Innanzitutto dobbiamo configurarlo per restare in ascolto sulla sola interfaccia interna e sull'interfaccia di loopback, aggiungendo le righe:
http_port 127.0.0.1:8080 http_port 192.168.1.1:8080
Poi dobbiamo impostare l'hostname del proxy e l'indirizzo email dell'amministratore, che sarà mostrato in caso di errori:
visible_hostname gateway.lan.local cache_mgr amministratore@lan.local
Dovremo infine aggiungere a Squid le informazioni per supportare la modalità transparent proxy. A seconda della versione di Squid utilizzata, queste direttive sono differenti.
- Per Squid 2.5 o versioni più vecchie dovremo aggiungere le righe:
httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_header on
- Per Squid 2.6 o versioni più nuove dovremo aggiungere la riga:
http_port 8080 transparent
L'ultima modifica che ci rimane da fare è quella di comunicare a Squid quali subnet sono autorizzate a collegarsi al proxy senza vedersi rifiutare la connessione:
# Autorizziamo la nostra LAN acl our_networks src 192.168.1.0/24 http_access allow our_networks http_access allow localhost # Impediamo l'accesso al proxy al resto del mondo http_access deny all