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:
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 b�squeda 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" |