Finestre.  Virus.  I Quaderni.  Internet.  ufficio.  Utilità.  Autisti

Squid è una soluzione comune per programmatori, amministratori di sistema e appassionati di reti di computer per creare e gestire un server proxy efficiente. Il programma è particolarmente interessante perché è multipiattaforma. Cioè, puoi installarlo ed eseguirlo sia su Linux e altri sistemi operativi corrispondenti all'architettura Unix, sia su Windows. Le capacità di questo strumento sono le più eccezionali. Come si possono usare? Ci sono funzionalità nella configurazione del programma a seconda del sistema operativo specifico?

Informazioni generali su Squid

Cos'è il calamaro? Questo nome è noto per un server proxy particolarmente performante utilizzato più spesso con i client web. Con esso, puoi organizzare l'accesso simultaneo a Internet per più utenti. Un'altra caratteristica notevole di Squid è che può memorizzare nella cache varie query. Ciò ti consente di ottenere i file più velocemente, poiché non è necessario scaricarli nuovamente da Internet. Il server proxy Squid può anche regolare la velocità del canale Internet in relazione al carico effettivo.

Squid è stato adattato per l'uso su piattaforme Unix. Tuttavia, esistono versioni di Squid per Windows e molti altri sistemi operativi popolari. Questo programma, come molti sistemi operativi basati sul concetto Unix, è gratuito. Supporta FTP, SSL, consente di configurare un controllo flessibile sull'accesso ai file. Squid memorizza anche nella cache le query DNS. Allo stesso tempo, puoi anche configurare un proxy Squid trasparente, ovvero il server funziona in un formato in cui l'utente non sa che sta accedendo alla rete attraverso di esso e non direttamente. Pertanto, Squid è un potente strumento nelle mani di un amministratore di sistema o di un fornitore di servizi di comunicazione.

L'utilità pratica dei calamari

Quando Squid può essere più utile? Ad esempio, questa potrebbe essere un'attività in cui è necessario integrare efficacemente diversi computer in una rete e fornire loro l'accesso a Internet. L'opportunità di utilizzare un server proxy in questo casoè che le richieste tra esso e il browser di un determinato PC vengono eseguite più velocemente rispetto al caso di interazione dell'utente con Internet direttamente. Inoltre, quando si utilizza Squid, la cache nel browser stesso può essere disabilitata completamente. Questa funzione è molto richiesta tra gli utenti.

Composizione di calamari

La decisione su quale in questione, è costituito da più componenti. In realtà, questo è un pacchetto Software. Nella sua struttura è presente un'applicazione con cui viene avviato il server, nonché un programma complementare per lavorare con DNS. La sua caratteristica interessante è che avvia processi, ognuno dei quali funziona indipendentemente dagli altri. Ciò consente di ottimizzare l'interazione del server con il DNS.

Installazione del programma

L'installazione di Squid è solitamente semplice. È molto semplice installare il programma su Linux: basta inserire il comando $ sudo apt-get install squid.

Per quanto riguarda Squid per Windows, le cose sono un po' più complicate. Il fatto è che questo programma non ha file eseguibili- gli elementi principali delle applicazioni per il sistema operativo di Microsoft.

Tuttavia, l'installazione di Squid su Windows è un'attività abbastanza rapida. È necessario trovare su o risorse pertinenti un kit di distribuzione contenente file di tipo .bat, che sono in qualche modo vicini ai tradizionali eseguibili di Windows. Successivamente, dovresti copiarli in una cartella separata sul disco. Quindi è necessario avviare Squid come servizio di sistema. Successivamente, il programma può essere utilizzato come proxy tramite un browser per PC. Possiamo dire che questo completa l'installazione di Squid.

Una distribuzione di server proxy contiene quasi sempre un file di configurazione come .conf. È lo strumento principale per configurare l'accesso a Internet dal computer dell'utente e da altri dispositivi combinati rete locale quando si utilizza Squid.

Sfumature di ambientazione

Quali sfumature possono includere l'impostazione di Squid? Windows è un sistema operativo in cui il lavoro con un server proxy verrà eseguito modificando i file di configurazione.

