Squid és un servidor intermediari web d'emmagatzematge en memòria cau i reenviament per a sistemes operatius basats en Linux.
És compatible amb els protocols HTTP, HTTPS i FTP i s'utilitza per millorar el rendiment del servidor web emmagatzemant en memòria cau les sol·licituds repetides. També s'utilitza per controlar l'accés a Internet i protegir la teva xarxa del trànsit desconegut.
Generalment, es col·loca un servidor intermediari entre el client i Internet. Totes les sol·licituds de la màquina client s'encaminen a través d'un servidor intermediari.
Característiques
Squid té les característiques principals següents:
- Accelera el rendiment del servidor web.
- Comparteix la connexió a Internet a la xarxa local.
- Filtra el trànsit d'Internet segons les regles.
- Oculta la teva adreça IP real.
En aquest tutorial et mostrarem com configurar un servidor intermediari amb Squid a Debian 10.
Requisits
Per seguir aquest tutorial, necessitaràs:
- Un sistema que executi Debian 10.
- Un sistema d'escriptori amb Firefox instal·lat.
D'acord, comencem!
Instal·la Squid Proxy
Per defecte, el paquet Squid s'inclou al repositori predeterminat de Debian 10. El pots instal·lar executant l'ordre següent:
# apt install squid -yUn cop instal·lat Squid, inicia el servei Squid i habilita'l perquè s'iniciï quan es reiniciï el sistema:
# systemctl start squid
# systemctl enable squidPots comprovar l'estat de Squid amb l'ordre següent:
# systemctl status squidHauries d'obtenir el resultat següent:
● squid.service - Squid Web Proxy Server
Loaded: loaded (/lib/systemd/system/squid.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2021-01-20 05:05:54 UTC; 40s ago
Docs: man:squid(8)
Main PID: 1343 (squid)
Tasks: 4 (limit: 2359)
Memory: 16.1M
CGroup: /system.slice/squid.service
├─1343 /usr/sbin/squid -sYC
├─1345 (squid-1) --kid squid-1 -sYC
├─1346 (logfile-daemon) /var/log/squid/access.log
└─1362 (pinger)
Jan 20 05:05:54 debian10 squid[1345]: Using Least Load store dir selection
Jan 20 05:05:54 debian10 squid[1345]: Set Current Directory to /var/spool/squid
Jan 20 05:05:54 debian10 squid[1345]: Finished loading MIME types and icons.
Jan 20 05:05:54 debian10 systemd[1]: /lib/systemd/system/squid.service:7: PIDFile= references path below legacy directory /var/run/, updating /
Jan 20 05:05:54 debian10 squid[1345]: HTCP Disabled.
Jan 20 05:05:54 debian10 squid[1345]: Pinger socket opened on FD 14
Jan 20 05:05:54 debian10 squid[1345]: Squid plugin modules loaded: 0
Jan 20 05:05:54 debian10 squid[1345]: Adaptation support is off.
Jan 20 05:05:54 debian10 squid[1345]: Accepting HTTP Socket connections at local=[::]:3128 remote=[::] FD 12 flags=9
Jan 20 05:05:55 debian10 squid[1345]: storeLateRelease: released 0 objects
Canvia el port per defecte de Squid
Per defecte, Squid escolta al port 3128. Ho pots comprovar amb l'ordre següent:
# ss -antpl | grep 3128 Hauries de veure el resultat següent; si no apareix, és molt probable que sigui perquè tens el port tancat al tallafoc:
LISTEN 0 128 *:3128 *:* users: ("squid",pid=1345,fd=12))
Pots canviar el port per defecte de Squid editant el fitxer /etc/squid/squid.conf.
# nano /etc/squid/squid.confCanvia la línia següent amb el port desitjat:
http_port 3128
Desa i tanca el fitxer i després reinicia el servei de Squid per aplicar els canvis:
# systemctl restart squidAvís
Recorda que has d'obrir el port 3128 al tallafoc del servidor.
Configura Squid per permetre tot el trànsit
Per defecte, el servidor intermediari de Squid rebutja tot el trànsit entrant, de manera que hauràs de permetre tot el trànsit al servidor intermediari.
Per fer-ho, has d'editar el fitxer de configuració principal de Squid:
# nano /etc/squid/squid.confComenta la línia http_access deny all i afegeix http_access allow all com es mostra més avall:
http_access allow all
http_access deny allDesa i tanca el fitxer i després reinicia el servei Squid per aplicar els canvis:
# systemctl restart squidBloqueig d'alguns llocs web
Si utilitzes el servidor intermediari Squid a la teva xarxa interna per compartir Internet, és una bona idea bloquejar alguns llocs web.
Ho pots fer editant el fitxer de configuració principal de Squid:
nano /etc/squid/squid.conf
Afegeix la línia següent just a sobre de "permetre totes les regles" per bloquejar els llocs web facebook.com i yahoo.com:
acl blacklist1 dstdomain facebook.com
acl blacklist2dstdomain yahoo.com
http_access deny blacklist1
http_access deny blacklist2Desa i tanca el fitxer i després reinicia el servei Squid per aplicar els canvis:
# systemctl restart squidConfigura el navegador del client per utilitzar un servidor intermediari
A continuació, hauràs de configurar el navegador web Firefox a cada PC client per utilitzar el servidor intermediari Squid.
Segueix els passos següents per configurar el servidor intermediari al navegador web Firefox:
Pas 1: obre el navegador web Firefox. A la cantonada superior dreta, fes clic a la icona "hamburguesa" => Preferencias. Hauries de veure la pantalla següent:
Pas 2: desplaça't cap avall fins a la secció "Configuración de red" i fes clic a "Configuración". Hauries de veure la pantalla següent:
Pas 3: selecciona "Configuración manual del proxy" i indica la IP i el port del teu servidor intermediari; després, marca la casella de selecció "Usar este servidor proxy para todos los protocolos" i fes clic al botó "OK" per desar la configuració.
Fes els passos anteriors a tots els navegadors del client.
Prova el servidor intermediari de Squid
En aquest punt, el teu navegador web està configurat per utilitzar el servidor intermediari Squid.
Ara obre el navegador web i accedeix a l'URL https://whatismyipaddress.com/. Hauries de veure l'adreça IP del teu servidor intermediari a la pantalla següent:
Ara intenta accedir a http://facebook.com i http://yahoo.com/ al navegador web. Hauries d'obtenir l'error d'accés denegat com es mostra a continuació:
Recorda que, si tens consultes sobre aquesta qüestió o qualsevol altra relacionada amb els teus servidors a Clouding, no dubtis a escriure a soporte@clouding.io Som al teu costat per al que necessitis, consulta'ns!