iptables vs ruta

26

¿Cuál es la diferencia entre estas dos herramientas?

¿Alguien puede decirme cuál es el flujo de trabajo principal de las redes detrás de Linux (en relación con el filtrado de paquetes IPv4, la tabla de enrutamiento NAT y IP)?

Determinante
fuente

Respuestas:

27

route es un comando que muestra, agrega y elimina entradas de la tabla de enrutamiento TCP / IP del núcleo (también conocido como "Base de información de reenvío").

iptableses un comando que muestra, agrega y elimina entradas de Netfilter, el subsistema de filtrado y manipulación de paquetes del kernel de Linux. Maneja NAT.

Dado que el reenvío de IP, es decir, el enrutamiento, básicamente es reescribir un paquete con una dirección de origen diferente y enviarlo desde una interfaz de red diferente, creo que técnicamente podría hacer un enrutamiento estático con las iptablesreglas adecuadas en la mangletabla, pero creo que generalmente es más rápido deje que la parte de enrutamiento del núcleo haga eso.

Existen muchos diagramas que ilustran exactamente cómo un paquete TCP / IP atraviesa el núcleo (incluidos Netfilter y la instalación de enrutamiento). Un ejemplo es este: http://www.adminsehow.com/2011/09/iptables- paquete-mapa-transversal /

LawrenceC
fuente
1
Ese mapa es genial.
Jacob Margason
¿La "tabla de enrutamiento TCP / IP" de la ruta también se encuentra en / belone la tabla de iptables?
lovespring
1
No lo he probado, pero creo que puedes compilar el kernel con Netfilter deshabilitado, pero el reenvío seguirá funcionando si está habilitado. Así que creo que Netfilter y la instalación de enrutamiento están separados.
LawrenceC