iptables: entendiendo el fundamento detrás de sus tablas y cadenas

iptables: entendiendo el fundamento detrás de sus tablas y cadenas

estoy pasando por eltutorial de iptablesy actualmente estoy enCapítulo 6, Atravesamiento de mesas y cadenas..

tengo problemas para entenderel por quédetrás de las Tablas 6-1, 6-2 y 6-3 enumeradas en el capítulo anterior.

Preguntas:

  1. ¿Existe algún libro o recurso en línea mejor donde se pueda encontrar una mejor explicación?

  2. ¿Se supone que debo aprender de memoria/memorizar los distintos pasos cubiertos en estas tablas?

  3. El tutorial anterior parece tener muchos años. ¿Todo lo que se dice iptablesallí sigue siendo 100% válido? La iptablesversión que tengo en mi sistema es 1.4.14.

Todas estas preguntas surgen principalmente porque hasta ahora "siento" que, tal vez, lo único que iptablesdeberíamos haber hecho era brindarnos unalo mínimoconjunto de puntos de gancho (como, por ejemplo, ganchos previos y posteriores al enrutamiento) y la capacidad de hacerarbitrarioprocesamiento de paquetes (en cualquier secuencia que consideremos adecuada y cualquier número de veces: una máquina de estado personalizada) en lugar de estipular la secuencia detallada de pasos como en las tablas anteriores. Por ejemplo, en el diagrama que sigue a la Tabla 6-3, ¿por qué el paso 'filtrar entrada' debería venir sólo después de 'mangle input' y no antes? ¿Y por qué no tanto antes como después? Etc.

Respuesta1

¿Existe un mejor libro o recurso en línea?

¿Posiblemente? ¿Probablemente? Hay un montón de recursos en línea y fuera de línea para aprender Linux e iptables. Elwikitiene una buena descripción general. Aquí estáotroGuía de uso y administración. Aquí estáotroGuía con la misma información que FrozenTux, pero ligeramente reescrita.

¿Se supone que debo aprender de memoria/memorizar los distintos pasos?

Eso depende. ¿Por qué estás estudiando en primer lugar?

necesidad¿Memorizar todo para poder usar iptables? No. Elfiltrarestá predeterminado si no define ninguna otra tabla. ¿Sería útil si quisiera aprovechar iptables en toda su extensión? Absolutamente.

¿Todavía válido?

Sí.

¿Por qué el paso 'filtrar entrada' debería venir solo después de 'mangle input' y no antes? ¿Y por qué no tanto antes como después?

La clave es la descripción de la tabla 6.1, líneas 8 y 9. En esencia, desea tomar decisiones sobre cómo alterar (también conocido como alterar) el paquete antes de filtrarlo.

Es por eso que primero se afecta la cadena de entrada de mangle y luego la cadena de entrada del filtro.

De manera similar, la secuencia de pasos es importante porque el paquete ingresa a la máquina (que está ejecutando iptables). No se pueden tomar decisiones de "entrada" o de entrada en un paquete después de que ya haya sido enrutado y ahora sea saliente.

Notarás que la tabla 6.3 NO es una continuación de la tabla 6.2. En cambio, son similares hasta la línea 7 (decisión de ruta) y luego la línea 8 es una ruta o bifurcación diferente. La tabla 6.2 es para paquetes dentro de la misma red. La tabla 6.3 es para paquetes fuera de la red.

Es importante recordar el modelo OSI de 7 capas. Cada bit de datos se empaqueta y reempaqueta en varios segmentos, paquetes y tramas. Cada "salto" de la red es otra oportunidad para manipular y reescribir cualquier segmento, paquete o trama en particular.

iptables brinda un control muy granular sobre ese reempaquetado. Puede escribir reglas sobre paquetes entrantes, paquetes salientes, paquetes solo para su red y no para otras o viceversa, su dispositivo, no su dispositivo, etc. Y puede modificar varios encabezados para todas esas tramas. **

** Soy consciente de que entremezclo libremente "marco", "segmento" y "paquete". Lo siento, realmente no debería. A menos que esté tratando de dejar claro un punto o haciendo un análisis de red específico, siempre lo hago.

información relacionada