GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo configurar Squid Proxy Server en Ubuntu 20.04 LTS

En nuestra publicación anterior Cómo instalar Squid Proxy Server en Linux, le proporcionamos la introducción básica del servidor Squid y su instalación en el sistema Linux. En esta publicación, haremos un seguimiento para configurar el servidor proxy Squid. Cubriremos los siguientes temas:

  1. Configurar Squid para escuchar en un puerto diferente
  2. Configuración del nombre de host para el servidor proxy Squid
  3. Configurar el tamaño de la memoria caché de Squid
  4. Especificación de servidores de nombres DNS para usar
  5. Denegar el acceso a ciertos sitios web en el servidor proxy Squid
  6. Configurar la autenticación del cliente Squid Proxy
  7. Configuración de clientes para conectarse a través del servidor proxy Squid

Nota: Los comandos y procedimientos discutidos en este artículo han sido probados en Ubuntu 20.04 LTS (fosa focal). Los mismos comandos y procedimientos también son válidos para la distribución de Debian.

Requisitos

  • Máquina con Ubuntu o Debian instalado
  • Usuario de Sudo

Configuración de Squid Proxy Server en Linux

El archivo de configuración del servidor proxy Squid se encuentra en /etc/squid/squid.conf .lista. Este archivo contiene directivas a través de las cuales se configura el servidor proxy Squid.

Configurar Squid para escuchar en un puerto diferente

De manera predeterminada, el servidor proxy Squid escucha en el puerto 3128 el tráfico proveniente de las máquinas cliente. Sin embargo, puede configurarlo para escuchar en un puerto diferente al puerto predeterminado usando http_port directiva.

Edite la configuración de squid usando el siguiente comando:

$ sudo nano /etc/squid/squid.conf

Ahora busque la siguiente entrada en el archivo de configuración.

Nota: Puedes usar Ctrl+W para buscar cualquier línea. Presione Ctrl+W, escriba palabras clave y presione Entrar.

http_port 3128

Ahora reemplaza 3128 con el número de puerto que desea que escuche el servidor proxy Squid, digamos 3155 :

http_port 3155

Ahora, reinicie el servicio del servidor proxy squid para que los cambios surtan efecto:

$ sudo service squid restart

Configuración del nombre de host para el servidor proxy Squid

Puede configurar el nombre de host para el servidor proxy Squid si no puede determinar el nombre de host de la máquina por sí solo. Para configurar el nombre de host, puede usar el visible_hostname directiva. Squid utiliza este nombre en mensajes de error, URL internas, listados de directorios FTP, etc.

Edite la configuración de squid usando el siguiente comando:

$ sudo nano /etc/squid/squid.conf

Ahora agregue la siguiente entrada en el archivo de configuración reemplazando con cualquier nombre que desee establecer como nombre de host para el servidor proxy Squid. No es necesario utilizar el nombre de host real de su sistema.

visible_hostname <host_name>

Por ejemplo, para configurar “linuxways ” como el nombre de host del servidor proxy Squid, la entrada sería:

visible_hostname linuxways 

Una vez que haya terminado con las configuraciones, guarde y salga del archivo de configuración.

Ahora, reinicie el servicio de proxy Squid para que los cambios de configuración surtan efecto.

$ sudo service squid restart

En caso de que el cliente de Squid reciba una página de error, verá el nombre de host en la parte inferior de la página web.

Configurar el tamaño de la memoria caché de Squid

Squid almacena en caché el contenido visitado con frecuencia en la memoria. El tamaño predeterminado de la memoria caché de Squid es de 256 MB. Para cambiar el tamaño de la memoria caché de Squid, cache_mem se utiliza la directiva.

Edite el archivo de configuración usando el siguiente comando:

$ sudo nano /etc/squid/squid.conf

Luego busque la siguiente entrada en el archivo de configuración y reemplace 256 por la cantidad a establecer para el tamaño de la memoria caché.

cache_mem 256 MB

Por ejemplo, para establecer el tamaño de caché en 512 MB, la entrada se cambiaría a:

cache_mem 512 MB

Una vez que haya terminado con las configuraciones, guarde y salga del archivo de configuración.

Ahora, reinicie el servicio squid para aplicar los cambios:

$ sudo service squid restart

