Linux-Paketfilter nftables

Durchgesiebt

Mit nftables steht im Linux-Kernel die aktuellste
Paketfilter-Implementierung zur Verfügung. Gegenüber älteren Lösungen verspricht
nftables vor allem eine bessere Performance und eine einfachere Syntax und
Bedienung. Wir stellen den Filter vor und zeigen, wie er funktioniert.
Storage-Technologien bieten Unternehmen immer neue Möglichkeiten zur flexiblen Datenhaltung, die angesichts der wachsenden Datenberge auch dringend geboten ... (mehr)

Der Linux-Kernel hat bereits die unterschiedlichsten Paketfilter enthalten. Angefangen mit ipfwadm folgten darauf ipchains und iptables. Seit dem Kernel 3.13 steht nun nftables [1], kurz nft, zur Verfügung. Mit Hilfe einer eigenen virtuellen Maschine sorgt nftables dafür, dass Regelsätze in einen Bytecode umgewandelt werden, der dann im Anschluß in den Kernel geladen wird. Dies sorgt nicht nur für eine bessere Performance, sondern gestattet es Administratoren auch, dynamisch neue Regeln zu aktivieren, ohne dass der gesamte Regelsatz komplett neu zu laden ist. Teile des alten Netfilter-Frameworks verwendet nftables aber weiterhin, das erspart die Entwicklung von neuen Hooks. Diese sind dabei eigentlich nichts anderes als bestimmte Punkte im Netzwerkstack des Linux-Kernels, an denen ein Paket inspiziert wird und im Falle eines Matches eine oder auch mehrere Aktionen ausgeführt werden.

Hierfür existieren an diesen Punkten Tabellen (Tables), in denen Ketten (Chains) gespeichert sind. Diese wiederum enthalten die eigentlichen Regeln (Rules). Die Art und Weise, wie die einzelnen Pakete nun anhand der Regeln überprüft werden, ist eine weitere Neuerung von nftables. Die Klassifizierung ist nun wesentlich ausgefeilter und eleganter, als es noch zu Zeiten von iptables der Fall war. So besteht nun beispielsweise die Möglichkeit, mit Hilfe von Adressfamilien unterschiedliche Pakete mit einer einzelnen Regel zu verarbeiten. Wer in der Vergangenheit IPv4- und IPv6-Pakete untersuchen wollte, der benötigte hierfür nicht nur unterschiedliche Regeln, sondern musste diese sogar mit zwei unterschiedlichen Tools (iptables und ip6tables) in den Kernel laden. Bei nftables existiert hierfür einfach die Adressfamilie 'inet', die sowohl IPv4 als auch IPv6 umfasst. Auch das Zusammenlegen von unterschiedlichen 'statements' ist bei nftables nun möglich. Unter iptables ist es beispielsweise sehr umständlich, ein Paket zuerst ins Log zu schreiben und anschließend eine

...

Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019