Netfilter veikimas
Netfilter sistemą sudaro įvairios paskirties lentelės,
kurias savo ruožtu sudaro įvairios grandys. Susijungimus
galima registruoti dviejose lentelese: „filter” ir „nat”.
„filter” lentelės grandyse tikrinami visi paketai. „nat”
lentelės grandyse paketai tikrinami tik tuomet, kai jie
sukuria naują sesiją. Lentelės grandžių diagrama:
Paketai iš tinklo:
- Jei iš tinklo patekęs paketas sukuria naują sesija,
jis pirma patikrinamas „nat” lentelės „PREROUTING”
grandyje. Čia gali būti pakeistas paskirties adresas
(DNAT). Nesukuriantys naujos sesijos paketai nėra
tikrinami. - Toliau nustatoma ar gauti paketai yra skirti sistemai, ar
jie turėtų būti persiunčiami. - Jei paketas skirtas sistemai, jis patikrinamas „filter”
lentelės „INPUT” grandyje. - Kitu atveju, jei paketą reikia persiųsti kitai sistemai
–- jis tikrinamas „filter” lentelės „FORWARD” grandyje
- paketas tikrinamas „nat” lentelės „POSTROUTING”
grandyje, kur galima pakeisti šaltinio adresą (SNAT) - paketas išsiunčiamas į tinklą.
Paketai iš sistemos:
- Pirmiausia nustatoma kur bus siunčiami paketai.
- Naujas sesijas sukuriantys paketai patenka į „nat”
lentelės „OUTPUT” grandį. Čia gali būti pakeisti jų
paskirties adresai (DNAT). - Vėliau paketai patikrinami „filter” lentelės „OUTPUT”
grandyje. - „nat” lentelėje įvykdyti pakeitimai gali turėti
įtakos paketo maršrutizavimui, todėl vėl nustatoma, kur
paketas turėtų būti siunčiamas. - „Nat” lentelės „POSTROUTING” grandyje galima pakeisti jo
šaltinio adresą (SNAT). - Galiausiai paketai išsiunčiami per tinklo įrenginį.