cum se instalează și se configurează Squid Proxy pe CentOS 7

Squid este un proxy de cache cu funcții complete care acceptă protocoale de rețea populare precum HTTP, HTTPS, FTP și multe altele. Plasarea Squid în fața unui server web poate îmbunătăți considerabil performanța serverului prin memorarea în cache a cererilor repetate, filtrarea traficului web și accesarea conținutului geo-restricționat.

acest tutorial explică cum să configurați Squid pe CentOS 7 și să configurați browserele Web Firefox și Google Chrome pentru a utiliza proxy-ul.

instalarea Squid pe CentOS #

Pachetul Squid este inclus în depozitele implicite CentOS 7. Pentru ao instala, executați următoarea comandă ca utilizator sudo:

sudo yum install squid

odată ce instalarea este finalizată, porniți și activați serviciul Squid:

sudo systemctl start squidsudo systemctl enable squid

pentru a verifica dacă instalarea a avut succes, tastați următoarea comandă care va imprima starea serviciului:

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...

Configurarea Squid #

Squid poate fi configurat prin editarea fișierului /etc/squid/squid.conf. Fișierele suplimentare cu opțiuni de configurare pot fi incluse utilizând directiva „include”.

înainte de a efectua modificări, faceți o copie de rezervă a fișierului de configurare original cu comanda cp:

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

pentru a edita fișierul, deschideți-l în editorul de text:

sudo nano /etc/squid/squid.conf

în mod implicit, Squid este configurat să asculte pe portul 3128 pe toate interfețele de rețea de pe server.

dacă doriți să schimbați portul și să setați o interfață de ascultare, localizați linia care începe cu http_port și specificați adresa IP a interfeței și noul port. Dacă nu este specificată nicio interfață, Squid va asculta pe toate interfețele.

/etc/calmar/calmar.conf
# Squid normally listens to port 3128http_port IP_ADDR:PORT

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

puteți controla accesul la serverul Squid utilizând listele de control al accesului (ACL).

în mod implicit, Squid permite accesul numai de la localhost și localnet.

dacă toți clienții care vor utiliza proxy-ul au o adresă IP statică, puteți crea un ACL care va include IP-urile permise.

în loc să adăugăm adresele IP în fișierul principal de configurare, vom crea un nou fișier dedicat care va conține IP-urile:

/etc/squid/allowed_ips.txt
192.168.33.1# All other allowed IPs

după ce ați 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 localnethttp_access allow localhosthttp_access allow allowed_ips# And finally deny all other access to this proxyhttp_access deny all

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

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

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

sudo systemctl restart squid

calmar autentificare #

calmar pot folosi diferite capete din spate, inclusiv Samba, LDAP și HTTP AUTH de bază pentru utilizatorii autentificați.

în acest exemplu, vom configura Squid pentru a utiliza AUTH de bază. Este o metodă simplă de autentificare încorporată în protocolul HTTP.

vom folosi openssl pentru a genera parolele și vom adăuga perechea username:password la fișierul /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

de exemplu, pentru a crea un utilizator numit „mike” cu parola „Pz$lPk76 ” ați rula:

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

următorul pas este să configurați Squid pentru a activa autentificarea de bază HTTP și pentru a utiliza fișierul.

deschideți configurația principală și adăugați următoarele:

/etc/squid/squid.conf
# ...auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/htpasswdauth_param basic realm proxyacl authenticated proxy_auth REQUIRED# ...http_access allow localnethttp_access allow localhosthttp_access allow authenticated# And finally deny all other access to this proxyhttp_access deny all

cu primele trei linii evidențiate creăm un nou ACL numit authenticated. Ultima linie evidențiată permite accesul utilizatorilor autentificați.

reporniți serviciul Squid:

sudo systemctl restart squid

configurarea firewall-ului #

Dacă executați un Firewall, va trebui să deschideți portul 3128. Pentru a face acest lucru, executați următoarele comenzi:

sudo firewall-cmd --permanent --add-port=3128/tcpfirewall-cmd --reload
dacă Squid rulează pe un alt port non-implicit, va trebui să permiteți traficul pe acel port cu.

configurarea browserului dvs. pentru a utiliza Proxy #

acum că ați configurat Squid, ultimul pas este să configurați browserul preferat pentru a-l utiliza.

Firefox #

pașii de mai jos sunt aceiași pentru Windows, macOS și Linux.

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

  2. Faceți clic pe linkul ⚙ Preferences.

  3. Derulați în jos până la secțiunea Network Settings și faceți clic pe butonul Settings....

  4. se va deschide o fereastră nouă.

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

în acest moment, Firefox-ul dvs. este configurat și puteți naviga pe Internet prin proxy-ul Squid. Pentru a o verifica, deschideți google.com, tastați „ce este ip-ul meu” și ar trebui să vedeți adresa IP a serverului 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 Switchyomegasau porniți browserul web Chrome din linia de comandă.

pentru a lansa Chrome folosind un profil nou și a vă conecta 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"

ferestre :

"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ă. În acest fel puteți rula mai multe instanțe de 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 #

ați învățat cum să instalați squid pe CentOS 7 și să configurați browserul să îl folosească.

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

Leave a Reply

Adresa ta de email nu va fi publicată.