9.5. Las tres formas posibles de filtrado

Considérese cómo una máquina Unix, o de hecho cualquier máquina capaz de realizar encaminamiento de IP, procesa los datagramas de IP. Los pasos básicos, mostrados en la Figura 9-2 son:

Figura 9-2. Las etapas del procesamiento de un datagrama de IP

En nuestro diagrama, el flujo 1→3→5 representa nuestra máquina encaminando datos entre un 'host' sobre nuestra red Ethernet y un 'host' alcanzable vía nuestro enlace de PPP. Los flujos 1→2 y 4→5 representan los flujos de entrada y de salida de datos de un programa de red ejecutándose en nuestro 'host' local. El flujo 4→3→2 representaría un flujo de datos vía una conexión 'loopback'. Naturalmente, los datos fluyen tanto hacia dentro como hacia fuera de los dispositivos de red. Los símbolos de interrogación del diagrama representan los puntos donde la capa de IP realiza las decisiones de encaminamiento.

El cortafuegos de IP del núcleo de Linux es capaz de aplicar filtrados en varias etapas de este proceso. Es decir, se pueden filtrar los datagramas de IP que entren en su máquina, aquellos que estén siendo reenviados a través de su máquina y aquellos que estén preparados para ser transmitidos.

En ipfwadm y en ipchains, una regla de tipo 'Input' [1] se aplica al flujo 1 del diagrama, una regla de tipo 'Forwarding' [2] al flujo 3 y una regla de tipo 'Output' [3] al flujo 5. Cuando se discuta netfilter más adelante se verá que los puntos de interceptación han cambiado de tal forma que una regla de tipo 'Input' se aplica ahora en el flujo 2, y una regla de tipo 'Output' en el flujo 4. Esto tiene implicaciones importantes sobre cómo se deben estructurar los conjuntos de reglas, pero los principios generales permanecen válidos para todos los tipos de cortafuegos de GNU/Linux.

Todo esto puede parecer complicado de forma innecesaria en un primer momento, pero proporciona una flexibilidad que permite construir configuraciones muy sofisticadas y poderosas.

Notas

[1]

N. del T.: "entrada"

[2]

N. del T.: "reenvío"

[3]

N. del T.: "salida"