Mikor a kernel elindul, 3 szabálysort tartalmaz a "szűrési" táblájában; ezeket a szabálysorokat tűzfal láncoknak vagy egyszerűen csak láncoknak hívjuk. A három beépített lánc az INPUT, OUTPUT és a FORWARD.
ASCII-art rajongóknak: a láncok az alábbiak szerint rendeződnek: (Figyelem: ez nagy mértékben különbözik a 2.0 és a 2.2 kernelek láncaitól!)
_____
Bejövő / \ Kimenő
-->[Routolás]--->|FORWARD|------->
[ Döntés ] \_____/ ^
| |
v ____
___ / \
/ \ |OUTPUT|
|INPUT| \____/
\___/ ^
| |
----> Helyi Process -----
A három "kör" a fent említett három láncot jelenti. Ha egy csomag elér egy kört ezen a diagramon, az a lánc dönt a csomag sorsáról. Ha a lánc eldobja a csomagot (DROP), az itt megsemmisül, és ha a lánc továbbengedi a csomagot (ACCEPT), az tovább vándorol a diagramon.
Minden lánc szabályok sorozata. Minden egyes szabály azt mondja ki, hogy "ha a csomag fejléce olyan mint ez vagy az, akkor amazt kell a csomaggal csinálni". Ha a szabály nem illik a csomagra, a lánc következő szabálya kerül vizsgálatra. Végül, ha minden szabályt végignéztünk, a kernel megnézi a lánc policy-ját (irányelv arra az esetre, ha egy szabály sem illik a csomagra) hogy eldöntse, mit kell tenni a csomaggal. Egy tudatosan biztonságra törekvő rendszerben ez általában azt jelenti, hogy a kernel a csomagot eldobja (DROP).