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.