Grundlegendes zum Connection Tracking: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 1: Zeile 1:
*Unter connection tracking versteht man das Speichern von Statusinformationen einer Verbindung
+
 
*Dies sind z.B. Quell- und Zieladresse, Portnummern, Protokolltyp, Timeouts, ...
+
= Connection Tracking =
*Bei iptables ist dafür die state-Option zuständig
+
 
*Die Verbindungsverfolgung erfolgt entweder in der PREROUTING- oder in der OUTPUT- Kette.
+
* '''Connection Tracking''' bedeutet: Die Firewall merkt sich den Zustand einer Verbindung – nicht nur einzelne Pakete, sondern den gesamten Verbindungsverlauf.
*Die Statustabellen für UDP- und TCP Verbindungen werden in /proc/net/nf_conntrack gehalten.
+
* Gespeichert werden: Quell- und Zieladresse, Portnummern, Protokolltyp (TCP, UDP, ...), Timeouts
*Die Anzahl der Verbindungen kann man folgendermaßen sehen: '''sysctl net.netfilter.nf_conntrack_count'''
+
* Die Verbindungsverfolgung findet im <code>prerouting</code>- oder <code>output</code>-Hook statt
*Die maximale Anzahl der Verbindungen kann man folgendermaßen sehen: '''sysctl net.netfilter.nf_conntrack_max'''
+
* In nftables wird der Zustand mit <code>ct state</code> abgefragt
 +
* Die Statustabelle liegt unter <code>/proc/net/nf_conntrack</code>
 +
 
 
{{#drawio:connection-tracking-1}}
 
{{#drawio:connection-tracking-1}}
 +
;Aktuelle Anzahl der verfolgten Verbindungen:
 +
<syntaxhighlight lang="bash">
 +
sysctl net.netfilter.nf_conntrack_count
 +
</syntaxhighlight>
 +
 +
;Maximale Anzahl der Verbindungen:
 +
<syntaxhighlight lang="bash">
 +
sysctl net.netfilter.nf_conntrack_max
 +
</syntaxhighlight>
 +
 +
== Verbindungszustände ==
 +
 +
{| class="wikitable"
 +
! Zustand !! Bedeutung
 +
|-
 +
| <code>new</code> || Erstes Paket einer neuen Verbindung
 +
|-
 +
| <code>established</code> || Paket gehört zu einer bereits bekannten Verbindung
 +
|-
 +
| <code>related</code> || Paket gehört zu einer verwandten Verbindung (z. B. FTP-Datenkanal)
 +
|-
 +
| <code>invalid</code> || Paket passt zu keiner bekannten Verbindung – verwerfen
 +
|}
 +
 +
  
 
=ESTABLISHED UPDATE=
 
=ESTABLISHED UPDATE=
 
*https://wiki.nftables.org/wiki-nftables/index.php/Matching_connection_tracking_stateful_metainformation#ct_state_-_conntrack_state
 
*https://wiki.nftables.org/wiki-nftables/index.php/Matching_connection_tracking_stateful_metainformation#ct_state_-_conntrack_state

Aktuelle Version vom 22. Mai 2026, 04:41 Uhr

Connection Tracking

  • Connection Tracking bedeutet: Die Firewall merkt sich den Zustand einer Verbindung – nicht nur einzelne Pakete, sondern den gesamten Verbindungsverlauf.
  • Gespeichert werden: Quell- und Zieladresse, Portnummern, Protokolltyp (TCP, UDP, ...), Timeouts
  • Die Verbindungsverfolgung findet im prerouting- oder output-Hook statt
  • In nftables wird der Zustand mit ct state abgefragt
  • Die Statustabelle liegt unter /proc/net/nf_conntrack
Aktuelle Anzahl der verfolgten Verbindungen
sysctl net.netfilter.nf_conntrack_count
Maximale Anzahl der Verbindungen
sysctl net.netfilter.nf_conntrack_max

Verbindungszustände

Zustand Bedeutung
new Erstes Paket einer neuen Verbindung
established Paket gehört zu einer bereits bekannten Verbindung
related Paket gehört zu einer verwandten Verbindung (z. B. FTP-Datenkanal)
invalid Paket passt zu keiner bekannten Verbindung – verwerfen


ESTABLISHED UPDATE