Estoy usando reglas iptable para filtrar y manipular paquetes en mi servidor Ubuntu. pero no puedo entender la tabla de mangle.
Citando este tutorial de iptables :
Esta tabla debería, como ya hemos señalado, usarse principalmente para manipular paquetes. En otras palabras, puede usar libremente las coincidencias de manipulación, etc., que podrían usarse para cambiar los campos de TOS (Tipo de servicio), etc.
Se recomienda encarecidamente no utilizar esta tabla para ningún filtrado; tampoco funcionará DNAT, SNAT o Masquerading en esta tabla.
¿Alguien puede describirme la tabla de cambios y proporcionar algunos ejemplos para entender cuándo debo usarla?
iptables(8)
página de manual tiene toda la información que desea, incluidos varios ejemplos agradables del uso de la tabla de control.Respuestas:
Además de las otras buenas respuestas, recientemente tuve que usar la tabla de cambios para ajustar las discrepancias de MTU (unidad de transmisión máxima) causadas por el tráfico que pasaba a través de PPPoE, PPP y ATM, cada uno de los cuales agrega una sobrecarga que reduce la carga útil disponible para IP de los 1500 bytes habituales de una trama Ethernet.
Los sistemas en cada extremo de la tubería, como es normal, tendrían su MTU en el valor predeterminado normal de 1500 y, por lo tanto, intentarían enviar tramas IP de ese tamaño. Dado que el tamaño real de la carga útil disponible era menor, esto habría causado la fragmentación de los paquetes, excepto que a menudo el remitente solicitará que los paquetes no se fragmenten y, como tal, terminen siendo descartados por completo.
En un mundo ideal, el descubrimiento de MTU de ruta habría permitido que los puntos finales ajustaran su MTU según fuera necesario, pero este descubrimiento depende de ICMP, y las redes fuera de mi control a menudo se configuraron para abandonar ICMP por razones de seguridad.
La única opción era utilizar la distribución de paquetes en mi enrutador para modificar los paquetes TCP SYN para reducir el tamaño máximo de segmento en la capa de transporte:
Este tipo de cosas es desordenado e idealmente debería evitarse, pero no tenía otras opciones y esto resolvió el problema.
Espero que estos ejemplos ayuden, así como la página del manual.
fuente
Recientemente encontré una buena explicación aquí . Básicamente se usa para establecer encabezados específicos para paquetes IP que afecten la decisión de enrutamiento tomada más adelante. Si existe, la opción TTL es probablemente la más interesante:
Los otros objetivos son
TOS, MARK, SECMARK, CONNSECMARK
.fuente
Como un novato de iptables, diría: la tabla mangle permite modificar algunas entradas especiales en el encabezado de los paquetes. (como: Tipo de servicio, Tiempo de vida) (también permite establecer marcas especiales y marcas de contexto de seguridad)
fuente
Hay una buena inmersión profunda pero no es demasiado difícil de entender el tutorial sobre iptables aquí .
Me ayudó mucho, ya que también explica claramente cómo todas las partes encajan e interactúan entre sí.
fuente