Android

Cum se instalează și se configurează proxy-ul squid pe debian 10 linux

Proxy com linux Curso Pedro Delfino

Proxy com linux Curso Pedro Delfino

Cuprins:

Anonim

Squid este un proxy de memorie în cache cu caracteristici complete care acceptă protocoale de rețea populare precum HTTP, HTTPS, FTP și multe altele. Poate fi utilizat pentru îmbunătățirea performanței serverului web prin memorarea în cache a cererilor repetate, filtrarea traficului web și accesarea conținutului geore-restricționat.

În acest tutorial, vă vom explica cum să configurați un proxy Squid pe Debian Buster. Vă vom arăta, de asemenea, cum să configurați browserele web Firefox și Google Chrome pentru a-l utiliza.

Instalarea Squid pe Debian

Pachetul Squid este inclus în standardul din depozitele Debian 10. Rulați următoarele comenzi ca utilizator sudo pentru a instala Squid:

sudo apt update sudo apt install squid

După terminarea instalării, serviciul Squid va porni automat.

Verificați dacă instalarea a fost reușită și că serviciul Squid se execută verificând starea serviciului Squid:

sudo systemctl status squid

● squid.service - LSB: Squid HTTP Proxy version 3.x Loaded: loaded (/etc/init.d/squid; generated) Active: active (running) since Sat 2019-08-03 08:52:47 PDT; 3s ago…

Configurarea Squid

Squid poate fi configurat prin editarea fișierului de configurare /etc/squid/squid.conf . Fișierele de configurare separate pot fi incluse folosind directiva „include”.

squid.conf configurare squid.conf include comentarii care descriu ce face fiecare opțiune de configurare.

Înainte de a face orice modificare, este întotdeauna o idee bună să faceți o copie de rezervă a fișierului original:

sudo cp /etc/squid/squid.conf{,.orginal}

Pentru a modifica configurația, deschideți fișierul în editorul de text:

sudo nano /etc/squid/squid.conf

În mod implicit, Squid ascultă portul 3128 pe toate interfețele de rețea.

/etc/squid/squid.conf

# Squid normally listens to port 3128 http_port IP_ADDR:PORT

Rularea Squid pe toate interfețele și pe portul implicit ar trebui să fie bine pentru majoritatea utilizatorilor.

Listele de control de acces (ACL) vă permit să controlați modul în care clienții pot accesa resursele web. În mod implicit, Squid permite accesul numai din localhost.

Dacă toți clienții care vor folosi proxy au o adresă IP statică, cea mai simplă opțiune este crearea unui ACL care să includă IP-urile permise.

În loc să adăugați adrese IP în fișierul principal de configurare, vom crea un nou fișier include, care va stoca adresele IP:

/etc/squid/allowed_ips.txt

192.168.33.1 # All other allowed IPs

Odată terminat, deschideți fișierul principal de configurare și creați un nou ACL numit allowed_ips (prima linie evidențiată) și permiteți accesul la acel ACL folosind directiva http_access (a doua linie evidențiată):

/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

Ordinea regulilor http_access este importantă. Asigurați-vă că adăugați linia înainte ca http_access deny all .

Directiva http_access funcționează în mod similar cu regulile firewall-ului. Squid citește regulile de sus în jos, iar când o regulă se potrivește cu regulile de mai jos nu sunt procesate.

Ori de câte ori faceți modificări la fișierul de configurare, trebuie să reporniți serviciul Squid pentru ca modificările să aibă efect:

sudo systemctl restart squid

Autentificare Squid

Squid poate utiliza diferite versiuni laterale, inclusiv Samba, LDAP și HTTP de bază pentru autentificarea utilizatorilor autentificați.

În acest exemplu, vom configura Squid pentru a utiliza auth-ul de bază. Este o metodă simplă de autentificare încorporată în protocolul

Vom folosi utilitarul openssl pentru a genera parolele și pentru a adăuga username:password de username:password pereche de username:password la /etc/squid/htpasswd cu comanda tee așa cum se arată mai jos:

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

Să creăm un utilizator numit „buster” cu parola „ Sz$Zdg69 ”:

printf "buster:$(openssl passwd -crypt 'Sz$Zdg69')\n" | sudo tee -a /etc/squid/htpasswd

buster:RrvgO7NxY86VM

Următorul pas este activarea autentificării de bază HTTP. Deschideți configurația principală și adăugați următoarele:

/etc/squid/squid.conf

#… auth_param basic program /usr/lib/squid3/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

Primele trei linii evidențiate creează un nou ACL numit authenticated iar ultima linie evidențiată permite accesul utilizatorilor autentificați.

Reporniți serviciul Squid:

sudo systemctl restart squid

Configurarea firewallului

Utilizatorii UFW pot deschide portul 3128 activând profilul „Squid”:

sudo ufw allow 'Squid'

sudo nft add rule inet filter input tcp dport 3128 ct state new, established counter accept Dacă Squid rulează pe un alt port, care nu este implicit, va trebui să permiteți traficul pe acel port.

Configurarea browserului dvs. pentru a utiliza proxy

În această secțiune vă arată bine cum puteți configura browserul pentru a utiliza proxy Squid.

Firefox

Pașii de mai jos sunt identici pentru Windows, macOS și Linux.

  1. În colțul din dreapta sus, faceți clic pe pictograma hamburger pentru a deschide meniul Firefox:

    Faceți clic pe linkul ⚙ Preferences .

    Derulați în jos la secțiunea Network Settings și faceți clic pe butonul Settings…

    Se va deschide o fereastră nouă.

    • Selectați butonul radio de Manual proxy configuration Introduceți adresa IP a serverului dvs. Squid în câmpul HTTP Host și câmpul 3128 în Port Selectați caseta de selectare Use this proxy server for all protocols Faceți clic pe butonul OK pentru a salva setările.

În acest moment, Firefox-ul dvs. este configurat și puteți naviga pe internet prin proxy-ul Squid. Pentru a-l verifica, deschideți google.com , tastați „ce este ip-ul meu” și ar trebui să vedeți adresa IP a serverului dvs. Squid.

Pentru a reveni la setările implicite, mergeți la Network Settings , selectați butonul radio Use system proxy settings și salvați setările.

Există, de asemenea, mai multe pluginuri care vă pot ajuta să configurați setările proxy ale Firefox, cum ar fi FoxyProxy.

Google Chrome

Google Chrome utilizează setările implicite ale proxy-ului sistemului. În loc să schimbați setările proxy ale sistemului de operare, puteți utiliza fie un addon, cum ar fi SwitchyOmega, sau puteți porni browserul Chrome din linia de comandă.

Pentru a lansa Chrome folosind un profil nou și conectați-vă la serverul Squid, utilizați următoarea comandă:

Linux:

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

macOS:

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

Windows:

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

Profilul va fi creat automat dacă nu există. Astfel puteți rula mai multe instanțe Chrome în același timp.

Pentru a confirma că serverul proxy funcționează corect, deschideți google.com și tastați „ce este ip-ul meu”. IP-ul afișat în browserul dvs. ar trebui să fie adresa IP a serverului dvs.

Concluzie

Am acoperit elementele de bază despre instalarea Squid pe Debian 10 și am configurat browserul pentru al utiliza.

Squid este unul dintre cele mai populare servere de memorie în cache proxy. Îmbunătățește viteza serverului web și vă poate ajuta să restricționați accesul utilizatorilor la Internet.

proxy debian