Especificación de servidores de nombres DNS para usar

Por defecto, Squid usa /etc/resolv.conf para resolver nombres de dominio. Si desea que Squid use un servidor de nombres diferente, puede hacerlo usando dns_nameservers directiva. Edite la configuración de squid usando el siguiente comando:

$ sudo nano /etc/squid/squid.conf

Ahora agregue la siguiente entrada en el archivo de configuración reemplazando:

dns_nameservers <IP address of DNS server>

Por ejemplo, para configurar 8.8.4.4 como servidores de nombres, la entrada sería:

dns_nameservers 8.8.8.8 8.8.4.4

Una vez que haya terminado con las configuraciones, guarde y salga del archivo.

Ahora, reinicie el servicio squid para aplicar los cambios:

$ sudo service squid restart

Controlar el acceso al servidor proxy

Cómo funciona Squid ACL

Para el control de acceso, las ACL se utilizan en combinación con la directiva de control de acceso. ACL solo no sirve, solo ayudan a identificar las solicitudes de los usuarios según varias reglas. Para permitir o denegar el acceso, se combinan con el http_access directiva.

Para definir ACL, la sintaxis es:

acl NAME TYPE value

Ejemplo: Permitir tráfico LAN a través del servidor proxy Squid

Para hacer coincidir el tráfico procedente de LAN 192.168.5.0/24 , necesitaremos crear una regla ACL en el archivo de configuración de Squid:

acl myacl src 192.168.5.0/24

Una vez que se define la ACL, puede usar el http_access directiva para permitir/denegar el acceso. Esta es la sintaxis para http_access directiva:

http_access allow|deny NAME

Donde NOMBRE identifica el tráfico al que desea permitir/denegar el acceso.

Para permitir el tráfico identificado en la ACL, deberá agregar el siguiente http_access directiva en el archivo de configuración de Squid:

http_access allow myacl

Configuración de fuentes proxy para acceder a Internet

En primer lugar, configuraremos las fuentes a las que queremos permitir el acceso a Internet a través del servidor proxy. Por ejemplo, es posible que desee permitir el acceso al servidor proxy solo desde la red interna.

1. Para configurar las fuentes permitidas, edite el archivo de configuración de squid:

$ sudo nano /etc/squid/squid.conf

2. Ahora, busque la entrada acl localnet src .

Nota: Para buscar una entrada en el editor Nano, presione Ctrl+w y escriba la expresión que desea buscar. En el caso del ejemplo anterior, presione Ctr+w y escriba acl localnet src como se muestra en la siguiente captura de pantalla.

3. Aquí verá la cantidad de entradas para diferentes rangos de direcciones IP. Aquí, agregue una entrada para su red de la siguiente manera:

acl localnet src subnet_ID/subnet_mask

Por ejemplo, su red local se ejecuta en 192.168.72.0/24 subred. En este caso, la entrada sería:

acl localnet src 192.168.72.0/255.255.255.0

4. Ahora usando el http_access directiva, permita las fuentes identificadas por la acl denominada localnet definido anteriormente. La directiva http_access ya está definida en la configurada, solo necesitas encontrarla y descomentarla.

Busque la entrada #http_access allow localnet y luego descoméntelo eliminando el # personaje.

http_access allow localnet

Ahora guarde y salga del archivo de configuración de squid.

3. Ahora, reinicie el servicio squid usando el siguiente comando:

$ sudo service squid restart

Denegar el acceso a ciertos sitios web en el servidor proxy Squid

Para denegar el acceso a algunos sitios web en el servidor proxy Squid, cree un archivo y enumere todos los sitios web a los que desea denegar el acceso.

$ sudo nano /etc/squid/deniedsites.acl

Ahora enumere los sitios a los que desea denegar el acceso y luego guarde y salga del archivo.

.msn.com

.yahoo.com

.bbc.com

Luego edite el archivo de configuración de squid usando el siguiente comando:

$ sudo nano /etc/squid/squid.conf

Ahora cree una regla de ACL para los sitios web denegados y mencione el archivo que contiene la lista de sitios web denegados.

acl denied_sites dstdomain “/etc/squid/deniedsites.acl”

La regla ACL denegados_sitios coincidirá con todas las solicitudes destinadas a los sitios web enumerados en "/etc/squid/deniedsites.acl ” archivo.

