



(23 opiniones)
Consid¨¦rese como una máquina Unix, o de hecho cualquier maquina 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

Se recibe el datagrama de IP. (1)
Se examina el datagrama de IP entrante para determinar si est¨¢ destinado a un proceso de esta m¨¢quina.
Si el datagrama es para esta m¨¢quina, se procesa localmente.(2)
Si no est¨¢ destinado a esta m¨¢quina, se realiza una busqueda en la tabla de encaminamiento de una ruta adecuada y el datagragama se reenv¨ªa por la interfaz adecuada o se elimina si no se puede encontrar una ruta. (3)
Los datagramas procedentes de procesos locales se env¨ªan hacia el 'software' de encaminamiento para ser reenviados hacia la interfaz apropiada. (4)
Se examina el datagrama de IP saliente para determinar si existe una ruta v¨¢lida que escoger, si no es as¨ª, se elimina.
Se transmite el datagrama de IP. (5)
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.
| [1] |
N. del T.: "entrada" |
| [2] |
N. del T.: "reenv¨ªo" |
| [3] |
N. del T.: "salida" |
|