Kernel rozpoczyna pracê z trzema listami reguł w tabeli filtrującej; nazywane sa one łañcuchami ściany ogniowej, lub po prostu łañcuchami. Te trzy nazwane zostały INPUT (wejściowy), OUTPUT (wyjściowy) i FORWARD (przekazujący).
Dla fanów ASCII-art, łañcuchy ułożone są w nastêpujący sposób: (UWAGA: Wygląda to zupełnie inaczej niż w kernelach 2.0 i 2.2!
_____ Przychodzący / \ Wychodzący -->[Decyzja ]--->|FORWARD|-------> [Rutingu ] \_____/ ^ | | v ____ ___ / \ / \ |OUTPUT| |INPUT| \____/ \___/ ^ | | ----> Proces lokalny ----
Trzy koła reprezentują trzy łañcuchy o których wspomniałem wyżej. Kiedy pakiet dociera do koła na diagramie, sprawdzany jest łañcuch reguł by zdecydowaæ o losie pakietu. Jeśli łañcuch mówi że należy odrzuciæ (DROP) pakiet, jest on odrzucany tutaj, ale jeśli łañcuch mówi by zaakceptowaæ pakiet (ACCEPT), kontynuuje on swoją podróż po diagramie.
Łañcuch to lista reguł. Każda reguła mówi 'jeśli nagłówek pakietu wygląda tak, to zrobimy z tym pakietem nastêpującą rzecz'. Jeśli reguła nie pasuje do pakietu, sprawdzana jest nastêpna. Na koniec, jeśli nie ma wiêcej reguł, kernel sprawdza politykê (ang. policy) danego łañcucha. W systemie w którym dba siê o bezpieczeñstwo, polityka mówi zwykle kernelowi by odrzuciæ (DROP) pakiet.