androide

Come installare e configurare il proxy squid su centos 7

04 - Server CentOS - Installazione di Squid Proxy Server

04 - Server CentOS - Installazione di Squid Proxy Server

Sommario:

Anonim

Squid è un proxy con memorizzazione nella cache completo che supporta i protocolli di rete più diffusi come HTTP, HTTPS, FTP e altri. Posizionare Squid davanti a un server Web può migliorare notevolmente le prestazioni del server memorizzando nella cache richieste ripetute, filtrando il traffico Web e accedendo al contenuto con restrizioni geografiche.

Questo tutorial spiega come impostare Squid su CentOS 7 e configurare i browser Web Firefox e Google Chrome per utilizzare il proxy.

Installazione di Squid su CentOS

Il pacchetto Squid è incluso nei repository CentOS 7 predefiniti. Per installarlo esegui il seguente comando come utente sudo:

sudo yum install squid

Una volta completata l'installazione, avviare e abilitare il servizio Squid:

sudo systemctl start squid sudo systemctl enable squid

Per verificare che l'installazione abbia avuto esito positivo, digitare il comando seguente che stamperà lo stato del servizio:

sudo systemctl status squid

● squid.service - Squid caching proxy Loaded: loaded (/usr/lib/systemd/system/squid.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2019-07-13 16:47:56 UTC; 12s ago…

Configurazione di Squid

Squid può essere configurato modificando il file /etc/squid/squid.conf . File aggiuntivi con opzioni di configurazione possono essere inclusi usando la direttiva "include".

Prima di apportare modifiche, eseguire il backup del file di configurazione originale con il comando cp :

sudo cp /etc/squid/squid.conf{,.orginal} Per modificare il file, aprilo nel tuo editor di testo:

sudo nano /etc/squid/squid.conf

Per impostazione predefinita, Squid è configurato per l'ascolto sulla porta 3128 su tutte le interfacce di rete sul server.

/etc/squid/squid.conf

# Squid normally listens to port 3128 http_port IP_ADDR:PORT

L'esecuzione di Squid su tutte le interfacce e sulla porta predefinita dovrebbe andare bene per la maggior parte degli utenti.

È possibile controllare l'accesso al server Squid utilizzando gli elenchi di controllo di accesso (ACL).

Per impostazione predefinita, Squid consente l'accesso solo da localhost e localnet.

Se tutti i client che utilizzeranno il proxy dispongono di un indirizzo IP statico, è possibile creare un ACL che includerà gli IP consentiti.

Invece di aggiungere gli indirizzi IP nel file di configurazione principale, creeremo un nuovo file dedicato che conterrà gli IP:

/etc/squid/allowed_ips.txt

192.168.33.1 # All other allowed IPs

Una volta terminato, apri il file di configurazione principale e crea un nuovo ACL denominato allowed_ips (prima riga evidenziata) e consenti l'accesso a tale ACL utilizzando la direttiva http_access (seconda riga evidenziata):

/etc/squid/squid.conf

#… acl allowed_ips src "/etc/squid/allowed_ips.txt" #… http_access allow localnet http_access allow localhost http_access allow allowed_ips # And finally deny all other access to this proxy http_access deny all

L'ordine delle regole di http_access è importante. Assicurati di aggiungere la riga prima che http_access deny all .

La direttiva http_access funziona in modo simile alle regole del firewall. Squid legge le regole dall'alto verso il basso e quando una regola corrisponde alle regole seguenti non vengono elaborate.

Ogni volta che si apportano modifiche al file di configurazione, è necessario riavviare il servizio Squid affinché le modifiche abbiano effetto:

sudo systemctl restart squid

Autenticazione di calamari

Squid può utilizzare back-end diversi, tra cui Samba, LDAP e HTTP basic auth per gli utenti autenticati.

In questo esempio, configureremo Squid per utilizzare l'autent di base. È un semplice metodo di autenticazione integrato nel protocollo

Useremo openssl per generare le password e aggiungere il username:password pair al /etc/squid/htpasswd con il comando tee come mostrato di seguito:

printf "USERNAME:$(openssl passwd -crypt PASSWORD)\n" | sudo tee -a /etc/squid/htpasswd

Ad esempio, per creare un utente chiamato "mike" con password " Pz$lPk76 " eseguiresti:

printf "mike:$(openssl passwd -crypt 'Pz$lPk76')\n" | sudo tee -a /etc/squid/htpasswd

mike:2nkgQsTSPCsIo

Il prossimo passo è configurare Squid per abilitare l'autenticazione di base HTTP e usare il file.

Apri la configurazione principale e aggiungi quanto segue:

/etc/squid/squid.conf

#… auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/htpasswd auth_param basic realm proxy acl authenticated proxy_auth REQUIRED #… http_access allow localnet http_access allow localhost http_access allow authenticated # And finally deny all other access to this proxy http_access deny all

Con le prime tre linee evidenziate stiamo creando un nuovo ACL chiamato authenticated . L'ultima riga evidenziata consente l'accesso agli utenti autenticati.

Riavvia il servizio Squid:

sudo systemctl restart squid

Configurazione del firewall

sudo firewall-cmd --permanent --add-port=3128/tcp firewall-cmd --reload Se Squid è in esecuzione su un'altra porta non predefinita, dovrai consentire il traffico su quella porta con.

Configurazione del browser per l'utilizzo del proxy

Ora che hai configurato Squid, l'ultimo passo è configurare il tuo browser preferito per usarlo.

Firefox

I passaggi seguenti sono gli stessi per Windows, macOS e Linux.

  1. Nell'angolo in alto a destra, fai clic sull'icona dell'hamburger per aprire il menu di Firefox:

    Fai clic sul collegamento ⚙ Preferences .

    Scorri verso il basso fino alla sezione Network Settings e fai clic sul pulsante Settings…

    Verrà aperta una nuova finestra.

    • Selezionare il pulsante di opzione Manual proxy configuration Immettere l'indirizzo IP del server Squid nel campo HTTP Host e 3128 nel campo Port Selezionare la casella di controllo Use this proxy server for all protocols Fare OK pulsante OK per salvare le impostazioni.

A questo punto, Firefox è configurato e puoi navigare in Internet tramite il proxy Squid. Per verificarlo, apri google.com , digita "qual è il mio IP" e dovresti vedere il tuo indirizzo IP del server Squid.

Per ripristinare le impostazioni predefinite, vai su Network Settings , seleziona il pulsante di opzione Use system proxy settings e salva le impostazioni.

Esistono anche diversi plugin che possono aiutarti a configurare le impostazioni proxy di Firefox come FoxyProxy.

Google Chrome

Google Chrome utilizza le impostazioni proxy di sistema predefinite. Invece di modificare le impostazioni del proxy del sistema operativo, puoi utilizzare un componente aggiuntivo come SwitchyOmega o avviare il browser Web Chrome dalla riga di comando.

Per avviare Chrome utilizzando un nuovo profilo e connettersi al server Squid, utilizzare il comando seguente:

Linux:

/usr/bin/google-chrome \ --user-data-dir="$HOME/proxy-profile" \ --proxy-server="http://SQUID_IP:3128"

Mac OS:

"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \ --user-data-dir="$HOME/proxy-profile" \ --proxy-server="http://SQUID_IP:3128"

Finestre:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ^ --user-data-dir="%USERPROFILE%\proxy-profile" ^ --proxy-server="http://SQUID_IP:3128"

Il profilo verrà creato automaticamente se non esiste. In questo modo è possibile eseguire più istanze di Chrome contemporaneamente.

Per confermare che il server proxy funziona correttamente, apri google.com e digita "qual è il mio IP". L'IP mostrato nel tuo browser dovrebbe essere l'indirizzo IP del tuo server.

Conclusione

Hai imparato come installare calamari su CentOS 7 e come configurare il tuo browser per usarlo.

Squid è uno dei server di cache proxy più popolari. Migliora la velocità del server Web e può aiutarti a limitare l'accesso degli utenti a Internet.

proxy centos