Ist der Berkeley-Paketfilter auf Linux portiert?


8

Ich mache einige Nachforschungen, um herauszufinden, welche Linux-Distributionen Kernel-Paketfilterung enthalten und mit BPF kompatibel sind.

http://kernelnewbies.org/Linux_3.0

http://lwn.net/Articles/437981/

Diese beiden Artikel lassen mich glauben, dass es irgendwo ein Paket gibt, das die Bibliotheken und Binärdateien enthält?

Ich suche speziell nach dem Befehl "pfctl", wie ich ihn in FreeBSD habe

Vielen Dank

Antworten:


14

Ich denke, Sie haben zwei verschiedene Dinge gemischt:

  1. Die OpenBSD-Paketfilterfunktionen (manchmal aufgerufen pfund meistens von gesteuert pfctl). Dies sind die Grundlagen der OpenBSD-Firewall. Das Linux-Äquivalent ist netfilter, das hauptsächlich vom iptablesBefehl gesteuert wird . Vergleichbar, aber nicht kompatibel (und die meisten sagen, dass OpenBSD Linux in dieser Hinsicht überlegen ist).

  2. Der (Berkeley) -Paketfilter (meistens von der libpcapBibliothek gesteuert ). Dies ist eine Funktion des Kernels, mit der eine Anwendung über Pakete benachrichtigt werden kann, die über eine Netzwerkschnittstelle fließen. Da normalerweise jeder Client nur an einer Teilmenge aller Pakete interessiert ist, geht es in der Bibliothek hauptsächlich darum, zu filtern, welche Pakete an die Anwendung weitergeleitet werden sollen und welche nicht. Es wird für Netzwerkanalysatoren wie tcpdumpund Wireshark verwendet.

Die Artikel, die Sie verlinken, beziehen sich nicht auf einen OpenBSD-Port pf, sondern beschreiben eine neue JIT, die die von kernelresidenten Filtern verwendeten optimiert libpcap.


Danke für die Erklärung. Bedeutet dies im Wesentlichen, dass jede Art von Netzwerkprogramm explizit zwischen Linux-Variationen und BSD-Variationen portiert werden muss (in meinem Fall FreeBSD)? Ich denke, der Code, den ich mir angesehen habe, enthielt einige der bpf-Header, aber die Regeln und dergleichen wurden mit pfctl eingerichtet. Ich denke, die Mischung hat mich verwirrt.
Derek

3
Es gibt eine große Lücke zwischen dem Firewall-Konfigurationsdienstprogramm und "Jede Art von Netzwerkprogramm". Linux-Netzwerkprogrammierschnittstellen sind in den meisten Punkten im Grunde die gleichen wie BSD, einschließlich BPF (die nichts mit pfctl zu tun hat)
Alan Curry
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.