Iptables je programska oprema požarnega zidu, ki se uporablja v distribucijah programske opreme Linux in deluje tako, da filtrira pakete skozi sistem tabel, ki vsebujejo verigo pravil za filtriranje paketov. Verige in nabori pravil v požarnem zidu določajo, ali je paket dovoljen in če je tako, kako se z njim ravna. Same tabele se hranijo v pomnilniku, programska oprema iptables pa zagotavlja konfiguracijo verig znotraj tabel.
Vsak paket podatkov, ki se pošlje po omrežju, ima identifikacijske informacije, ki jih prebere sprejemni sistem. Programska oprema Iptables vzame te informacije in določi, kaj storiti z njimi, tako da jih premakne skozi vrsto povezanih pravil. Pravila razvrščajo paket na podlagi njegovih identifikacijskih informacij, kot je naslov internetnega protokola (IP). Ko je paket identificiran, se premakne iz ene verige v drugo, odvisno od nastavljenega nabora pravil. Verige določajo, kako sistem distribuira paket.
Pravila so merila za to, kako se paket premika znotraj verig odločitev iptables. Paket se bo premikal od enega pravila do drugega, dokler izpolnjuje zahteve za vsako verigo. Vsak paket bo sprejet, posredovan, izpuščen, postavljen v čakalno vrsto, ponastavljen ali vrnjen.
Sprejem premakne paket v naslednjo verigo, spuščanje pa popolnoma odstrani paket. Če je paket v čakalni vrsti, se premakne in naslovi v ločenem upravljalniku čakalne vrste znotraj uporabniškega prostora. Ko je paket vrnjen, se premakne nazaj na zadnjo sprejeto verigo.
Iptables je aplikacija za uporabniški prostor, kar pomeni, da deluje v ločenem prostoru znotraj funkcij jedra Linuxa. Merila, ki jih požarni zid uporablja za identifikacijo in distribucijo paketov, so popolnoma nastavljiva in prilagodljiva z uporabo nabora ukaznih možnosti. To vključuje nastavitev dovoljenja za vzpostavljene seje, blokiranje vrst prometa in dostopa ter dovoljenje samo določenega prometa na določenih pristaniščih. Programsko opremo je mogoče nastaviti tako, da beleži ves dohodni promet ali beleži samo določene vrste prometa.
Programsko opremo Iptables vzdržuje projekt Nefilter in se je prvič začel leta 1998. Poleg tega, da se uporablja kot požarni zid in programska oprema za manipulacijo paketov, se Iptables lahko uporablja tudi za maskiranje IP-jev, pregledno implementacijo proxyja in analizo dnevnika. To požarnemu zidu omogoča, da zazna in prepreči potencialno zlonamerno dejavnost ter dodatno zaščiti sistem. Programska oprema je nastavljena tudi za konfiguracijo z razširitvami tretjih oseb, ker vsebuje več slojev aplikacijskih programskih vmesnikov. Iptables je običajno privzeto nameščen v večini distribucij operacijskih sistemov Linux.