bpfilter

A BPF-based packet filtering framework. Has frontends for compatibility with iptables and nftables.

(bpfilter.io) bpfilter documentation   website

ROAM_REFS: https://bpfilter.io/
  • bpfilter

bpfilter
is a BPF-based packet filtering framework. It is composed of a shared library (
libbpfilter
) and a daemon (
bpfilter
).

The

bpfilter
daemon running on the system receives a request from a client (
iptables
,
nftables
, or any other client that could be created) and converts the client-provided ruleset into one or more BPF program(s).

If you want to try

bpfilter
with
nftables
or
iptables
, have a look at Usage and Build from sources.

If you want to know more about

bpfilter
's internals, take a look at the following talks about the project:

(github.com) facebook/bpfilter: BPF-based packet filtering framework   website

ROAM_REFS: https://github.com/facebook/bpfilter

* An eBPF-based packet filtering framework.

bpfilter is an eBPF-based packet filtering framework designed to translate filtering rules into BPF programs. It comprises three main components:

  1. A daemon that runs on the host, translating filtering rules into BPF programs.
  2. A lightweight library to facilitate communication with the daemon.
  3. A dedicated command line interface to define the filtering rules.

A typical usage workflow would be to start the

bpfilter
daemon, then define the filtering rules using
bfcli
(part of the
bpfilter
project),
nftables
or
iptables
. The
bpfilter
daemon will be responsible for translating the filtering rules into custom BPF programs, and loading them on the system.

Detailed information can be found in the documentation.

Local Graph

org-roam 1fb58335-6ed0-496c-97f2-8abd55ea139d bpfilter b7fe46b5-84f5-494e-9442-b356d8a44c15 BPF (Berkeley Packet Filter) 1fb58335-6ed0-496c-97f2-8abd55ea139d->b7fe46b5-84f5-494e-9442-b356d8a44c15 abd50a09-4c8a-4648-b73d-67b2a1724d27 iptables 1fb58335-6ed0-496c-97f2-8abd55ea139d->abd50a09-4c8a-4648-b73d-67b2a1724d27 78c9c8fd-611c-496e-9103-ea8cc061d6fa nftables 1fb58335-6ed0-496c-97f2-8abd55ea139d->78c9c8fd-611c-496e-9103-ea8cc061d6fa