1.7 Arbeit mit dem Paketfilter

Unterabschnitte

- 1.7.1 Erweiterung der Paketfilter-Matches

# 1.7 Arbeit mit dem Paketfilter

## 1.7.1 Erweiterung der Paketfilter-Matches

Fli4l verwendet in den Paketfilterregeln die Syntax `match:params`, um zusätzliche Bedingungen an die Pakete zu stellen (siehe mac:, limit:, length:, prot:, ...). Will man zusätzliche Matches hinzufügen, wird das folgendermassen gemacht:

1. Anlegen einer Datei opt/etc/rc.d/fwrules-<name>.ext. In diesem File steht in etwa folgendes:

       # extension is available
       foo_p=yes

       # the actual extension, adding matches to match_opt
       do_foo ()
       {
               param=$1
               get_negation $param
               match_opt="$match_opt -m foo $neg_opt --fooval $param"
       }

2. Testen der Erweiterung

       > cd opt/etc/rc.d
       > sh test-rules.sh 'foo:bar ACCEPT'
       add_rule filter FORWARD 'foo:bar ACCEPT'
       iptables -t filter -A FORWARD -m foo --fooval bar -s 0.0.0.0/0 \
           -d 0.0.0.0/0 -m comment --comment foo:bar ACCEPT -j ACCEPT

3. Aufnahme der Erweiterung und aller noch benötigten Dateien (iptables-Komponenten, netfilter-Kernelmodule) ins Archiv über einen der bekannten Mechanismen.
4. Zulassen der Erweiterung in der Konfiguration durch Erweitern von PF_GENERIC_MATCH in einem *.exp file, z.B. wie folgt:

       +FW_GENERIC_MATCH='foo:bar' : ''

Das Fli4l-Team
23. Februar 2006