El
Puedes descargar este artículo en formato PDF para apoyarnos a través del siguiente enlace.
Descarga la guía en formato PDF
apagar
El
El
El
Squid es un servidor proxy y de caché. Actúa como un proxy reenviando la solicitud al destino deseado y también puede guardar el contenido de la solicitud. Si otro servidor solicita la misma información antes de que caduque el servidor squid, proporcionará el mismo contenido al solicitante, por lo que puede aumentar la velocidad de descarga y ahorrar ancho de banda.
El servidor proxy Squid admite el almacenamiento en caché del contenido solicitado a través de diferentes protocolos (como http, solicitudes SSL, búsqueda de DNS y FTP). Esta guía explica cómo instalar y configurar el agente Squid en Ubuntu 20.04
Servidor proxy Squid en Ubuntu 20.04
Primero, actualice el paquete de software del sistema. Tenga en cuenta que para todos los comandos, los ejecutaré como root
sudo apt-get update
sudo apt-get upgrade
A continuación, instale el agente Squid en Ubuntu 20.04. Es fácil instalar el agente Squid en Ubuntu 20.04 porque ya está disponible en el repositorio de Ubuntu 20. Confirme con el siguiente comando.
sudo apt-cache policy squid
Producción
Para instalar el agente Squid, ejecute el siguiente comando. También habilite para iniciar el arranque del sistema y verificar el estado.
sudo apt-get install -y squid
sudo systemctl start squid
sudo systemctl enable squid
sudo systemctl status squid
Si Squid está instalado y ejecutándose correctamente, debería mostrar el siguiente resultado:
Configurar el servidor proxy Squid en Ubuntu 20.04
El archivo de configuración del proxy Squid predeterminado se encuentra en /etc/squid/squid.conf. El archivo ya tiene muchas configuraciones, que al menos funcionan, pero podemos modificarlo para adaptarlo a nuestras preferencias. Primero, cree una copia de seguridad del archivo original.
sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.orig
Ahora, realice configuraciones personalizadas en /etc/squid/squid.conf. Abra el archivo con su editor de archivos favorito
sudo vim /etc/squid/squid.conf
1. Cambiar el puerto predeterminado de Squid
El puerto tcp predeterminado de Squid es 3128. Para cambiar este puerto, abra el archivo squid.conf y busque la línea http_port. Cambie al número de puerto deseado y guarde el archivo.
#http_port 3128
http_port 8080
Asegúrese de que el puerto esté permitido a través del firewall
sudo ufw allow 8080/tcp
sudo ufw enable
2. Establecer el tamaño de caché de Squid
Para configurar el caché requerido, utilice la siguiente configuración. En mi caso estoy usando 256 MB.
cache_mem 256 MB
3. Especifique el servidor de nombres DNS a utilizar
Para definir su propio servidor DNS, utilice el comando que se muestra a continuación
dns_nameservers 8.8.8.8 8.8.4.4
4. Calamar ACL y http_access
Ahora, edite squid.conf para agregar las reglas que elija. El servidor proxy puede seleccionar el servidor para pasar. Podemos permitir el acceso desde una red/dirección IP específica y denegar otras. También se puede utilizar para filtrar el tráfico restringiendo el acceso a determinados sitios o bloqueando contenido en función de determinadas palabras clave. Esto se logra mediante el uso de ACL (listas de control de acceso), que definen lo que está permitido y denegado. Http_access define el permiso o la denegación basados en ACL.
Cómo definir ACL para el servidor proxy Squid
ACL (Lista de control de acceso) es una declaración que define qué contenido puede pasar a través del servidor proxy y qué contenido está denegado. Cada declaración debe comenzar conLCALuego viene el nombre de la regla. Después del nombretipo de acclFinalmenteargumentoOarchivo.Cuando se utilizan archivos, cada línea del archivo solo puede contener un elemento.
acl aclname acltype argument..
acl aclname acltpe ?file??
Las reglas de ACL definidas de forma predeterminada son las siguientes. Puede optar por desactivar agregando # al principio de cada línea. Para crear una nueva regla, siga el siguiente ejemplo:
Ejemplo 1: permitir la red LAN a través del servidor proxy Squid
Crear reglas ACL
acl my_lan src 192.168.100.0/24
Ahora, de acuerdo con las reglas definidas, use los siguientes comandos para permitir o denegarhttp_accesoInstrucciones. En lo que a nosotros respecta, debemos permitir
http_access allow my_lan
Tenga en cuenta que cada vez que se crea una regla de acceso ACL, la última regla debe serRechazar todo. Después de permitir todos los sitios necesarios, debe hacer esto; de lo contrario, puede impedir el acceso a algunos de los sitios necesarios.
http_access deny all
Cómo denegar el acceso a sitios web específicos en el servidor proxy Squid
Cuando se trata de varios sitios web, sería más fácil y organizado colocar todos los sitios en un archivo y llamarlo; de lo contrario, enumerará las referencias en las reglas de ACL. En nuestro ejemplo, crearé un archivo llamado dennedsites.squid en el directorio de squid.
sudo vim /etc/squid/deniedsites.squid
Agregue el sitio al que desea denegar el acceso. En mi caso estoy usando facebook y youtube. Guarde el archivo después.
.facebook.com
.youtube.com
Ahora abra squid.conf y cree reglas ACL para los sitios rechazados, agregue una regla de rechazo y guarde el archivo.
acl deniedsites dstdomain ?/etc/squid/deniedsites.squid?
http_access deny deniedsites
Si desea enumerar sitios en reglas ACL:
acl deniedsites dstdomain facebook.com youtubecom
http_access deny deniedsites
Tenga en cuenta que cada vez que realice un cambio, deberá reiniciar el servidor Squid.
systemctl restart squid
Cómo bloquear el tráfico basado en ciertas palabras clave en el servidor proxy Squid
Cree un archivo que contenga palabras clave. Cree una regla ACL utilizando el nombre del archivo para denegar el tráfico.
sudo vim /etc/squid/keywords.squid.
Agregue sus palabras clave y guarde.
gamble
nudes
Edite squid.conf para crear acl y rechace guardar las reglas y recuerdeReiniciar los calamares.
acl keywords url_regex -i "/etc/squid/keywords.squid"
http_access deny keywords
Su archivo finalmente aparece y se agrega lo siguiente.
Para LCA
Para http_acceso
Para abrir el puerto en el servidor proxy Squid, use la sintaxis de comando que se muestra a continuación
acl Safe_ports port
Cómo bloquear el tráfico saliente en el servidor proxy Squid
El servidor proxy debe ocultar nuestra identidad exponiendo la dirección IP del proxy en lugar de nuestra propia dirección IP. Sin embargo, el proxy puede informar a nuestra IP sobre el tráfico saliente a través de http. Para desactivar esta función, editecalamar.confEl archivo está deshabilitado por el título. Para esto, verifique si hay#por. Descomentar y deArribaaapagar.
# via on
via off
Además, el servidor proxy no debe agregar la dirección IP del cliente a la solicitud http reenviada. Deshabilite esta característica modificando la siguiente líneacalamar.confarchivo.
Para evitar fugas del servidor proxy de Squid, puede eliminar el encabezado del proxy de Squid. Agregue la siguiente línea en TAG; request_header_access.
request_header_access From deny all
request_header_access Server deny all
request_header_access WWW-Authenticate deny all
request_header_access Link deny all
request_header_access Cache-Control deny all
request_header_access Proxy-Connection deny all
request_header_access X-Cache deny all
request_header_access X-Cache-Lookup deny all
request_header_access X-Forwarded-For deny all
request_header_access Pragma deny all
request_header_access Keep-Alive deny all
Guarde el archivo squid.conf y recuerde reiniciar squid.
systemctl restart squid
Cómo comprobar los errores de configuración de Squid
El siguiente comando señalará posibles errores en su archivo de configuración
sudo squid -k parse
Cómo configurar el cliente para conectarse a través del servidor proxy Squid
Configurar la autenticación de usuario
Primero, creemos y permitamos que los usuarios se autentiquen a través del proxy Squid. Necesitamos habilitar la autenticación http en el archivo squid.conf. Instale apache2-utils.
apt install -y apache2-utils
Cree un archivo para almacenar usuarios. El mío se llama "contraseña". Este archivo debe ser propiedad del agente de usuario predeterminado de Squid.
touch /etc/squid/passwd
chown proxy: /etc/squid/passwd
Agregamos un usuario llamado lorna
htpasswd /etc/squid/passwd lorna
New password:
Re-type new password:
Adding password for user lorna
Ahora agregue la siguiente línea debajocalamar.confarchivo. Después de agregar, guarde y reinicie Squid.
auth_param basic program /usr/lib/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
Es importante verificar la ubicación de basic_ncsa_auth para asegurarse de que se utilice la ruta correcta y que no haya errores. Utilice el siguiente comando:
dpkg -L squid | grep ncsa_auth
Su archivo Squid debería verse así:
Para probar si su servidor proxy Squid está funcionando correctamente, vaya al navegador web del cliente, por ejemploNavegador FirefoxY configure la autenticación de proxy manual. encenderNavegador Firefox, Haga clicBarra horizontalEn la extrema derecha. Abajoeditar, Haga clicpreferencia. Hacer clicconfiguraciónAbajoConfiguración de la red. En la página que aparece, enciende el reloj.Configuración manual de proxyn Botón de opción y complete los detalles de su servidor proxy. Si es necesario, puede excluir el proxy para otras direcciones IPNingún agente?
Ahora, confirme que la configuración de su proxy Squid sea normal. Abra el navegador Firefox e intente buscar un sitio web restringido (por ejemplo, youtube.com) adecuado para mi situación. Deberías ver una página que dice "El servidor proxy se negó a conectarse".
Ahora abra otro sitio sin restricciones. Se le solicitará autenticación y, después de ingresar su nombre de usuario y contraseña, podrá acceder al sitio.
Esta es una guía paso a paso sobre cómo instalar y configurar el servidor proxy Squid en Ubuntu 20.04. Espero que te guste. La siguiente es una guía detallada para su instalación diaria de Linux.
- Cómo instalar y configurar HAProxy en Debian 10 (Buster)
- Cómo configurar el proxy Nginx para la interfaz de usuario Ansible Wed del semáforo
- Cómo instalar el agente Envoy en Ubuntu/Debian Linux
- Cómo administrar el servidor HAProxy desde la interfaz web
El
Puedes descargar este artículo en formato PDF para apoyarnos a través del siguiente enlace.
Descarga la guía en formato PDF
apagar
El
El
El