Iptables este un software firewall utilizat în distribuțiile de software Linux care funcționează prin filtrarea pachetelor printr-un sistem de tabele care conține un lanț de reguli pentru filtrarea pachetelor. Lanțurile și seturile de reguli conținute în firewall determină dacă un pachet este permis și, dacă da, cum este tratat. Tabelele în sine sunt păstrate în memorie, iar software-ul iptables asigură configurarea lanțurilor din cadrul tabelelor.
Fiecare pachet de date trimis printr-o rețea are informații de identificare care sunt citite de sistemul receptor. Software-ul Iptables preia aceste informații și determină ce să facă cu ele, mutându-le printr-o serie de reguli înlănțuite. Regulile funcționează pentru a clasifica pachetul pe baza informațiilor sale de identificare, cum ar fi o adresă de protocol Internet (IP). După ce a fost identificat, pachetul se mută de la un lanț la altul, în funcție de setul de reguli configurat. Lanțurile determină modul în care sistemul distribuie pachetul.
Regulile sunt criterii pentru modul în care un pachet se mișcă în lanțurile de decizie iptables. Pachetul se va muta de la o regulă la alta, atâta timp cât îndeplinește cerințele pentru fiecare lanț. Fiecare pachet va fi fie acceptat, redirecționat, abandonat, pus în coadă, resetat sau returnat.
Acceptarea mută pachetul în următorul lanț, iar renunțarea îndepărtează pachetul complet. Dacă pachetul este pus în coadă, este mutat și adresat într-un handler separat de coadă în spațiul utilizatorului. Când un pachet este returnat, acesta se mută înapoi la ultimul lanț acceptat.
Iptables este o aplicație pentru spațiul utilizatorului, ceea ce înseamnă că funcționează într-un spațiu separat din caracteristicile kernel-ului Linux. Criteriile utilizate pentru identificarea și distribuirea pachetelor de către firewall sunt complet configurabile și personalizabile folosind un set de opțiuni de comandă. Aceasta include stabilirea permisiunii pentru sesiunile stabilite, blocarea tipurilor de trafic și acces și permiterea numai a traficului specific pe anumite porturi. De asemenea, software-ul poate fi configurat să înregistreze tot traficul de intrare sau să înregistreze numai anumite tipuri de trafic.
Software-ul Iptables este întreținut de proiectul Nefilter și a început pentru prima dată în 1998. Pe lângă faptul că este folosit ca un firewall și software de manipulare a pachetelor, Iptables poate fi folosit și pentru mascarea IP, implementarea proxy transparentă și analiza jurnalului. Acest lucru permite firewall-ului să detecteze și să prevină activități potențial rău intenționate, protejând în continuare sistemul. De asemenea, software-ul este configurat cu extensii terțe, deoarece conține mai multe straturi de interfețe de programare a aplicațiilor. Iptables este de obicei instalat implicit pe majoritatea distribuțiilor de sisteme de operare Linux.