Netfilter (
http://www.netfilter.org∞ o
http://www.iptables.org∞) es la última generación de las utilidades para filtrados de paquetes (Packet Filtering), incluidos en el Kernel de Linux. La primera generación fue un port de IPFW (BSD), por Alan Cox, cerca de 1994. Con la aparición de la versión 2.0 de Linux, se creo la utilidad ipfwadm para regular el filtrado, usando una herramienta desde el espacio de usuario.
En 1998, junto con la aparición del Kernel 2.2, se introdujo la segunda generación, IPChains, una combinación de módulos y programas de usuario para el control de flujo de paquetes.
Cerca del 99, al aparecer la versión 2.4, gran parte de la API de IPChains fue reescrita, dando origen a la cuarta generación, Iptables.
El principal responsable es Paul "Rusty" Russell, quien desarrollo Netfilter cuando trabajaba en Watchguard (
http://www.watchguard.com∞).
Es además una infraestructura completa inserta dentro del kernel, incluida desde algunas versiones 2.3 y agregado oficialmente en la serie 2.4. Esta compuesto por una serie de módulos y un software para controlar las reglas. De esta manera, permite que un modulo de kernel, más una utilidad presente dentro del espacio de usuario, controlen el flujo de paquetes que van desde y hacia las interfaces de red.
Iptables puede ser descargado desde
http://www.netfilter.org∞, mientras que los módulos están insertos oficialmente desde la versión 2.4 del kernel.
Esto es aplicable para cualquier sistema de Filtrado de Paquetes (o Packet Filter). Son principalmente, tres razones
- Control de Trafico (o Flujo de Red)
- Seguridad (de Servicios de Red)
- Observación (del Trafico actual)
La mayoría de los Kernels de las distribuciones (de la versión 2.4) vienen incluidos con Netfilter/Iptables (ambos, módulos y programas de usuario). En caso que se desee compilar un kernel, verificar primero que la opción CONFIG_NETFILTER este incluida en el Kernel.
Netfilter ademas requiere de algunos modulos, que se encuentran en la sección "IP:Netfilter Configuration".