Debian e iptables: differenze tra le versioni

nessun oggetto della modifica
m (rimossa parte obsoleta e sostituito pacchetto)
Nessun oggetto della modifica
Riga 8: Riga 8:
<pre># apt-get install iptables</pre>
<pre># apt-get install iptables</pre>
Attenzione che se avete un kernel ricompilato per conto vostro dovrete assicuratevi di avere abilitato tutte le opzioni ed i moduli necessari.
Attenzione che se avete un kernel ricompilato per conto vostro dovrete assicuratevi di avere abilitato tutte le opzioni ed i moduli necessari.
=== Nozioni di base ===
Prima di addentrarsi nel magico mondo di <code>iptables</code> è bene aver chiare alcune informazioni preliminari, assolutamente necessarie per comprendere i comandi che saranno presentati più avanti.
In linea generale ogni regola di iptables, per quanto lunga e complessa, è così strutturata:
# tabella cui attribuire la regola, ad esempio ''filter'';
# catena cui attribuire la regola, ad esempio ''input'';
# condizioni che fanno applicare la regola al pacchetto in esame, ad esempio tutti i pacchetti provenienti da fuori LAN, basati su protocollo TCP e diretti alla porta numero X;
# azione da intraprendere, ad esempio accettare o scartare il pacchetto.
Ci sono cinque tabelle indipendenti predefinite, ma all'utente comune normalmente ne interessano solo due:
* '''filter''', la tabella usata per decidere del destino dei pacchetti, ovvero accettati o scartati. È, usando un'espressione impropria, la tabella delle regole del firewall;
* '''nat''', la tabella usata per alterare e instradare i pacchetti. Questa tabella viene usata per esempio per sostituire l'ip sorgente di un pacchetto in uscita dalla LAN (masquerading) o per reindirizzare ad una certa macchina della LAN tutti i pacchetti provenienti da internet e diretti verso una certa porta.
Le catene possono essere pensate come le colonne che compongono le tabelle.
* ''filter''
** '''INPUT''', raggruppa tutte le regole riguardanti i pacchetti che arrivati ad una delle interfacce di rete della macchina devono essere indirizzati alla macchina stessa;
** '''OUTPUT''', raggruppa tutte le regole riguardanti i pacchetti generati dalla macchina e destinati ad essere inviati altrove;
** '''FORWARDING''', raggruppa tutte le regole riguardanti i pacchetti che arrivati ad una delle interfacce di rete della macchina devono essere instradati direttamente ad un'altra sua interfaccia, poiché non destinati a questa macchina.
* ''nat''
** '''PREROUTING''', raggruppa tutte le regole che modificano i pacchetti in arrivo ad una delle interfacce della macchina, prima che raggiungano la tabella ''filter'';
** '''OUTPUT''', raggruppa tutte le regole che modificano i pacchetti generati dalla macchina prima di transitare attraverso la catena ''output'' della tabella ''filter'';
** '''POSTROUTING''', raggruppa tutte le regole che modificano i pacchetti in uscita da una delle interfacce della macchina, dopo che hanno già oltrepassato la tabella ''filter'', catena ''output'' o catena ''forwarding'' a seconda della provenienza del pacchetto;
Se si considerano le sole due tabelle qui descritte l'ordine di transito delle diverse catene è il seguente:
# '''nat PREROUTING'''
# instradamento del pacchetto:
#* se diretto alla macchina
#*# '''filter INPUT'''
#*# elaborazione locale. Se nessuna risposta deve essere data il percorso si conclude qui, viceversa il pacchetto di risposta attraverserà:
#*# '''nat OUTPUT'''
#*# '''filter OUTPUT'''
#* se diretto ad un altro dispositivo attraverserà invece '''filter FORWARD'''
# nuovo instradamento del pacchetto
# '''nat POSTROUTING'''


===Risorse in rete===
===Risorse in rete===
2 894

contributi