Nel caso di Linux, può essere utilizzato per alcune procedure. Ma in generale, in questo sistema operativo, proprio come se il sistema operativo su cui è configurato Squid fosse Windows, il file squid.conf viene utilizzato più spesso. Prescrive alcune espressioni ("comandi"), in base alle quali il server gestisce le connessioni alla rete.

Si consideri, quindi, come è configurato Squid, in modo più dettagliato. Il primo passaggio consiste nel consentire agli utenti della rete di accedere al server. Per fare ciò, nel file squid.conf, impostare i valori appropriati in http_port, nonché in http_access. È anche utile creare un elenco di controllo degli accessi o ACL. Le impostazioni http_port sono importanti per noi, poiché il nostro obiettivo è preparare Squid a servire solo un gruppo specifico di computer. A sua volta, un parametro come http_access è importante, poiché con esso saremo in grado di regolare l'accesso a specifiche risorse di rete richieste da determinati indirizzi (sono possibili anche altri criteri: protocolli, porte e altre proprietà contenute nell'ACL).

Come impostare le impostazioni necessarie? È molto facile farlo.

Supponiamo di aver creato una rete di computer con un intervallo di indirizzi che inizia con 192.168.0.1 e termina con 192.168.0.254. In questo caso, nelle impostazioni ACL deve essere impostato il seguente parametro: src 192.168.0.0/24. Se dobbiamo configurare la porta, nel file di configurazione dobbiamo inserire una voce http_port 192.168.0.1 (basta specificare l'indirizzo IP corretto) e inserire il numero di porta.

Per limitare l'accesso al proxy creato con Squid (senza contare i computer inclusi nella rete locale), è necessario apportare modifiche a http_access. Questo viene fatto semplicemente - con l'aiuto di espressioni ("comandi" - accettiamo di chiamarli che, sebbene, in senso stretto, non siano tali nel testo, ma nella riga del terminale corrisponderebbero del tutto a loro) consentire LocalNet e nega tutto. È molto importante posizionare il primo parametro sopra il secondo, poiché Squid li riconosce uno per uno.

Lavorare con gli ACL: negare l'accesso ai siti

In realtà, le impostazioni di accesso sono possibili in Squid in una gamma molto ampia. Considera esempi utili nella pratica della gestione delle reti locali.

L'elemento src è molto richiesto. Con esso, puoi correggere l'indirizzo IP del computer che ha effettuato la richiesta al server proxy. Combinando l'elemento src con http_access, puoi, ad esempio, consentire l'accesso alla rete a un utente specifico, ma proibire azioni simili a tutti gli altri. Questo è fatto in modo molto semplice.

Scriviamo ACL (user group name) src (intervallo di indirizzi IP che rientrano nella regolamentazione). La riga sottostante è ACL (nome di un computer specifico) src (indirizzo IP del PC corrispondente). Successivamente, lavoriamo con http_access. Impostiamo l'autorizzazione per accedere alla rete per un gruppo di utenti e un singolo PC utilizzando i comandi http_access allow. Nella riga sottostante, fissiamo che l'accesso al resto dei computer nella rete è chiuso con il comando deny all.

La configurazione di un proxy Squid comporta anche l'utilizzo di un altro utile elemento fornito dal sistema di controllo degli accessi: dst. Ti consente di fissare l'indirizzo IP del server a cui l'utente proxy desidera connettersi.

Con l'aiuto dell'elemento in questione, possiamo, ad esempio, limitare l'accesso a una determinata sottorete. Per fare ciò, è possibile utilizzare il comando ACL (designazione di rete) dst (indirizzo IP della sottorete), la riga sottostante è http_access deny (il nome di un computer specifico sulla rete).

Un altro elemento utile—dstdomain. Ci consentirà di correggere il dominio a cui l'utente desidera connettersi. Utilizzando l'elemento in questione, possiamo limitare l'accesso di un determinato utente, ad esempio, a risorse Internet esterne. Per fare ciò, puoi usare il comando: ACL (gruppo del sito) dstdomain (indirizzi del sito), la riga sotto è http_access deny (nome del computer sulla rete).

Ci sono altri elementi degni di nota nella struttura del sistema di controllo degli accessi. Tra questi c'è SitesRegex. Utilizzando questa espressione, è possibile limitare l'accesso degli utenti ai domini Internet contenenti una determinata parola, ad esempio posta (se l'attività è impedire ai dipendenti dell'azienda di accedere a server di posta di terze parti). Per fare ciò, puoi utilizzare il comando ACL SitesRegexMail dstdom_regex mail, quindi ACL SitesRegexComNet dstdom_regex \.com$ (ciò significa che l'accesso verrà negato per il tipo di dominio corrispondente). La riga sottostante è http_accesss deny che indica i computer da cui accedere all'esterno server di posta indesiderato.

Alcune espressioni possono utilizzare l'opzione -i. Usandolo, oltre a un elemento come, ad esempio, url_regex, progettato per creare un modello per gli indirizzi Web, possiamo negare l'accesso ai file con una determinata estensione.

Ad esempio, utilizzando il comando NoSwfFromMail url_regex -i mail.*\.swf$ ACL, controlliamo la possibilità di accedere ai siti di posta che contengono filmati Flash. Se non è necessario includere negli algoritmi di accesso Nome del dominio site, puoi utilizzare l'espressione urlpath_regex. Ad esempio, nella forma del comando ACL media urlpath_regex -i \.wma$ \.mp3$.

Negare l'accesso ai programmi

La configurazione di Squid consente di vietare l'accesso dell'utente a determinati programmi quando si utilizzano le risorse del server proxy. A tale scopo, è possibile utilizzare il comando ACL (nome programma) port (intervallo porta), la riga sottostante è http_access deny all (nome programma).

Standard e protocolli coinvolgenti

La configurazione di Squid consente inoltre all'amministratore di sistema di impostare il protocollo preferito per l'utilizzo del canale Internet. Ad esempio, se è necessario che una persona da un PC specifico acceda alla rete tramite il protocollo FTP, è possibile utilizzare il seguente comando: ACL ftpproto proto ftp, la riga sottostante è http_access deny (nome computer) ftpproto.

Con l'elemento metodo, possiamo specificare come deve essere effettuata la richiesta HTTP. Ce ne sono 2: GET e POST, ma in alcuni casi è preferibile il primo, non il secondo e viceversa. Ad esempio, è possibile una situazione in cui un determinato dipendente non dovrebbe visualizzare la posta tramite mail.ru, ma al suo datore di lavoro non dispiacerà se una persona desidera leggere notizie sul sito specificato. Per fare ciò, l'amministratore di sistema può utilizzare il seguente comando: ACL sitemailru dstdomain .mail.ru, la riga seguente è ACL methodpost metodo POST, quindi http_access deny (nome computer) methodpost sitemailru.

Queste sono le sfumature coinvolte nella configurazione di Squid. Viene utilizzato Ubuntu, Windows o un altro sistema operativo compatibile con il server proxy: le funzionalità che abbiamo considerato per l'impostazione dei parametri necessari sono generalmente tipiche per qualsiasi ambiente software funzionamento di Squid. Lavorare con questo software è un processo incredibilmente entusiasmante e allo stesso tempo semplice grazie alla logica e alla trasparenza dei principali algoritmi per l'impostazione del programma.

Diamo un'occhiata ad alcuni dei punti chiave specifici della configurazione di Squid.

A cosa prestare attenzione durante l'installazione?

Se hai difficoltà a trovare il file squid.conf, che è il principale strumento di configurazione del server, puoi provare a controllare la directory etc/squid.

È meglio se, quando si lavora con il file in questione, si utilizza il più semplice editor di testo: non è necessario includere alcun elemento di formattazione nelle righe responsabili dell'impostazione del server proxy.

In alcuni casi, potrebbe essere necessario specificare il server proxy del provider durante il funzionamento. C'è un comando cache_peer per questo. Devi inserirlo in questo modo: cache_peer (indirizzo del server proxy del provider).

In alcuni casi è utile fissare il valore memoria ad accesso casuale, che verrà utilizzato da Squid. Questo può essere fatto con il comando cache_mem. È anche utile specificare la directory in cui verranno archiviati i dati memorizzati nella cache, questo viene fatto utilizzando l'espressione cache_dir. Nel primo caso, l'intero comando apparirà come cache_mem (la quantità di RAM in byte), nel secondo come cache_dir (indirizzo della directory, numero di megabyte spazio sul disco). Si consiglia di posizionare la cache sui dischi con le prestazioni più elevate, se esiste una scelta.

Potrebbe essere necessario specificare i computer che hanno accesso al server proxy. Questa operazione può essere eseguita utilizzando i comandi ACL hosts consentiti src (intervallo di indirizzi IP del computer) e ACL localhost src (indirizzo locale).

Se le porte SSL vengono utilizzate nelle connessioni, possono anche essere riparate utilizzando il comando ACL ssl_ports port (specifica porta). Allo stesso tempo, è possibile disabilitare l'uso del metodo CONNECT per altre porte, ad eccezione di quelle specificate nella connessione sicura SSL. L'espressione http_access deny CONNECT aiuterà a farlo! Porte SSL.

Calamari e pfSense

In alcuni casi, insieme al server proxy in questione, viene utilizzata l'interfaccia pfSense, che viene utilizzata come efficace. lavoro congiunto? L'algoritmo per risolvere questo problema non è troppo complicato.

Per prima cosa dobbiamo lavorare sull'interfaccia di pfSense. Squid, che abbiamo già configurato, dovrà essere installato tramite comandi SSH. Questo è uno dei modi più convenienti e sicuri per lavorare con i server proxy. Per fare ciò, attiva la voce Abilita nell'interfaccia, per trovarla devi selezionare la voce di menu Sistema, poi Avanzate, quindi Accesso amministratore.

Successivamente, devi scaricare PuTTY - comoda applicazione lavorare con SSH. Successivamente, utilizzando la console, è necessario installare Squid. Questo può essere fatto facilmente con il comando -pkg install squid. Successivamente, devi anche impostare il proxy tramite l'interfaccia web di pfSense. Squid (i suoi parametri non sono configurati in questa fase) può essere installato selezionando la voce di menu Sistema, quindi Pacchetti, dopo - Pacchetti disponibili. Il pacchetto Squid Stable dovrebbe essere disponibile nella finestra appropriata. Lo selezioniamo. Deve essere impostato seguenti impostazioni: Interfaccia proxy: LAN. Di fronte alla riga Proxy trasparente, puoi selezionare la casella. Selezioniamo l'indirizzo per il registro e contrassegniamo il russo come lingua preferita. Fare clic su Salva.

Strumento di ottimizzazione delle risorse

L'impostazione di Squid consente agli amministratori di sistema di allocare le risorse del server in modo efficiente. Cioè, in questo caso non si tratta di divieti di accesso a nessun sito, tuttavia, l'intensità dell'attivazione del canale da parte di uno o di un altro utente o del suo gruppo potrebbe richiedere il controllo. Il programma in esame ci consente di risolvere questo compito in diversi modi. In primo luogo, questo è l'uso dei meccanismi di memorizzazione nella cache: per questo motivo non è necessario scaricare nuovamente i file da Internet, poiché il carico sul traffico diminuirà. In secondo luogo, è la limitazione dell'accesso alla rete nel tempo. In terzo luogo, si tratta di stabilire valori limite per la velocità di scambio di dati sulla rete in relazione alle azioni di determinati utenti o tipi specifici di file scaricati. Consideriamo questi meccanismi in modo più dettagliato.

Ottimizzazione delle risorse di rete attraverso la memorizzazione nella cache

Nella struttura del traffico di rete esistono molti tipi di file che vengono utilizzati invariati. Cioè, una volta scaricati sul computer, l'utente potrebbe non ripetere l'operazione corrispondente. Squid te lo permette configurazione flessibile meccanismo di riconoscimento di tali file da parte del server.

Un'opzione piuttosto utile del server proxy che stiamo studiando è controllare l'età di un file nella cache. Gli oggetti che sono troppo lunghi nell'area di memoria corrispondente dovrebbero essere aggiornati. Questa opzione può essere abilitata utilizzando il comando refresh_pattern. Quindi, l'espressione completa può apparire come refresh_pattern (durata minima - in minuti, massima condivisione di file "freschi" - in%, periodo massimo). Di conseguenza, se un file si trova nella cache più a lungo dei criteri specificati, potrebbe essere necessario scaricarne una nuova versione.

Ottimizzazione delle risorse attraverso restrizioni di accesso basate sul tempo

Un'altra opzione che può essere utilizzata grazie alle capacità di Squid-Proxy è quella di limitare l'accesso degli utenti alle risorse di rete nel tempo. Viene impostato utilizzando un comando molto semplice: ACL (nome computer) ora (giorno, ora, minuto). L'accesso può essere limitato per qualsiasi giorno della settimana sostituendo "giorno" con la prima lettera della parola corrispondente al suo nome nell'alfabeto inglese. Ad esempio, se è lunedì, allora M, se è martedì, allora T. Se il comando non contiene la parola "giorno", il divieto corrispondente verrà impostato per l'intera settimana. È interessante notare che è anche possibile regolare il programma di accesso alla rete, effettuato dagli utenti con l'ausilio di determinati programmi.

Ottimizzazione delle risorse attraverso la limitazione della velocità

Un'opzione abbastanza comune è ottimizzare le risorse regolando il tasso di scambio di dati consentito all'interno rete di computer. Il server proxy che stiamo studiando è - strumento utile risolvere questo problema. La regolazione della velocità di scambio dei dati nella rete viene effettuata utilizzando parametri come delay_class, delay_parameters, delay_access, nonché tramite l'elemento delay_pools. Tutti e quattro i componenti sono essenziali per affrontare le sfide da affrontare amministratori di sistema in termini di ottimizzazione delle risorse di rete locale.

Il problema è il seguente. Nell'azienda AD, accesso a Internet tramite un proxy, è presente una DMZ. Il proxy e la sua porta sono registrati nelle impostazioni del browser, nella sezione _connessioni_. ISA 2006 viene utilizzato per accedere alla DMZ (ho Isa client 2004). Andiamo su Internet tramite calamari.

Dopo Installazione Windows 7 (su una macchina pulita) IExplorer configurato come al solito, ha registrato un proxy e una porta, ma IExplorer si rifiuta di andare online (di conseguenza, la possibilità di attivare e ricevere aggiornamenti diminuisce). All'avvio vengono richiesti login e password, ma alla fine ottengo una pagina con il seguente messaggio:
==============================
ERRORE: accesso alla cache negato.

ERRORE

Accesso alla cache negato

Si è verificato il seguente errore:

  • Accesso alla cache negato

Siamo spiacenti, non puoi richiedere:

http://go.microsoft.com/fwlink/? da questa cache finché non ti autentichi.

Per fare questo, hai bisogno di Netscape versione 2.0 o superiore, o di Microsoft Internet Explorer 3.0 o browser compatibile con HTTP/1.1. Contatta l'amministratore della cache in caso di problemi con l'autenticazione o modifica la password predefinita.


Generato Thu, 18 Jun 2009 04:11:33 GMT da apk-proxy2.apk.gov (squid/2.6.STABLE18) ======================= =======

FireFox non ha questo problema.. Ho specificato un proxy nelle impostazioni, ho inserito login e password ed eccomi qui a scrivere questa lettera.
Anche su XP e Vista va tutto bene .

Ho inserito i seguenti assembly 7100 (rus), 7201, ora costa 7231 (rus) - la situazione non cambia.

La domanda è: cosa e dove torcere?

Molti amministratori di sistema devono affrontare il problema di limitare l'accesso degli utenti a determinate risorse Internet. Nella maggior parte dei casi, non è necessario un filtro dei contenuti complesso e ad alta intensità di risorse, gli elenchi di URL sono abbastanza. È del tutto possibile implementare un tale metodo utilizzando il server proxy squid senza coinvolgere software di terze parti.

Il metodo delle liste "nere" e "bianche" è ideale per limitare l'accesso a risorse i cui indirizzi sono noti in anticipo, ma per qualche motivo sono indesiderabili, ad esempio mezzi di comunicazione sociale. Rispetto al filtraggio dei contenuti, questo metodo presenta molti svantaggi, ma d'altra parte è molto più semplice da implementare e richiede molte meno risorse di calcolo.

Efficienza questo metodo dovrebbe essere considerato dal punto di vista dell'attività, quindi se si desidera bloccare i social network per i dipendenti e una serie di risorse di intrattenimento su cui trascorrono la maggior parte del tempo, filtrare per elenchi di URL può risolvere completamente questo problema. Allo stesso tempo, tale filtraggio sarà inefficace se è necessario limitare l'accesso a qualsiasi risorsa di un determinato contenuto.

In quanto segue, assumeremo che il lettore abbia le competenze iniziali Amministrazione Linux. Inoltre, ricorda che tutti i comandi seguenti devono essere eseguiti come superutente.

Prima di tutto, creiamo un file list. Può essere posizionato ovunque, ma sarà logico inserirlo nella directory di configurazione di squid - /etc/squid(O /etc/squid3 se stai usando squid3)

Tocca /etc/squid/blacklist

e inizia a compilarlo. Quando specifichi un URL, dovresti usare la sintassi RegExp, non ci soffermeremo su questo problema in dettaglio, poiché questo va oltre lo scopo dell'articolo, puoi leggere di più sulle regole RegExp. Ad esempio, blocchiamo i social network popolari:

Vk\.com
odnoklassniki\.ru

Si noti che il punto in RegExp è un carattere di servizio e pertanto deve essere preceduto dal carattere \ (barra rovesciata).

IN file di configurazione calamaro ( /etc/squid/squid.conf) crea un elenco ACL che include host o utenti per i quali verrà eseguito il filtro.

Acl url_filtred src 10.0.0.100-10.0.0.199

Nel nostro caso, il filtro è abilitato per tutti gli host nell'intervallo di indirizzi 10.0.0.100-199, ovvero filtreremo Internet solo per un determinato gruppo di utenti.

Quindi includeremo la nostra lista:

Acl blacklist url_regex -i "/etc/squid/blacklist"

L'opzione -i indica che l'elenco non fa distinzione tra maiuscole e minuscole.

Ora andiamo alla sezione delle regole e prima della regola

http_access consentire localnet

Http_access nega la lista nera url_filtred

Ancora una volta, vorremmo attirare la vostra attenzione sul fatto che tutte le regole in squid vengono elaborate in sequenza, fino alla prima occorrenza, quindi se inseriamo più di regola generale prima di uno più privato, non funzionerà. Lo stesso vale per le regole sovrapposte: funzionerà la primissima.

Salva le modifiche e riavvia squid:

Riavvio del calamaro di servizio

Proviamo a visitare un sito dall'elenco, se tutto è fatto correttamente, vedrai un messaggio squid sull'accesso negato a questa risorsa.

Il motivo per pubblicare questo articolo è il seguente: molto spesso sui forum vedo come TC fornisce esempi delle loro configurazioni con un mostruoso miscuglio direttive acl e http_access, in particolare negli argomenti che trattano problemi di accesso a calamaro. Quando installo qualsiasi sistema, cerco di aderire a una sorta di ordine logico. Oggi cercherò di trasmetterti cosa ordine http_access Tengo.

L'idea principale è nella frase presa dal manuale di squid per http_access :

Se nessuna delle righe "access" causa una corrispondenza, il valore predefinito è l'opposto dell'ultima riga nell'elenco. Se l'ultima riga era deny, l'impostazione predefinita è allow. Viceversa, se l'ultima riga è allow, l'impostazione predefinita sarà deny. Per questi motivi, è una buona idea avere una voce "Nega tutto" alla fine degli elenchi di accesso per evitare potenziali confusioni.

Letteralmente il seguente:

Se la regola "accesso" non viene trovata, verrà applicata per impostazione predefinita la regola opposta all'ultima nell'elenco. Se l'ultima regola è negare, per impostazione predefinita verrà applicato il permesso. Viceversa, se l'ultima riga è allow, l'impostazione predefinita è deny. Quindi è una buona idea avere una regola "nega tutto" alla fine del tuo elenco di regole per evitare possibili fraintendimenti.

Ho già trattato alcuni suggerimenti e regole nell'articolo. Ora cercherò di trasmettere la mia visione acl e http_access order. In realtà, ordine delle direttive ACL assolutamente non importa. La cosa principale che acl sono stati definiti PRIMA delle regole http_access(Non ho trovato conferma di ciò nei manuali, ma ho avuto alcuni problemi di accesso durante l'inserimento di acl dopo http_access). Provo a raggruppare acl per gli stessi tipi.

Impostazione di http_access in squid

Esattamente ordine di posizionamento delle direttive http_access determina se il client accederà o meno alla cache. L'algoritmo di elaborazione delle richieste di cache è il seguente:

  1. Ogni richiesta viene confrontata in sequenza con ciascuna riga delle regole http_access.
  2. Fino a quando la richiesta non corrisponde a una delle regole di accesso o negazione, seguirà da una regola all'altra e ne verificherà l'autorità.
    Tutto è semplice qui. Diamo un'occhiata alle seguenti regole:
  3. Se in http_access vengono specificati più acl, viene utilizzato un AND logico Esempio: http_access allow|deny acl AND acl AND... OR http_access allow|deny acl AND acl AND... OR
  4. Se la richiesta non corrisponde a nessuna regola, per impostazione predefinita squid utilizza la regola opposta all'ultima. # abbiamo un'unica regola di autorizzazione per alcuni utenti acl: http_access allow user # se, durante l'accesso a squid, la richiesta non rientrava in questo acl, verrà applicata l'azione di rifiuto. # E se abbiamo due regole http_access allow user http_access deny user2 # e la richiesta non è inclusa né in acl user né in acl user2, allora allow verrà applicato ad essa. # Ovvero, l'azione opposta dell'ultimo http_access deny user2

Queste sono le basi delle basi. Ma ci sono alcune sfumature rivelate durante il funzionamento.

http_access tuning)

