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 squid
sudo 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.
# 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:
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ă):
# ...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:
# ...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/tcp
firewall-cmd --reload
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.
-
î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 până la secțiunea
Network Settings
și faceți clic pe butonulSettings...
. -
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
și3128
în câmpulPort
. - bifați caseta de selectare
Use this proxy server for all protocols
. - Faceți clic pe butonul
OK
pentru a salva setările.
- selectați butonul radio
î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.