Cómo configurar & quot; Proxy de calamar & quot; Servidor en Ubuntu y Debian
Squid es uno de los servidores proxy web HTTP más populares de almacenamiento en caché y reenvío que utiliza mi amplia gama de compañías para almacenar en caché páginas web de un servidor web para mejorar la velocidad del servidor web, reducir los tiempos de respuesta y reducir el uso del ancho de banda de la red.
En este artículo, explicaremos cómo instalar un servidor proxy de calamar en las distribuciones Ubuntu y Debian y usarlo como un servidor proxy HTTP.
Cómo instalar Squid en Ubuntu
Antes de comenzar, debe saber que el servidor Squid no tiene ningún requisito, pero la cantidad de utilización de RAM puede diferir según los clientes que navegan por Internet a través del servidor proxy.
El paquete Squid está disponible para instalar desde el repositorio básico de Ubuntu, pero antes de eso, asegúrese de actualizar sus paquetes ejecutando
$ sudo apt update
Una vez que sus paquetes estén actualizados, puede continuar instalando squid y comenzar y habilitarlo en el inicio del sistema usando los siguientes comandos.
$ sudo apt -y install squid $ sudo systemctl start squid $ sudo systemctl enable squid
En este punto, su proxy web de Squid ya debería estar ejecutándose y puede verificar el estado del servicio con.
$ 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ón se encuentran algunas ubicaciones importantes de archivos de calamar que debe tener en cuenta:
- Squid configuration file: /etc/squid/squid.conf
- Squid Access log: /var/log/squid/access.log
- Squid Cache log: /var/log/squid/cache.log
El archivo de configuración predeterminado contiene algunas directivas de configuración que deben configurarse para afectar el comportamiento de Squid.
Ahora abra este archivo para editarlo con el editor Vi y haga los cambios como se muestra a continuación.
$ sudo vim /etc/squid/squid.conf
Ahora, puede buscar sobre las siguientes líneas y cambiarlas según lo solicitado. En el editor de Vi, puede buscar sobre esas líneas presionando 'ESC' y escribiendo "/ ”Clave para escribir las líneas específicas a buscar.
- http_port : This is the default port for the HTTP proxy server, by default it is 3128, you may change it to any other port that you want, you may also add the “transparent” tag to the end of the line like http_port 8888 transparent to make Squid proxy act like a transparent proxy if you want.
- http_access deny all : This line won’t let anybody to access the HTTP proxy server, that’s why you need to change it to http_access allow all to start using your Squid proxy server.
- visible_hostname : This directive is used to set the specific hostname to a squid server. You can give any hostname to squid.
Después de realizar los cambios anteriores, puede reiniciar el servidor proxy de Squid usando el comando.
$ sudo systemctl restart squid
Configurando Squid como un Proxy HTTP en Ubuntu
En esta sección de configuración de squid, le explicaremos cómo configurar squid como un proxy HTTP utilizando solo la dirección IP del cliente para la autenticación.
Si desea permitir que solo una dirección IP acceda a Internet a través de su nuevo servidor proxy, deberá definir la nueva acl ( lista de control de acceso ) en el archivo de configuración.
$ sudo vim /etc/squid/squid.conf
La regla acl que debe agregar es:
acl localnet src XX.XX.XX.XX
Donde XX.XX.XX.XX
es la dirección IP de la máquina cliente. Esta acl debe agregarse al principio de la sección de ACL como se muestra en la siguiente captura de pantalla.

Siempre es una buena práctica definir un comentario junto a ACL que describa quién usa esta dirección IP, por ejemplo.
acl localnet src 192.168.0.102 # Boss IP address
Tendrá que reiniciar el servicio de Squid para que los nuevos cambios surtan efecto.
$ sudo systemctl restart squid
Por defecto, solo se permiten ciertos puertos en la configuración de squid, si desea agregar más, simplemente defínalos en el archivo de configuración como se muestra.
acl Safe_ports port XXX
Donde XXX
es el número de puerto que desea permitir. Una vez más, es un buen término para definir un comentario junto a acl que describa para qué se usará el puerto.

