Ci sono diverse interfacce grafiche per iptables, ad esempio Webmin, dove l’uso del programma tramite riga di comando è relativamente semplice e facile da imparare.
iptables richiede dei privilegi di sistema avanzati e può quindi essere eseguito solo come utente root o con i relativi permessi di amministratore. Le tabelle (tables) caricate con il programma e create prima dal kernel comprendono catene (chains) di regole (rules) che indicano come devono essere trattati i pacchetti in ingresso e quelli inviati. Questi pacchetti vengono trasmessi all’interno di una catena passando da regola a regola, in cui ognuna di queste può provocare un’azione (jump target) o un passaggio ad un’altra catena (goto chain).
Le azioni, che si verificano quando una regola corrisponde ad un determinato pacchetto, possono essere le seguenti:
- ACCEPT: il pacchetto viene accettato.
- DROP: il pacchetto viene rifiutato.
- QUEUE: il pacchetto viene spostato negli altri processi utente; prevede un intermediario (queue handler) che inoltra i pacchetti all’applicazione.
- RETURN: il pacchetto viene rinviato alla catena precedente, quando si tratta di una catena personalizzata, mentre in quelle standard viene eseguita la policy della catena (di default senza configurazione: ACCEPT).
Le catene standard nominate nell’azione RETURN sono già presenti nella tabella di filtraggio di iptables: si tratta di tre catene INPUT, FORWARD e OUTPUT. La prima si occupa dei pacchetti, che devono essere consegnati al sistema, mentre la seconda elabora i pacchetti in entrata che sono destinati all’inoltro. Invece, la catena OUTPUT controlla il traffico dati, generato dal proprio computer. Per il resto, oltre alle tabelle di filtraggio, esistono una tabella NAT per la conversione degli indirizzi di rete e una tabella MANGLE per la manipolazione del pacchetto. Una panoramica dettagliata sulle funzionalità del software è offerta dalla pagina “Man”, che si può aprire in ogni momento con il comando