Ahora deberá agregar el http_access directiva para denegar los sitios web identificados por la regla de ACL anterior llamada denieed_sites . Agregue la siguiente línea en el archivo de configuración de Squid:

http_access deny denied_sites

Una vez que haya terminado con las configuraciones, guarde y salga del archivo.

Ahora, reinicie el servicio de squid usando el siguiente comando:

$ sudo service squid restart

Configuración de la autenticación del cliente Squid Proxy

Con el servidor proxy Squid, podemos agregar autenticación básica basada en el usuario para mayor seguridad. Para ello, utilizaremos el htpasswd programa que viene con el servidor Apache HTTP. Luego crearemos un archivo que contendrá nombres de usuario y contraseñas para la autenticación.

1. Primero, tendremos que instalar Apache2-utils. Use el siguiente comando para hacerlo:

$ apt install -y apache2-utils

2. Ahora cree el archivo passwd en /etc/squid directorio para almacenar contraseñas:

$ touch /etc/squid/passwd

3. Utilice el siguiente comando para establecer la propiedad del usuario "proxy":

$ chown proxy: /etc/squid/passwd

4. Ahora agregue un usuario en /etc/squid/passwd archivo:

htpasswd /etc/squid/passwd tin

Escriba una contraseña y luego confírmela volviendo a ingresarla. Ahora el usuario y su contraseña cifrada se guardarán en /etc/squid/passwd archivo.

5. Edite el /etc/squid/squid.conf archivo usando el siguiente comando:

$ sudo nano /etc/squid/squid.conf

Ahora agregue las siguientes líneas en el archivo:

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwdauth_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

Once you are done with the configurations, save and exit the configuration file.

Configuración de clientes para conectarse a través del servidor proxy Squid

En esta sección, configuraremos los clientes para que se conecten a través del servidor proxy Squid.

1. Abra un navegador web en su sistema. Aquí usaremos el Firefox navegador.

2. Vaya a la esquina superior derecha de su navegador y haga clic en el icono de tres barras horizontales. Luego haz clic en Opciones .

3. Luego, en la barra de búsqueda, escriba red . Cuando aparezca el resultado de la búsqueda, haz clic en Configuración. como se puede ver en la siguiente captura de pantalla.

4. Seleccione la Configuración de proxy manual botón de opción Luego escriba la dirección IP del servidor proxy Squid en el Proxy HTTP campo y número de puerto en el Puerto campo. Además, marque Usar también este proxy para FTP y HTTPS caja. Luego haga clic en Aceptar .

Ahora, para verificar si el servidor Squid está funcionando, intente acceder a cualquier sitio web en su navegador. Verá un cuadro de diálogo de autenticación. Introduzca el nombre de usuario y la contraseña de squid que ha creado anteriormente y haga clic en Aceptar .

Ahora debería poder acceder al sitio web solicitado.

Ahora intenta acceder a otro sitio web que hayas bloqueado usando la lista de acceso. El navegador mostrará la siguiente página que dice "El servidor proxy está rechazando las conexiones".

¡Eso es todo! En este artículo, ha aprendido a configurar el servidor proxy Squid en un sistema Linux. Acabamos de discutir las configuraciones básicas. Hay mucho más que puede hacer con el servidor proxy Squid. Visite la documentación oficial para obtener más información.


Ubuntu
  1. Cómo configurar e instalar Squid Proxy Server en Ubuntu 18.04

  2. Cómo instalar y configurar Squid Proxy en Ubuntu 18.04

  3. Cómo instalar y configurar Squid Proxy en Ubuntu 20.04

  4. Cómo instalar el servidor proxy Squid en Ubuntu 18.04 LTS

  5. Cómo instalar Squid Proxy en Ubuntu 20.04 LTS

Cómo configurar un servidor y cliente NTP en Ubuntu 20.04 LTS

Cómo actualizar a Ubuntu Server 22.04 LTS

Instale Squid Proxy Server en Ubuntu 20.04 LTS Linux

Cómo instalar y configurar el servidor web Lighttpd en Ubuntu 20.04 LTS

Cómo instalar y configurar el servidor DNS en Ubuntu 16.04 LTS

Cómo instalar el servidor proxy Squid en Ubuntu 18.04