Para que los cambios surtan efecto, deberá reiniciar el calamar una vez más.
$ sudo systemctl restart squid
Para permitir que los usuarios se autentiquen antes de usar el proxy, debe habilitar la autenticación http básica en el archivo de configuración, pero antes debe instalar el paquete apache2-utils usando el siguiente comando.
$ sudo apt install apache2-utils
Ahora cree un archivo llamado "contraseña" que luego almacenará el nombre de usuario para la autenticación. Squid se ejecuta con el usuario "proxy" , por lo que el archivo debe ser propiedad de ese usuario.
$ sudo touch /etc/squid/passwd $ sudo chown proxy: /etc/squid/passwd $ ls -l /etc/squid/passwd
Ahora crearemos un nuevo usuario llamado "tecmint" y configuraremos su contraseña.
$ sudo htpasswd /etc/squid/passwd tecmint New password: Re-type new password: Adding password for user tecmint
Ahora para habilitar la autenticación http básica abra el archivo de configuración.
$ sudo vim /etc/squid/squid.conf
Después de los puertos, las ACL agregan las siguientes líneas:
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

Guarde el archivo y reinicie squid para que los nuevos cambios surtan efecto:
$ sudo systemctl restart squid
Para bloquear el acceso a sitios web no deseados, primero cree un archivo llamado " blacklisted_sites.acl " que almacenará los sitios en la lista negra que contiene.
$ sudo touch /etc/squid/blacklisted_sites.acl
Ahora agregue los sitios web a los que desea bloquear el acceso, por ejemplo.
.badsite1.com .badsite2.com
El punto que se está tramitando informa a Squid para que bloquee todas las referencias a esos sitios, incluidos www.badsite1 , subsite.badsite1.com etc.
Ahora abre el archivo de configuración de Squid.
$ sudo vim /etc/squid/squid.conf
Justo después de las ACL anteriores, agregue las siguientes dos líneas:
acl bad_urls dstdomain "/etc/squid/blacklisted_sites.acl" http_access deny bad_urls

Ahora guarda el archivo y reinicia el calamar:
$ sudo systemctl restart squid
Para bloquear una lista de palabras clave, primero cree un archivo llamado " blockkeywords.lst " que almacenará las palabras clave en su lista negra.
$ sudo touch /etc/squid/blockkeywords.lst
Ahora agregue las palabras clave a las que desea bloquear el acceso, por ejemplo.
facebook instagram gmail
Ahora abre el archivo de configuración de Squid y agrega la siguiente regla.
acl blockkeywordlist url_regex "/etc/squid/blockkeywords.lst" http_access deny blockkeywordlist
Ahora guarda el archivo y reinicia el calamar:
$ sudo systemctl restart squid
Una vez que todo está configurado con precisión, ahora puede configurar el navegador web del cliente local o la configuración de red del sistema operativo para usar su proxy HTTP de Squid recién configurado.
Configurar el cliente para usar Squid Proxy
Ahora para probar que su servidor proxy funciona o no, puede abrir Firefox y dirigirse a Editar - & gt; Preferencias - & gt; Avanzado - & gt; Red - & gt; Haga clic en Configuración y seleccione " Configuración manual de proxy " e ingrese la dirección IP y el puerto de su servidor proxy para utilizarlos en todas las conexiones de la siguiente manera.

Una vez que complete todos los detalles de proxy necesarios, podrá navegar por la Web utilizando su servidor proxy Squid, puede hacer lo mismo en cualquier otro navegador o programa que desee.
Para asegurarse de que está navegando por la web usando su servidor proxy, puede visitar http://www.ipaddresslocation.org/ , en la esquina superior derecha, debe ver la misma dirección IP que su servidor Dirección IP.
Para obtener más ajustes de configuración adicionales, puedes consultar la documentación oficial de squid. Si tiene alguna pregunta o comentario, agréguelos en la sección de comentarios a continuación.