Cómo controlar el tráfico web usando Squid Cache y Cisco Router en Linux

Cómo controlar el tráfico web usando Squid Cache y Cisco Router en Linux

Una tarea importante en una red es controlar y administrar el tráfico de navegación web del personal, hay muchas soluciones que pueden manejar este problema, una de las mejores soluciones es usar squid cache en una máquina Linux. Squid puede inspeccionar, limitar y almacenar en caché el flujo del tráfico web de una red a otra, por ejemplo, de una LAN a Internet.

 Control de tráfico usando Squid y Cisco Router en CentOS Control de tráfico mediante Squid y Cisco Router en CentOS Control de tráfico usando Squid y Cisco Router en CentOS

Hay algunas formas de redirigir las solicitudes web del cliente a la máquina squid, en este artículo le mostraremos cómo redirigir el tráfico web desde un enrutador CISCO a una máquina Squid Cache usando WCCP. protocolo.

La siguiente imagen es un ejemplo de un escenario básico.

 Control del tráfico web usando el enrutador Cisco Squid  Control del tráfico web mediante el enrutador de Cisco Squid Controlar el tráfico web usando Squid Cisco Router

Como puede ver en la imagen de arriba, todos los tráficos web de los clientes van primero al Cisco Router. (esa es su puerta de enlace predeterminada), luego El enrutador redirige silenciosamente los paquetes a la máquina Squid, ahora Squid puede desempeñar sus funciones, la función principal es almacenar en caché los contenidos web, limitar el acceso según los dominios, intervalos de tiempo, direcciones IP, tamaño de los archivos, etc.

Nosotros revise la configuración de este escenario en dos pasos principales, primero debemos instalar y configurar squid y Linux, luego configurar el enrutador para redirigir los paquetes de tráfico web a squid usando el protocolo WCCP.

Entorno de prueba freestar.config. enabled_slots.push

En este escenario, uso CENTOS 6.5. como mi servidor LINUX y Cisco 2691. como mi sistema de enrutador.

Sistema operativo. Aplicación. de CENTOS 6.5: Enrutador. de Squid: Cisco 2691

Paso 1: Instalar Squid Cache

Squid está disponible en el repositorio predeterminado de CENTOS. primero lo instalamos usando el encantador comando yum y luego iniciamos sus servicios y finalmente configuramos el inicio automático del servicio squid.

# yum-y instale squid # service squid start # chkconfig squid en

Paso 2: Preparación de Squid Cache

