Cum se configurează serverul „Squid Proxy” pe Ubuntu și Debian
Squid este cel mai popular server proxy web HTTP de stocare și redirecționare, care a folosit gama mea largă de companii pentru a stoca în cache paginile web de pe un server web pentru a îmbunătăți viteza serverului web, a reduce timpii de răspuns și a reduce utilizarea lățimii de bandă a rețelei.
Citiți și: Cum să creați un proxy HTTP folosind Squid pe CentOS 7
În acest articol, vom explica cum să instalați un server proxy squid pe distribuțiile Ubuntu și Debian și să îl folosiți ca server proxy HTTP.
Cum se instalează Squid pe Ubuntu
Înainte de a începe, ar trebui să știți că serverul Squid nu are cerințe, dar cantitatea de utilizare a RAM poate diferi în funcție de clienții care navighează pe internet prin serverul proxy.
Pachetul Squid este disponibil pentru a fi instalat din depozitul Ubuntu de bază, dar înainte de aceasta asigurați-vă că actualizați pachetele rulând.
sudo apt update
Odată ce pachetele dvs. sunt actualizate, puteți continua să instalați squid și să îl porniți și să îl activați la pornirea sistemului folosind următoarele comenzi.
sudo apt -y install squid
sudo systemctl start squid
sudo systemctl enable squid
În acest moment, proxy-ul dvs. web Squid ar trebui să ruleze deja și puteți verifica starea serviciului cu ajutorul.
sudo systemctl status squid
Ieșire eșantion
● squid.service - LSB: Squid HTTP Proxy version 3.x
Loaded: loaded (/etc/init.d/squid; generated)
Active: active (running) since Tue 2018-12-04 06:42:43 UTC; 14min ago
Docs: man:systemd-sysv-generator(8)
Tasks: 4 (limit: 1717)
CGroup: /system.slice/squid.service
├─2761 /usr/sbin/squid -YC -f /etc/squid/squid.conf
├─2766 (squid-1) -YC -f /etc/squid/squid.conf
├─2768 (logfile-daemon) /var/log/squid/access.log
└─2772 (pinger)
Dec 04 06:42:43 tecmint systemd[1]: Starting LSB: Squid HTTP Proxy version 3.x...
Dec 04 06:42:43 tecmint squid[2708]: * Starting Squid HTTP Proxy squid
Dec 04 06:42:43 tecmint squid[2708]: ...done.
Dec 04 06:42:43 tecmint systemd[1]: Started LSB: Squid HTTP Proxy version 3.x.
Dec 04 06:42:43 tecmint squid[2761]: Squid Parent: will start 1 kids
Dec 04 06:42:43 tecmint squid[2761]: Squid Parent: (squid-1) process 2766 started
Următoarele sunt câteva locații importante ale fișierelor de calmar de care ar trebui să fiți conștienți:
- Fișier de configurare Squid: /etc/squid/squid.conf
- Jurnal de acces Squid: /var/log/squid/access.log
- Jurnalul Squid Cache: /var/log/squid/cache.log
Fișierul de configurare implicit conține câteva directive de configurare care trebuie configurate pentru a afecta comportamentul Squid.
Acum deschideți acest fișier pentru editare folosind editorul Vi și faceți modificări așa cum se arată mai jos.
sudo vim /etc/squid/squid.conf
Acum, puteți căuta despre următoarele linii și să le modificați după cum este solicitat, în editorul Vi, puteți căuta despre acele linii apăsând „ESC” și tastând „/ ” cheie pentru scrierea liniilor specifice de căutat.
- http_port: acesta este portul implicit pentru serverul proxy HTTP, implicit este 3128, îl puteți schimba în orice alt port dorit, puteți adăuga și Eticheta „transparent” la sfârșitul rândului, cum ar fi http_port 8888 transparent, pentru ca proxy-ul Squid să acționeze ca un proxy transparent dacă doriți.
- http_access deny all: această linie nu va permite nimănui să acceseze serverul proxy HTTP, de aceea trebuie să-l schimbați în http_access permit all pentru a începe să utilizați serverul proxy Squid .
- nume_gazdă_vizibil : Această directivă este folosită pentru a seta numele de gazdă specific unui server squid. Puteți da orice nume de gazdă lui squid.
După efectuarea modificărilor de mai sus, puteți reporni serverul proxy Squid folosind comanda.
sudo systemctl restart squid
Configurarea Squid ca proxy HTTP pe Ubuntu
În această secțiune de configurare squid, vă vom explica cum să configurați squid ca proxy HTTP folosind doar adresa IP a clientului pentru autentificare.
Adăugați ACL-uri Squid
Dacă doriți să permiteți o singură adresă IP să acceseze internetul prin noul dvs. server proxy, va trebui să definiți o nouă acl (listă de control acces) în fișierul de configurare.
sudo vim /etc/squid/squid.conf
Regula acl pe care ar trebui să o adăugați este:
acl localnet src XX.XX.XX.XX
Unde XX.XX.XX.XX
este adresa IP a computerului client. Acest acl ar trebui adăugat la începutul secțiunii ACL, așa cum se arată în următoarea captură de ecran.
Este întotdeauna o practică bună să definiți un comentariu lângă ACL care va descrie cine folosește această adresă IP, de exemplu.
acl localnet src 192.168.0.102 # Boss IP address
Va trebui să reporniți serviciul Squid pentru a intra în vigoare noile modificări.
sudo systemctl restart squid
Deschideți porturi în Squid Proxy
În mod implicit, doar anumite porturi sunt permise în configurația squid, dacă doriți să adăugați mai multe, definiți-le în fișierul de configurare așa cum se arată.
acl Safe_ports port XXX
Unde XXX
este numărul portului pe care doriți să-l permiteți. Din nou, este o practică bună să definiți un comentariu lângă acl care va descrie pentru ce va fi folosit portul.
Pentru ca modificările să aibă efect, va trebui să reporniți squid încă o dată.
sudo systemctl restart squid
Autentificare client Squid Proxy
Pentru a permite utilizatorilor să se autentifice înainte de a utiliza proxy-ul, trebuie să activați autentificarea http de bază în fișierul de configurare, dar înainte de aceasta trebuie să instalați pachetul apache2-utils folosind următoarea comandă.
sudo apt install apache2-utils
Acum creați un fișier numit „passwd” care va stoca ulterior numele de utilizator pentru autentificare. Squid rulează cu utilizatorul „proxy”, așa că fișierul ar trebui să fie deținut de acel utilizator.
sudo touch /etc/squid/passwd
sudo chown proxy: /etc/squid/passwd
ls -l /etc/squid/passwd
Acum vom crea un nou utilizator numit „tecmint” și îi vom configura parola.
sudo htpasswd /etc/squid/passwd tecmint
New password:
Re-type new password:
Adding password for user tecmint
Acum, pentru a activa autentificarea http de bază, deschideți fișierul de configurare.
sudo vim /etc/squid/squid.conf
După porturile ACL-urile adăugați următoarele linii:
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid Basic Authentication
auth_param basic credentialsttl 2 hours
acl auth_users proxy_auth REQUIRED
http_access allow auth_users
Salvați fișierul și reporniți squid, astfel încât noile modificări să aibă efect:
sudo systemctl restart squid
Blocați site-uri web pe Squid Proxy
Pentru a bloca accesul la site-uri web nedorite, creați mai întâi un fișier numit „blacklisted_sites.acl” care va stoca site-urile aflate pe lista neagră în el.
sudo touch /etc/squid/blacklisted_sites.acl
Acum adăugați site-urile web pentru care doriți să blocați accesul, de exemplu.
.badsite1.com
.badsite2.com
Punctul care urmează îl informează pe calmar să blocheze toate referințele la site-urile respective, inclusiv www.badsite1, subsite.badsite1.com etc.
Acum deschideți fișierul de configurare al lui Squid.
sudo vim /etc/squid/squid.conf
Imediat după ACL-urile de mai sus adăugați următoarele două linii:
acl bad_urls dstdomain "/etc/squid/blacklisted_sites.acl"
http_access deny bad_urls
Acum salvați fișierul și reporniți squid:
sudo systemctl restart squid
Blocați cuvântul cheie specific cu Squid
Pentru a bloca o listă de cuvinte cheie, creați mai întâi un fișier numit „blockkeywords.lst” care va stoca cuvintele cheie din lista neagră în el.
sudo touch /etc/squid/blockkeywords.lst
Acum adăugați cuvintele cheie pentru care doriți să blocați accesul, de exemplu.
facebook
instagram
gmail
Acum deschideți fișierul de configurare al lui Squid și adăugați următoarea regulă.
acl blockkeywordlist url_regex "/etc/squid/blockkeywords.lst"
http_access deny blockkeywordlist
Acum salvați fișierul și reporniți squid:
sudo systemctl restart squid
Odată ce totul este configurat cu precizie, acum puteți configura browserul web client local sau setările de rețea ale sistemului de operare pentru a utiliza proxy-ul HTTP squid nou configurat.
Configurați clientul pentru a utiliza Squid Proxy
Acum, pentru a testa dacă serverul dumneavoastră proxy funcționează sau nu, puteți deschide Firefox și accesați Editare –> Preferințe –> Avansat –> Rețea –> Setări și selectați „Configurare manuală a proxy-ului ” și introduceți adresa IP a serverului proxy și portul de utilizat pentru toate conexiunile, după cum urmează.
Odată ce completați toate detaliile proxy necesare, veți putea naviga pe Web folosind serverul proxy Squid, puteți face același lucru în orice alt browser sau program doriți.
Pentru a vă asigura că navigați pe web folosind serverul proxy, puteți vizita http://www.ipaddresslocation.org/, în colțul din dreapta sus trebuie să vedeți aceeași adresă IP ca și serverul dvs. Adresa IP.
Pentru mai multe setări de configurare suplimentare, puteți verifica documentația oficială squid. Dacă aveți întrebări sau comentarii, vă rugăm să le adăugați în secțiunea de comentarii de mai jos.