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. Pots instal·lar-lo executant l'ordre següent:
# apt-get install squid -y
Un cop s'hagi instal·lat Squid, inicia el servei Squid i habilita'l perquè s'iniciï en reiniciar el sistema:
# systemctl start squid
# systemctl enable squid
Pots verificar l'estat de Squid amb l'ordre següent:
# systemctl status squid
Hauries 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. Pots verificar-ho 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.conf
Canvia 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 squid
Aví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, per la qual cosa 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.conf
Comenta la línia http_access deny all i afegeix http_access allow all tal com es mostra més avall:
http_access allow all
http_access deny all
Desa i tanca el fitxer i després reinicia el servei Squid per aplicar els canvis:
# systemctl restart squid
Bloqueig 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.
Pots fer-ho 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 backlist1 dstdomain facebook.com
acl backlist2 dstdomain yahoo.com
http_access deny backlist1
http_access deny backlist2
Desa i tanca el fitxer i després reinicia el servei Squid per aplicar els canvis:
# systemctl restart squid
Configura 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 proporciona la IP i el port del teu servidor intermediari; després selecciona 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 en 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 teu 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 teu navegador web. Hauries d'obtenir l'error d'accés denegat tal com es mostra a continuació:
Conclusió
Amb aquest tutorial has après com configurar un servidor intermediari Squid al servidor Debian 10.
També t'hem ensenyat a bloquejar llocs web específics amb el servidor intermediari Squid.
Esperem que seguint aquest tutorial puguis configurar un servidor intermediari Squid a la teva xarxa interna amb èxit.
Si tens cap pregunta, no dubtis a contactar amb nosaltres!