Iptables, ¿cuál es la diferencia entre -m state y -m conntrack?

48

¿Cuál es la diferencia práctica entre:

iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

y

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

¿Cuál es el mejor para usar?

Gracias.

Bourne
fuente
99
Tenga en cuenta que para Linux Kernel 3.7 y posterior, se ha eliminado el estado. Solo conntrack está disponible.
Sr. X
Estoy ejecutando 3.10.0 y el estado todavía es compatible ...
1
el estado está en desuso a favor de conntrack, y puede o no compilarse dependiendo de cómo se construyó su núcleo.
Michael Hampton

Respuestas:

26

Ambos utilizan el mismo núcleo interno debajo (subsistema de seguimiento de conexión).

Encabezado de xt_conntrack.c:

xt_conntrack - Netfilter module to match connection tracking
information. (Superset of Rusty's minimalistic state match.)

Entonces diría que el módulo de estado es más simple (y tal vez menos propenso a errores). También es más largo en el núcleo. Conntrack en el otro lado tiene más opciones y características [1].

Mi llamado es usar conntrack si necesita sus características, de lo contrario, quédese con el módulo de estado.

Pregunta similar sobre maillist netfilter.

[1] Muy útil como "-m conntrack --ctstate DNAT -j MASQUERADE" enrutamiento / reparación de DNAT ;-)

kupson
fuente
8

No hay diferencia en el resultado de esas dos reglas. Ambas extensiones coincidentes utilizan los mismos datos para coincidir con el estado de seguimiento de la conexión. state es la extensión de coincidencia "antigua" y conntrack es más reciente y tiene muchas más opciones que solo coincidir con el estado de seguimiento de la conexión.

lsmooth
fuente
1

Iptables Doc

Como dice la documentación:

La coincidencia conntrack es una versión extendida de la coincidencia de estado, que hace posible la coincidencia de paquetes de una manera mucho más granular. Le permite ver la información directamente disponible en el sistema de seguimiento de la conexión, sin ningún sistema "frontend", como en la coincidencia de estado. Para obtener más información sobre el sistema de seguimiento de conexiones, consulte el capítulo La máquina de estado.

ki0
fuente
referencia ya no funciona
prosti