Com configurar el servidor Squid Proxy a Ubuntu i Debian
Squid és un servidor intermediari web HTTP d'emmagatzematge i reenviament més popular que va utilitzar la meva àmplia gamma d'empreses per emmagatzemar a la memòria cau pàgines web des d'un servidor web per millorar la velocitat del servidor web, reduir els temps de resposta i reduir l'ús de l'ample de banda de la xarxa.
En aquest article, explicarem com instal·lar un servidor intermediari squid a les distribucions Ubuntu i Debian i utilitzar-lo com a servidor intermediari HTTP.
Com instal·lar Squid a Ubuntu
Abans de començar, heu de saber que el servidor Squid no té cap requisit, però la quantitat d'utilització de la memòria RAM pot variar segons els clients que naveguen per Internet mitjançant el servidor intermediari.
El paquet Squid està disponible per instal·lar-lo des del repositori base d'Ubuntu, però abans assegureu-vos d'actualitzar els vostres paquets executant-lo.
$ sudo apt update
Un cop els vostres paquets estiguin actualitzats, podeu continuar amb la instal·lació de squid i iniciar-lo i activar-lo a l'inici del sistema mitjançant les ordres següents.
$ sudo apt -y install squid $ sudo systemctl start squid $ sudo systemctl enable squid
En aquest moment, el vostre servidor intermediari web Squid ja hauria d'estar en execució i podeu verificar l'estat del servei amb.
$ sudo systemctl status squid
● 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
A continuació es mostren algunes ubicacions importants dels fitxers de calamar que hauríeu de tenir en compte:
- Fitxer de configuració de Squid: /etc/squid/squid.conf
- Registre d'accés a Squid: /var/log/squid/access.log
- Registre de la memòria cau de Squid: /var/log/squid/cache.log
El fitxer de configuració predeterminat conté algunes directives de configuració que s'han de configurar per afectar el comportament del Squid.
Ara obriu aquest fitxer per editar-lo amb l'editor Vi i feu els canvis tal com es mostra a continuació.
$ sudo vim /etc/squid/squid.conf
Ara, podeu cercar les línies següents i canviar-les segons se sol·liciti, a l'editor Vi, podeu cercar aquestes línies prement 'ESC' i escrivint la tecla \/ per escriure l'específic. línies a buscar.
- http_port : aquest és el port predeterminat per al servidor intermediari HTTP, per defecte és 3128, podeu canviar-lo a qualsevol altre port que vulgueu, també podeu afegir el \transparent etiqueta al final de la línia com http_port 8888 transparent per fer que el servidor intermediari Squid actuï com un intermediari transparent si vols.
- http_access deny all : aquesta línia no permetrà que ningú accedeixi al servidor intermediari HTTP, per això cal canviar-lo a http_access permet que tots comencin a utilitzar el servidor intermediari Squid.
- visible_hostname : aquesta directiva s'utilitza per establir el nom d'amfitrió específic a un servidor squid. Podeu donar qualsevol nom d'amfitrió al calamar.
Després de fer els canvis anteriors, podeu reiniciar el servidor intermediari Squid mitjançant l'ordre.
$ sudo systemctl restart squid
Configuració de Squid com a servidor intermediari HTTP a Ubuntu
En aquesta secció de configuració de squid, us explicarem com configurar squid com a servidor intermediari HTTP utilitzant només l'adreça IP del client per a l'autenticació.
Si voleu permetre que només una adreça IP accedeixi a Internet mitjançant el vostre nou servidor intermediari, haureu de definir un nou acl (llista de control d'accés) al fitxer de configuració.
$ sudo vim /etc/squid/squid.conf
La regla acl que hauríeu d'afegir és:
acl localnet src XX.XX.XX.XX
On XX.XX.XX.XX
és l'adreça IP de la màquina client. Aquesta acl s'ha d'afegir al principi de la secció de l'ACL, tal com es mostra a la captura de pantalla següent.
Sempre és una bona pràctica definir un comentari al costat de l'ACL que descrigui qui utilitza aquesta adreça IP, per exemple.
acl localnet src 192.168.0.102 # Boss IP address
Haureu de reiniciar el servei Squid per fer efectius els nous canvis.
$ sudo systemctl restart squid
Per defecte, només es permeten certs ports a la configuració de squid, si en voleu afegir-ne més, definiu-los al fitxer de configuració tal com es mostra.
acl Safe_ports port XXX
On XXX
és el número de port que voleu permetre. De nou, és una bona pràctica definir un comentari al costat d'acl que descrigui per a què s'utilitzarà el port.
Perquè els canvis tinguin efecte, haureu de reiniciar el calamar una vegada més.
$ sudo systemctl restart squid
Per permetre que els usuaris s'autentiquin abans d'utilitzar el servidor intermediari, heu d'habilitar l'autenticació http bàsica al fitxer de configuració, però abans heu d'instal·lar el paquet apache2-utils mitjançant l'ordre següent.
$ sudo apt install apache2-utils
Ara creeu un fitxer anomenat passwd que després emmagatzemarà el nom d'usuari per a l'autenticació. Squid s'executa amb l'usuari \proxy, de manera que el fitxer hauria de ser propietat d'aquest usuari.
$ sudo touch /etc/squid/passwd $ sudo chown proxy: /etc/squid/passwd $ ls -l /etc/squid/passwd
Ara crearem un nou usuari anomenat \tecmint i configurarem la seva contrasenya.
$ sudo htpasswd /etc/squid/passwd tecmint New password: Re-type new password: Adding password for user tecmint
Ara, per habilitar l'autenticació http bàsica, obriu el fitxer de configuració.
$ sudo vim /etc/squid/squid.conf
Després de les ACL dels ports, afegiu les línies següents:
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
Deseu el fitxer i reinicieu squid perquè els nous canvis tinguin efecte:
$ sudo systemctl restart squid
Per bloquejar l'accés a llocs web no desitjats, primer creeu un fitxer anomenat blacklisted_sites.acl que emmagatzemarà els llocs de la llista negra.
$ sudo touch /etc/squid/blacklisted_sites.acl
Ara afegiu els llocs web als quals voleu bloquejar l'accés, per exemple.
.badsite1.com .badsite2.com
El punt de procedència informa a Squid que bloqueja totes les referències a aquests llocs, inclosos www.badsite1, subsite.badsite1.com, etc.
Ara obriu el fitxer de configuració de Squid.
$ sudo vim /etc/squid/squid.conf
Just després de les ACL anteriors, afegiu les dues línies següents:
acl bad_urls dstdomain "/etc/squid/blacklisted_sites.acl" http_access deny bad_urls
Ara deseu el fitxer i reinicieu squid:
$ sudo systemctl restart squid
Per bloquejar una llista de paraules clau, primer creeu un fitxer anomenat blockkeywords.lst que emmagatzemarà les paraules clau de la llista negra.
$ sudo touch /etc/squid/blockkeywords.lst
Ara afegiu les paraules clau a les quals voleu bloquejar l'accés, per exemple.
facebook instagram gmail
Ara obriu el fitxer de configuració de Squid i afegiu la regla següent.
acl blockkeywordlist url_regex "/etc/squid/blockkeywords.lst" http_access deny blockkeywordlist
Ara deseu el fitxer i reinicieu squid:
$ sudo systemctl restart squid
Un cop tot estigui configurat amb precisió, ara podeu configurar el navegador web del vostre client local o la configuració de xarxa del sistema operatiu per utilitzar el vostre servidor intermediari HTTP de calamar recentment configurat.
Configura el client per utilitzar Squid Proxy
Ara, per comprovar que el vostre servidor intermediari funciona o no, podeu obrir Firefox i anar a Edita –> Preferències –> Avançat –> Xarxa –> Configuració i seleccioneu \Configuració manual del servidor intermediari i introduïu l'adreça IP i el port del vostre servidor intermediari a s'utilitzarà per a totes les connexions tal com es mostra a continuació.
Un cop hàgiu omplert tots els detalls del proxy requerits, podreu navegar per la web mitjançant el vostre servidor proxy Squid, podeu fer el mateix en qualsevol altre navegador o programa que vulgueu.
Per assegurar-vos que esteu navegant per la web amb el vostre servidor intermediari, podeu visitar http://www.ipaddresslocation.org/, a l'extrem superior dret heu de veure la mateixa adreça IP que l'adreça IP del vostre servidor.
Per obtenir més opcions de configuració addicionals, podeu consultar la documentació oficial de squid. Si teniu cap pregunta o comentari, afegiu-los a la secció de comentaris a continuació.