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).