Introducción al módulo hashlimit en iptables

  
 iptables utiliza para acelerar
hashlimit hashlimit iptables es un módulo de adaptación, que se combina con la función de velocidad iptables otros comandos pueden ser implementados (tenga en cuenta que los módulos individuales no son limitantes de la velocidad hashlimit). Pero antes que nada, debe quedar claro que el hashlimit en sí mismo es solo un módulo <; match ". Sabemos que el principio básico de iptables es "emparejar – procesamiento", hashlimit solo puede desempeñar un papel coincidente en este proceso de trabajo, no puede realizar ningún procesamiento en el paquete de red en sí.
Vi algunos ejemplos de hashlimit en Internet que dicen que solo una declaración de iptables que contiene la regla de coincidencia de hashlimit puede alcanzar el límite de velocidad, lo cual es incorrecto.
De hecho, el límite de velocidad es necesario utilizar hashlimit comprende dos etapas: 1.
hashlimit para cumplir con el paquete regla coincidente 2. Descartar la liberación /rechazan los paquetes no liberan Francia El siguiente es un ejemplo sencillo: iptables - A ENTRADA -p tcp y ndash; dport 22 -m hashlimit y ndash; hashlimit-nombre ssh y ndash; hashlimit 5 /seg y ndash; hashlimit-explosión 10 y ndash;-mode hashlimit srcip y ndash; hashlimit-htable-expiran 90000 -j ACCEPTiptables -A ENTRADA -p tcp – dport 22 -j DROP

Luego, concentrémonos en cómo funciona el módulo hashlimit. La coincidencia hashlimit se basa en el modelo de token bucket. Token bucket es un principio de funcionamiento de un búfer común en la comunicación de red. Tiene dos parámetros importantes, la capacidad n de token bucket y la tasa de generación de token s. Podemos pensar en el token como un ticket, y el contenedor de token es el administrador responsable de crear y emitir tickets, con hasta n tokens en la mano. Al principio, el administrador comenzó con n tokens. Cada vez que llega un paquete, el administrador ve si hay un token disponible. Si es así, el token se envía al paquete, y el hashlimit le dice a iptables que el paquete coincide. Cuando el administrador haya terminado de enviar todos los tokens, los paquetes entrantes no recibirán el token. En este punto, el módulo hashlimit le dice a iptables que no se puede hacer coincidir el paquete. Además de emitir tokens, siempre que el número de tokens en el grupo de token sea menor que n, generará un token nuevo a una tasa s hasta que el número de tokens alcance n. El número de paquetes de datos a través de un mecanismo de cubetas de fichas, que puede controlar eficazmente la unidad de tiempo (de juego), y puede tolerar un gran número de ráfagas cortas de paquetes de datos a través de (siempre y cuando el número de paquetes no exceda de un cubo simbólico n).

El módulo hashlimit proporciona dos parámetros – hashlimit y – hashlimit-burst, que corresponden a la tasa de generación de token y la capacidad del bucket de token, respectivamente. Además del modelo de token bucket, otro concepto importante de coincidencia hashlimit es la coincidencia. En el hashlimit, cada coincidencia tiene un grupo de fichas separado que realiza cálculos de coincidencia independientes. Por el hashlimit y ndash; parámetro hashlimit modo, puede especificar los cuatro tipos de partidos, y combinaciones de los mismos, a saber:

srcip (por fuente de dirección IP es un partido), dstip (dirección IP de cada objeto A match), srcport (cada puerto de origen es un match), dstport (cada puerto de destino es un match)

Además de los tres parámetros descritos anteriormente, hay uno que debe usar hashlimit El parámetro, es decir, – hashlimit-name. Hashlimit creará un archivo en el directorio /proc /net /ipt_hashlimit para cada comando de iptables que llame al módulo hashlimit, que contiene información sobre cada coincidencia. El parámetro – hashlimit-name se usa para especificar el nombre del archivo. Ok, anteriormente hemos introducido el principio de funcionamiento de hashlimit y los parámetros correspondientes. Veamos algunos ejemplos. La primera es en frente de ese ejemplo: iptables -A ENTRADA -p tcp y ndash; dport 22 -m hashlimit y ndash; hashlimit-nombre ssh y ndash; hashlimit 5 /seg y ndash; hashlimit-explosión 10 y ndash; hashlimit-mode srcip -j ACCEPTiptables -A ENTRADA -p tcp – dport 22 -j DROP Después de entender el significado de los parámetros hashlimit, ahora podemos conocer el papel de estos dos comandos de iptables. La función de la primera es establecer una coincidencia para todas las diferentes IP que acceden al puerto del dispositivo local 22, la capacidad del grupo de fichas correspondiente a la coincidencia es 10 y la tasa de generación de fichas es de 5 por segundo. Suelte los paquetes correspondientes. La segunda función es descartar todos los demás paquetes que acceden al puerto de la máquina local 22. A través de estos dos comandos, nos hemos dado cuenta de la función de restringir otras máquinas para acceder frecuentemente al puerto local 22 (servicio ssh). Veamos el límite de velocidad de un punto complicado. Supongamos que ahora estamos en una puerta de enlace NAT y queremos limitar la frecuencia de acceso externo de un segmento de red 192.168.1.2/24 en la red interna.
(La función principal es la de limitar los hosts internos y externos que envenenan los ataques de inundación) que podemos hacer:

iptables -N DEFLOODiptables -A FORWARD -s 192.168.1.2/24 estado -m y ndash; Estado de Nueva -j -A -m DEFLOODiptables DEFLOOD hashlimit y ndash; hashlimit nombre deflood y ndash; hashlimit 10 /seg y ndash;

El primer comando hashlimit modo srcip -j ACCEPTiptables -P DEFLOOD -j DROP
; hashlimit-explosión 10 y ndash Estableció un segundo comando de cadena de procesamiento personalizado, todos los paquetes del segmento de red 192.168.1.2/24 y tiene la intención de crear una nueva conexión de red, ingrese a la cadena DEFLOOD para procesar el tercer comando, en la cadena DEFLOOD, para cada La IP establece una coincidencia, que corresponde a una capacidad de depósito de fichas de 10, y una tasa de generación de 10 por segundo. Suelte los paquetes correspondientes. El cuarto comando, cadena DEFLOOD descartado Todos los otros paquetes, por supuesto, hashlimit hay otros parámetros, como – hashlimit-htable-expirará y ndash; hashlimit-htable-size – hashlimit-htable-max específicamente man iptables anteriormente Presentamos el principio y el uso del módulo hashlimit.

Copyright © Conocimiento de Windows All Rights Reserved