E.2 El proceso de filtrado

El kernel maneja tres listas de reglas en su tabla de filtrado de paquetes. Las listas se llaman también cadenas (chains, en inglés). Bien, en concreto las cadenas que manejaremos se llaman input, output and forward.

Input controla los paquetes que entran en el host, output los que son generados en el host y lo avandonan y forward los que vienen desde el exterior pero no van dirigidos a ningún proceso del host. Una figura (http://www.netfilter.org/documentation/HOWTO/packet-filtering-HOWTO-6.html) aclara el tema:

                          _____  
Incoming                 /     \          Outgoing  
Packets ->[Routing ]--->|FORWARD|-------> Packets  
          [Decision]     \_____/        ^  
               |                        |  
               v                       ____  
              ___                     /    \  
             /   \                   |OUTPUT|  
            |INPUT|                   \____/  
             \___/                       ^  
               |                         |  
               +----> Local Process -----+

Así, cada vez que un paquete alcanza una cadena se utilizan una lista de reglas para saber si abandonamos (drop, en inglés) o aceptamos el paquete.

Finalmente indicar que la lista forward se utiliza sólo cuando configuramos nuestro host como un router (o NAT) con cortafuegos.