Iptables, quelle est la différence entre -m state et -m conntrack?

48

Quelle est la différence pratique entre:

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

et

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

Lequel est le meilleur à utiliser?

Je vous remercie.

Bourne
la source
9
Notez que pour Linux Kernel 3.7 et versions ultérieures, l'état a été supprimé. Seul conntrack est disponible.
M. X
Je suis en cours d'exécution 3.10.0 et l'état est toujours pris en charge ...
1
state est obsolète en faveur de conntrack et peut être compilé ou non en fonction de la construction de votre noyau.
Michael Hampton

Réponses:

26

Les deux utilisent les mêmes éléments internes du noyau (sous-système de suivi de connexion).

En-tête de xt_conntrack.c:

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

Je dirais donc que le module d’état est plus simple (et peut-être moins sujet aux erreurs). C'est aussi plus long dans le noyau. Conntrack de l'autre côté a plus d'options et de fonctionnalités [1].

Mon appel est d'utiliser conntrack si vous avez besoin de ses fonctionnalités, sinon restez avec le module d'état.

Question similaire sur mafist netfilter.

[1] Très utile comme "-m conntrack --ctstate DNAT -j MASQUERADE" routage / correction de DNAT ;-)

Kupson
la source
8

Il n'y a aucune différence dans l'issue de ces deux règles. Les deux extensions de correspondance utilisent les mêmes données pour faire correspondre l'état de suivi de connexion. state est "l'ancienne" extension de correspondance et conntrack est plus récent et comporte beaucoup plus d'options que simplement faire correspondre l'état de suivi de connexion.

lisser
la source
1

Iptables Doc

Comme le dit la documentation:

La correspondance conntrack est une version étendue de la correspondance d'état, ce qui permet de faire correspondre les paquets de manière beaucoup plus fine. Il vous permet de consulter les informations directement disponibles dans le système de suivi de connexion, sans aucun système "frontal", tel que celui de la correspondance d'état. Pour plus d'informations sur le système de suivi des connexions, reportez-vous au chapitre La machine à états.

ki0
la source
la référence ne fonctionne plus
prosti