
¿Cuál es la diferencia entre estas dos herramientas?
¿Alguien puede decirme cuál es el principal flujo de trabajo de redes detrás de Linux (en relación con el filtrado de paquetes IPv4, NAT y la tabla de enrutamiento IP)?
Respuesta1
route
es un comando que muestra, agrega y elimina entradas de la tabla de enrutamiento TCP/IP del kernel (también conocida como "Base de información de reenvío").
iptables
es un comando que muestra, agrega y elimina entradas de Netfilter, el subsistema de manipulación y filtrado de paquetes del kernel de Linux. Maneja NAT.
Dado que el reenvío de IP, es decir, el enrutamiento, consiste básicamente en reescribir un paquete con una dirección de origen diferente y enviarlo desde una interfaz de red diferente, creo que técnicamente se podría realizar un enrutamiento estático con las iptables
reglas adecuadas en la mangle
tabla, pero creo que generalmente es más rápido deje que la parte de enrutamiento del kernel haga eso.
Hay muchos diagramas que ilustran exactamente cómo un paquete TCP/IP atraviesa el kernel (incluido Netfilter y la función de enrutamiento); un ejemplo es este:http://www.adminsehow.com/2011/09/iptables-packet-traverse-map/