Iptables, jaka jest różnica między stanem -m a -m conntrack?


48

Jaka jest praktyczna różnica między:

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

i

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

Którego najlepiej użyć?

Dziękuję Ci.


9
Zauważ, że w jądrze Linuksa 3.7 i nowszych stan został usunięty. Dostępny jest tylko conntrack.
Pan X

Korzystam z wersji 3.10.0 i stan jest nadal obsługiwany ...

1
stan jest przestarzały na korzyść conntrack i może być lub nie być kompilowany w zależności od tego, jak zbudowano twoje jądro.
Michael Hampton

Odpowiedzi:


26

Oba używają tych samych elementów wewnętrznych jądra (podsystem śledzenia połączeń).

Nagłówek xt_conntrack.c:

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

Powiedziałbym więc, że moduł stanu jest prostszy (i może mniej podatny na błędy). Jest także dłuższy w jądrze. Conntrack po drugiej stronie ma więcej opcji i funkcji [1].

Moim wezwaniem jest użycie conntrack, jeśli potrzebujesz jego funkcji, w przeciwnym razie trzymaj się modułu stanu.

Podobne pytanie dotyczące maillisty netfilter.

[1] Całkiem przydatne, jak „-m conntrack --ctstate DNAT -j MASQUERADE” routing / naprawa DNAT ;-)


8

Nie ma różnicy w wynikach tych dwóch zasad. Oba rozszerzenia dopasowania używają tych samych danych do dopasowania stanu śledzenia połączenia. state jest „starym” rozszerzeniem dopasowania, a conntrack jest nowszy i ma o wiele więcej opcji niż tylko dopasowanie stanu śledzenia połączenia.


1

Iptables Doc

Jak mówi dokumentacja:

Conntrack match jest rozszerzoną wersją dopasowania stanu, która umożliwia dopasowanie pakietów w znacznie bardziej szczegółowy sposób. Pozwala spojrzeć na informacje bezpośrednio dostępne w systemie śledzenia połączeń, bez żadnych systemów „frontendowych”, takich jak dopasowanie stanu. Aby uzyskać więcej informacji o systemie śledzenia połączeń, zapoznaj się z rozdziałem The machine machine.


referencja już nie działa
prosti

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.