Ahora debemos cambiar algunos comportamientos predeterminados del sistema operativo centos, Necesitamos habilitar el reenvío de paquetes y deshabilitar el filtro de ruta inversa ( RPF. , habilitamos el reenvío de paquetes para permitir que los centos actúen como un reenviador transparente (como un enrutador. .

Permítanme explicar con más detalle, cuando el tráfico llega en centos, tienen sus direcciones de origen y destino, por ejemplo, cuando un cliente ingresa www.example.com. en su navegación. ra genera un paquete de solicitud http y tiene la dirección IP de origen de la máquina cliente (como 192.168.1.20. y la dirección IP de destino del servidor example.com. (como 2.2. 2.2. .

Entonces, cuando centos recibe un paquete, lo detecta como un paquete incorrecto porque la dirección ip de centos no es la dirección de destino del paquete, por razones de seguridad, los centos descartan el paquete, pero nosotros quieren que los calamares actúen en modo transparente. Le contamos esta situación a centos habilitando la poción de reenvío de paquetes.

A continuación, deberíamos deshabilitar el filtrado de ruta inversa para permitir que los centos acepten paquetes que no son accesibles por la máquina squid o paquetes que no tienen dirección IP en la misma subred de la máquina de calamar.

# nano/etc/sysctl.conf net.ipv4.ip_forward = 1. #set to 1 para habilitar la función de reenvío de paquetes net.ipv4.conf.default.rp_filter = 0. # establecido en 0 para deshabilitar el comportamiento del filtro de ruta inversa

A continuación, debemos crear una interfaz GRE. en Máquina CENTOS, ¿para qué? Déjame explicarte más, el protocolo WCCP. funciona a través de un túnel GRE. significa que el idioma entre el enrutador y Squid es GRE, por lo que los centos deben tener una interfaz GRE para De-encapsular paquetes GRE.

Debemos crear el archivo de configuración para la interfaz GRE en la ruta “/etc/sysconfig/network-script/ifcfg-gre0. .

Ingrese los siguientes códigos en el archivo de configuración ifcfg-gre0.

DEVICE = gre0 BOOTPROTO = static IPADDR = 10.0.0.2 # dirección IP no utilizada en su red NETMASK = 255.255.255.252 ONBOOT = sí IPV6INIT = no

Después de crear una interfaz GRE. necesitamos reiniciar el servicio de red.

# reiniciar la red del servicio

Paso 3: Configurar Squid Cache

Necesitamos dígale a squid que acepta paquetes WCCP. del enrutador. Ingrese los siguientes códigos en el archivo /etc/squid/squid.conf.

http_port 3128 intercept # Defina el puerto de escucha SQUID wccp2_router 192.168.1.254 # dirección ip del enrutador wccp2_forwarding_method gre wccp2_return_method gre wccp2_service standard 0

Guarde el archivo de configuración y reinicie el servicio squid.

# service squid restart

Squid escucha los paquetes en el puerto 3128. pero el número de puerto de destino de nuestro paquete es 80. por lo que para cambiar el puerto de destino 80. a 3128. necesitamos crear una regla NAT. en el firewall integrado de CENTOS (que se llama iptable. .

# iptables-t nat-A PREROUTING-i gre0-p tcp–dport 80-j REDIRECT–to-port 3128 # iptables-t nat-A POSTROUTING-j MASQUERADE

Paso 4: Configuraciones del enrutador de Cisco

Primero debemos habilitar WCCP. en el enrutador de Cisco.

R1 (config) # ip wccp versión 2 Luego debemos usar un ACL para introducir la máquina de caché SQUID en el enrutador R1 (config) # ip access-list standard SQUID-MACHINE R1 (config-std-nacl) # permit host 192.168.1.10

A continuación, definimos otra lista de acceso para dos propósitos diferentes, primero debemos excepto que el tráfico SQUID. no se redireccione mediante el protocolo WCCP. (¡¡si no caemos en un bucle infinito !!) en segundo lugar, definimos qué tráfico LAN. queremos pasando a través de WCCP. y SQUID.

R1 (config) #ip access-list LAN-TRAFFICS R1 (config-ext-nacl) #deny ip host 192.168. 1.10 cualquier #Prevent SQUID para entrar en el bucle R1 (config-ext-nacl) #permit tcp 192.168.1.0 0.0.0.255 cualquier www #define LAN Traffics

Después de crear nuestra lista de acceso, debemos configurar el protocolo WCCP en el enrutador.

R1 (config) # ip wccp web-cache redirect-list LAN-TRAFFIC group-list SQUID-MACHINE

Todo está listo para el paso final, debemos decirle al enrutador en qué interfaz/interfaz es debe redirigir el tráfico usando su configuración WCCP.

R1 (config) #interface fastEthernet 0/0 R1 ((config-if) # ip wccp redireccionamiento de caché web en

Resumen

Es hora de resumir todos los comandos y textos en unas pocas líneas para una mejor comprensión, de acuerdo con el escenario, redirigimos los paquetes de navegación web del personal (es decir, en el puerto TCP 80) desde el ROUTER. (que es la puerta de enlace predeterminada de los clientes) hacia la máquina de caché squid usando el protocolo WCCP.

Todo este proceso sucedió en silencio y no hay configuración adicional en el lado del cliente. Entonces podemos controlar y establecer políticas sobre el tráfico web en la LAN. Por ejemplo, podemos obtener acceso a la navegación web solo en un tiempo limitado, limitar el tamaño máximo de descarga, definir nuestra lista blanca y negra personalizada, generar informes completos del uso de la actividad de Internet, etc.

uno de los hechos interesantes en este escenario es cuando la máquina squid deja de funcionar, el enrutador detecta este problema y deja de redirigir paquetes hacia él, para que pueda disfrutar del tiempo de inactividad cero en su red.

Si tiene alguna pregunta con respecto a este artículo, deje un responda a través del cuadro de comentarios a continuación.