Proxy Squid - Parte 1

Ciao a tutti, potete chiamarmi Brody. Sono uno specialista nel settore dei data center, anche un fanboy del mondo linux per il semplice fatto che mi semplifica la vita e il lavoro. Pensaci!

Da questo momento in poi, tratterò "te" in modo più impersonale, più confidenziale. I miei tutorial non riguarderanno solo l'installazione di un servizio e ora ti fornirò tutte le conoscenze e gli strumenti necessari per sfruttare al meglio le funzionalità di ciascuna funzionalità di un'applicazione, eventuali domande inviano un messaggio alla posta in arrivo

Squid non è solo un servizio proxy e cache, può fare molto di più: gestire acl (elenchi di accesso), filtrare i contenuti, può persino eseguire il filtraggio ssl anche in modalità trasparente (metodo proxy - senza dover configurare nelle impostazioni proxy dal tuo browser, è come se fosse un uomo al centro, nessuno sa che c'è). Quindi vedo comunemente come il pieno potenziale di questa applicazione viene sprecato non sapendo come configurare ciascuna delle sue parti.

Ma per prima cosa, diamo un'occhiata alla caratteristica di delega.

Installare:

aptitude installa squid3

Modifica il file di configurazione:

vi /etc/squid3/squid.conf

  • http_port ip: porta

Un esempio potrebbe essere http_porta 172.16.128.50:3128  Il servizio sarà fornito dall'IP e dalla porta specificati, in particolare non consiglierei di lasciare la porta 3128 per impostazione predefinita in un ambiente di produzione.

  • acl localnet src ip / mask

Un esempio potrebbe essere ACL rete locale src 172.168.128.0/24 la lista di accesso generale (il più macro possibile) che avrà accesso a detto servizio. localnet è quello che viene chiamato acl, ma puoi inserire qualsiasi nome tu voglia lì.

  • http_access consenti localnet

Semplice http_access consentire rete locale lo stesso nome che hai inserito nella voce precedente, qui permettiamo a questa rete di navigare e utilizzare i servizi squid

  • interruzione_rapida_min 0KB
  • quick_abort_max 0 KB

Ora in cui interrompiamo una richiesta. Lo spiego più in dettaglio: quando un utente sta navigando attraverso il tuo proxy e annulla una richiesta o un download, hai 3 opzioni, se il download è inferiore a interruzione_veloce_min 80KB, Squid lo scaricherà, se il download manca più di interruzione_veloce_max 150 KB verranno quindi cancellati immediatamente, se entrambi sono impostati a 0KB come nel caso, il download termina non appena l'utente annulla.

  • read_timeout 5 minuti

Questo è il tempo in cui una sessione del server sarà aperta fino a quando non ci sarà una nuova lettura, ad esempio su una pagina statica, non è necessario un valore molto alto ma su pagine dinamiche come Facebook questo è un valore accettabile

  • request_timeout 3 minuti

Questo valore potrebbe essere molto più basso, dipende dalla qualità della connessione debole del tuo server e dal numero di client che hai. Questo parametro si riferisce al tempo massimo di attesa per le intestazioni http di una richiesta, dopo aver stabilito la connessione.

  • half_closed_clients disattivato

Previene le connessioni semichiuse a causa di errori di comunicazione. Non vuoi sprecare le risorse del tuo server in nessuna circostanza.

  • shutdown_lifetime 15 secondi

Questo tag consente di abbreviare il tempo di attesa per chiudere i processi squid quando si esegue un SIGTERM o SIGHUP

  • log_icp_queries disattivato

Questo lo lascio a tua discrezione, per impostazione predefinita si accende, ed è per accedere al log ogni query fatta alla cache del proxy.

  • dns_nameserver 8.8.4.4 8 8.8.8.8

Le query DNS verranno fatte a questi IP separati da spazio, se nessuno è definito, il DNS del tuo sistema viene utilizzato per impostazione predefinita

  • dns_v4_first su

Beh dipende dal paese o dalle impostazioni del tuo ambiente, ma nel mio caso non ho DNS IPv6, quindi imposta di default che tutto viene consultato prima in ipv4

  • ipcache_dimensione 2048

Numero massimo di voci nella cache dns di squid

  • ipcache_basso 90

La dimensione più piccola delle voci della cache dns.

  • fqdncache_dimensione 4096

Numero massimo di voci FQDN nella cache

  • memory_pools disattivati

Disattiviamo che la memoria RAM sia riservata per futuri processi squid, se è una risorsa molto scarsa sul tuo server

  • inoltrato_per off

Se vuoi impedire loro di vedere il tuo ip privato dal wan, le richieste arriveranno con uno sconosciuto o, in tal caso, ru ip wan

iniziamo la cache

calamaro3 -z

Riavvia il servizio

servizio squid3 riavvio

Per finire non ti resta che mettere nel tuo browser, nelle opzioni proxy l'ip e la porta, pronti devi essere in navigazione

Questo è tutto per questa occasione, sai che con questo avrai un calamaro molto robusto, nei prossimi post lo metteremo in cache con il calamaro


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   Ing. José Albert suddetto

    Eccellente, tutorial passo passo. quello che mi è piaciuto di più è stata la spiegazione opzione per opzione del repertorio di configurazione.

    Quello che mi è piaciuto di più è stata la possibilità di:

    interruzione_rapida_min 0KB
    quick_abort_max 0 KB

    Credo che questo sia estremamente importante perché molte volte un utente può perdere (annullare) a causa della situazione X un download sta per terminare e questo parametro ben stimato in base alle risorse del nostro computer può permetterci di continuare con detto download, poiché molto probabilmente come così come lo stesso utente o un altro potrebbe tentare in un breve lasso di tempo di ritentare il download dello stesso elemento, risparmiando traffico su Internet.

    Correggimi se sbaglio, BrodyDalle?

    1.    brodidalle suddetto

      Sì e no, ti spiego.

      Infatti il ​​download terminerà con successo anche se l'utente lo ha annullato, solo allora quando lo stesso utente o un altro proverà a scaricare l'applicazione o la pagina web, squid consegnerà una copia che ha già nella cache e non andrà su Internet a scaricare nuovamente i dati. Ora attenzione qui l'effetto della ripresa è solo un download manager che memorizza i dati nella cache della tua macchina per un tempo predeterminato e ti permette di riprendere un download annullato o interrotto, non è squid.

      Nei tutorial futuri fornirò a squid come cache a fondo, in modo da non sprecare le risorse WAN (Internet) della tua rete

  2.   Javier Espinoza suddetto

    ottimo articolo Sto imparando a conoscere squid e la sua implementazione grazie mille torna utile

    1.    brodidalle suddetto

      Grazie, nota che nei tutorial futuri fornirò completamente squid come cache, in modo da non sprecare le risorse WAN (Internet) della tua rete

  3.   Enrico Servito suddetto

    ottimo tutorial è sempre utile per espandere la conoscenza. Saluti

  4.   Miguel Pina suddetto

    Ciao, prima di tutto grazie per l'argomento, le spiegazioni e le conoscenze che vengono fornite. Ho altro da commentare, una domanda. Porto in tavola un problema che mi è capitato proprio con squid3 in Debian, si scopre che un bel giorno, mesi fa, ho aggiornato il sistema e insieme a questo upgrade è arrivata una nuova versione di squid, la 3.5, da lì il proxy sinistra per passare tutte le connessioni HTTPS, cioè subito non ho più aperto https // www.google.com.cu https://www.facebook.com e tutto ciò che utilizza il protocollo HTTPS sicuro. Indagando un po ', ho scoperto che il problema era nella gestione di SSL, qualcosa che Debian ha smesso di pacchettizzare con squid3 per ragioni legali e filosofiche. NON devo dire il disagio che esisteva nell'entità i giorni in cui ho cercato di risolvere questo "problema" che alla fine non sono riuscito a risolvere, ma sono tornato alla versione precedente di Squid3 e ho conservato il pacchetto con attitudine a prevenire da essere aggiornato di nuovo. Sul sito in cui vengono segnalati i bug di squid, ha parlato di un bug chiamato "squid-in-the-middle" e ha avvertito che tutti gli squid dalla versione 3.4.8 in poi erano vulnerabili, quindi hanno consigliato l'aggiornamento alla versione più recente e compilare il squid con SSL + impostato per generare i certificati manualmente…. PER FAVORE! Se qualcuno si è imbattuto in questa situazione e l'ha risolta, vorrei essere così gentile e darmi una luce su questo problema e se no, almeno commentare che è successa la stessa cosa ... e qual è stata la soluzione applicata. Grazie.

    1.    brodidalle suddetto

      Attualmente in Debian Jessie è disponibile solo fino alla versione 3.4.8-6 + deb8u1… Comunque posso dirti che puoi usare ssl bump se usi squid in modalità trasparente. http://wiki.squid-cache.org/ConfigExamples/Intercept/SslBumpExplicit…. Non metto in dubbio il tuo contributo, quindi presto installerò la versione più recente dal suo sito ufficiale

  5.   Antonio A. suddetto

    Buongiorno,

    In termini di prestazioni, varrebbe la pena installarlo su un Raspberry Pi 2?

    Grazie in anticipo, saluti.

  6.   Antonio A. suddetto

    Ciao,

    Bel tutorial, ma ho una domanda: in termini di prestazioni, varrebbe la pena installarlo su un Raspberry Pi 2?

    Saluti.

    1.    brodidalle suddetto

      La risposta breve è No ... puoi farlo ma alcune funzionalità come l'interfaccia di rete, il processore, il disco sono molti dei tuoi colli di bottiglia. Ora, se hai ancora bisogno di proxy, penso che tinyproxy sia migliore

      Grazie per la tua partecipazione

  7.   tabris suddetto

    Hai esperienza con Squid all'interno di pfSense?

    1.    brodidalle suddetto

      si, cosa hai bisogno di sapere? vedi se posso aiutarti.

  8.   acontreras90 suddetto

    Buon tutorial, tempo già molto buono. Non ne so molto, attualmente sto installando il proxy nella mia azienda con squid.conf da una versione precedente e ci sono cose che hanno cambiato la sintassi. Mi è servito molto. Continuerò ad aspettare la parte 2.
    Grazie molto

    1.    brodidalle suddetto

      Grazie per il tuo commento, in attesa che la seconda parte di squid su come memorizzare nella cache sarà presto disponibile.

  9.   ramses suddetto

    Eccellente, molto tempo fa ho implementato un server ubuntu con squid e funzionava abbastanza bene ora sono stato disconnesso da linux per un po 'di tempo e vorrei tornare alla questione dei server in cache per dare migliori prestazioni ai problemi di wisp, grazie per il tuo contributo Brody!

  10.   rodrigoarielpizarro suddetto

    Ciao, il tuo aiuto è molto gentile, ho appena inserito il problema IPV6 con DNS e ho problemi lì. Quando non appare alcun web con IPV6, funzionerebbe per me, quindi ho bisogno di sapere se la configurazione dns_v4_first sulla configurazione deve essere attivata prima che squid venga compilato, perché in 3.3.8 non funzionerebbe.

  11.   giocampo suddetto

    Buongiorno.
    Per cominciare, questo tutorial è stato molto utile. Adesso presento il mio caso, visto che non so se con i calamari posso risolvere la mia esigenza o devo cercare un'altra alternativa.
    Ho un'applicazione configurata su un'istanza AWS EC2, che deve effettuare richieste a un'API amazon, il problema sorge quando queste richieste sono massicce, quindi Amazon riconosce l'ip e rifiuta queste richieste per un po ', generando inconvenienti nell'applicazione che ho. Per risolvere questo problema utilizziamo il servizio Proxymesh, che prende la richiesta e la invia da uno dei suoi ip, evitando così detto blocco, fatto sta che per questo, quando si effettua la richiesta ad amazon, lo facciamo tramite curl in php, dando come opzione per connettersi al proxymesh. Ora sto cercando la possibilità che sia dall'istanza configurabile che quando le richieste vengono fatte all'api amazon, vanno direttamente al servizio proxymesh in modo che sia quello incaricato di inviare la richiesta alla destinazione finale . È possibile fare questo reindirizzamento con squid o mi consigliate un'altra alternativa?
    Grazie mille.

  12.   Janho suddetto

    Qualcuno ha provato più schemi di autenticazione su squid? Ho la versione 3.5.22 installata su Debian e anche se ho provato diverse varianti non funziona, la mia situazione è che ho bisogno che sia i miei utenti AD che altri utenti esterni siano in grado di accedere, se lavorano separatamente per me o ntml per gli utenti del dominio che hanno effettuato l'accesso e di base (ncsa) per quelli esterni, ma non entrambi contemporaneamente. qualsiasi aiuto sarà utile. Grazie in anticipo

  13.   Will suddetto

    Caro, non so perché, avevo installato squid senza problemi, ma quando l'ho aggiornato alla versione 3.5 il file access.log ha iniziato a esaurirsi, non memorizza più i dati come prima. Non so se devo vedere e implementare il WPAD per non utilizzare più la configurazione trasparente, oltre a rimuovere il reindirizzamento dalla porta 80 alla 3128 come si fa normalmente, visto che con il wpad quella regola non è più necessaria.

    è per questo che access.log ora non registra più l'attività?

    Saluti !!

  14.   Cristian suddetto

    Buona guida molto buona!

    Uso squid come proxy web da un po ', ma ultimamente ho notato che mi ci vuole molto tempo per cercare o aprire pagine ... potrei aver bisogno di svuotare la cache?

    Qualcuno ha configurato squid con mkt, come funziona?

    saluti

  15.   Giovanni suddetto

    Informazioni molto buone, scusa come ho potuto unirmi a squid con active directory in modo che al momento di entrare in una pagina bloccata mi chieda il nome utente e la password di un account active directory e se detto utente ha il permesso di entrare nella pagina ti darò accesso.

  16.   Carlos suddetto

    Ciao,
    guida eccellente, comunque e puoi guidarmi dato che non do, ho un internet in fibra da 20MB e uno squid 3.1 montato su centos 6.9 e servo circa 300 utenti prima di avere un collegamento da 4MB e uno squid 3.1 e lo stesso numero di utenti e ovviamente tutto super lento e menzionato all'amministratore (io) ho incolpato il collegamento, finalmente sono riuscito a cambiarlo e Internet è altrettanto lento, ho reinstallato il sistema operativo, configura squid 3.1 e nient'altro non accelera io esegui la misurazione della velocità da un client squid e mi dà 18-20 MB ma continuo a essere menzionato perché il servizio è altrettanto lento

    Se tu o qualcuno che ha avuto un problema simile potete darmi luce, li ringrazierò infinitamente.

  17.   Luis suddetto

    Cosa succede con gli indirizzi, vengono cambiati nel proprio indirizzo di rete o vengono utilizzati quelli che stai utilizzando.

  18.   irruente suddetto

    Sto imparando a conoscere squid debian e la sua implementazione, grazie mille, è utile. ma mi sta dando problemi con la connessione e controllo se dà un errore e apparentemente tutto funziona correttamente.