Sappiamo che ci sono ACL che usano external . O altri moduli (ad esempio, srcdomain E srcdom_regex richiede risoluzione). Si può logicamente concludere teoricamente che i dati acl possono essere in qualche modo più lenti di acl src o dst o simili. Secondo il wiki, gli sviluppatori dividono l'acl veloce/lento nei seguenti gruppi (a partire da squid 3.1.0.7):

Di conseguenza, se specifichiamo prima le regole di divieto, specialmente se sono "veloci" (ad esempio, tale

Http_access deny manager http_access deny !Safe_ports http_access deny CONNECT !SSL_ports

) quindi funzionano molto rapidamente, riducendo il carico dovuto al fatto che meno richieste raggiungono le regole utilizzando l'autenticazione, quelle che ne hanno davvero bisogno. Quindi, prova a posizionare le regole di negazione http_access utilizzando acl senza moduli esterni il più in alto possibile, quindi posiziona le regole di autorizzazione. Bene, l'ultimo non dimenticare di specificare nega tutto (per evitare potenziali confusioni).

Risoluzione dei problemi di acl e http_access

Se ci sono ancora problemi durante il collegamento della direttiva http_access e l'utente desiderato non ottiene l'accesso, puoi provare a utilizzare il file . Esempio:

Opzioni_debug ALL,1 33.2

Dopo che squid è stato riconfigurato, cache.log inizierà a contenere i messaggi di autorizzazione/negazione dell'accesso per ogni sessione e il nome dell'acl, in base a quale accesso viene concesso o meno. Se queste informazioni non sono sufficienti, puoi includere ulteriori dettagli:

Opzioni_debug ALL,1 33.2 28.9

Riepilogo

Per oggi è tutto Oggi abbiamo considerato il problema della configurazione di acl e http_access. La logica per l'elaborazione delle direttive http_access e ha familiarizzato con alcune raccomandazioni. Forse uno dei lettori mi correggerà, cosa di cui sarò molto grato. Oltre a questo articolo, ti consiglio di leggere http://wiki.squid-cache.org/SquidFaq/SquidAcl.

Sinceramente, Mc.Sim!

Se noti un errore, seleziona una parte di testo e premi Ctrl + Invio
CONDIVIDERE: