iptables firewall viene utilizzato per gestire il filtraggio dei pacchetti e le regole NAT. IPtables viene fornito con tutte le distribuzioni Linux. Capire come impostare e configurare iptables ti aiuterà a gestire il tuo firewall Linux in modo efficace.
Lo strumento iptables viene utilizzato per gestire le regole del firewall di Linux. A prima vista, iptables potrebbe sembrare complesso (o addirittura confuso). Ma, una volta comprese le basi di come funziona iptables e come è strutturato, leggere e scrivere le regole del firewall di iptables sarà facile.
Questo articolo fa parte di una serie di tutorial in corso su iptables. Questo è il primo articolo di quella serie.
Questo articolo spiega come è strutturato iptables e spiega i fondamenti su tabelle, catene e regole di iptables.
Su un alto livello iptables potrebbe contenere più tabelle. Le tabelle possono contenere più catene. Le catene possono essere integrate o definite dall'utente. Le catene possono contenere più regole. Le regole sono definite per i pacchetti.
Quindi, la struttura è:iptables -> Tabelle -> Catene -> Regole. Questo è definito nel diagramma seguente.
Fig :Struttura di tabelle, catene e regole IPTables
Giusto per ribadire, le tabelle sono un mucchio di catene e le catene sono un mucchio di regole del firewall.
Io. TABELLE e CATENE IPTABLES
IPTables ha le seguenti 4 tabelle integrate.
1. Filtra tabella
Il filtro è la tabella predefinita per iptables. Quindi, se non definisci la tua tabella, utilizzerai la tabella dei filtri. La tabella dei filtri di Iptables ha le seguenti catene integrate.
- Catena INPUT – In arrivo al firewall. Per i pacchetti in arrivo al server locale.
- Catena OUTPUT – In uscita dal firewall. Per i pacchetti generati localmente e in uscita dal server locale.
- Catena FORWARD – Pacchetto per un'altra NIC sul server locale. Per i pacchetti instradati attraverso il server locale.
2. Tabella NAT
La tabella NAT di Iptable ha le seguenti catene integrate.
- Catena PREROUTING:altera i pacchetti prima dell'instradamento. cioè la traduzione del pacchetto avviene immediatamente dopo che il pacchetto arriva al sistema (e prima dell'instradamento). Questo aiuta a tradurre l'indirizzo IP di destinazione dei pacchetti in qualcosa che corrisponda al routing sul server locale. Viene utilizzato per DNAT (NAT di destinazione).
- catena POSTROUTING:altera i pacchetti dopo l'instradamento. cioè la traduzione dei pacchetti avviene quando i pacchetti lasciano il sistema. Questo aiuta a tradurre l'indirizzo IP di origine dei pacchetti in qualcosa che potrebbe corrispondere all'instradamento sul server di desinzione. Viene utilizzato per SNAT (NAT di origine).
- Catena di OUTPUT – NAT per i pacchetti generati localmente sul firewall.
3. Tavolo Mangle
La tabella Mangle di Iptables è per l'alterazione di pacchetti specializzata. Questo altera i bit QOS nell'intestazione TCP. Il tavolo Mangle ha le seguenti catene integrate.
- catena PREROUTING
- Catena di OUTPUT
- Catena AVANTI
- Catena di INPUT
- Catena POSTROUTING
4. Tavola grezza
La tabella Raw di Iptable è per le eccezioni di configurazione. La tabella Raw ha le seguenti catene integrate.
- catena PREROUTING
- Catena di OUTPUT
Il diagramma seguente mostra le tre tabelle importanti in iptables.
Fig :tabelle integrate di IPtables
II. REGOLE IPTABLES
Di seguito sono riportati i punti chiave da ricordare per le regole di iptables.
- Le regole contengono un criterio e un obiettivo.
- Se il criterio è soddisfatto, passa alle regole specificate nel target (o) esegue i valori speciali menzionati nel target.
- Se i criteri non corrispondono, si passa alla regola successiva.
Valori target
Di seguito sono riportati i possibili valori speciali che puoi specificare nella destinazione.
- ACCETTO – Il firewall accetterà il pacchetto.
- DROP – Il firewall eliminerà il pacchetto.
- CODA – Il firewall passerà il pacchetto allo spazio utente.
- RETURN – Il firewall interromperà l'esecuzione del prossimo set di regole nella catena corrente per questo pacchetto. Il controllo verrà restituito alla catena di chiamate.
Se esegui iptables –list (o) servizio iptables status, vedrai tutte le regole firewall disponibili sul tuo sistema. Il seguente esempio di iptable mostra che non ci sono regole firewall definite su questo sistema. Come puoi vedere, mostra la tabella di input predefinita, con la catena di input predefinita, la catena diretta e la catena di output.
# iptables -t filter --list Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
Per visualizzare la tabella del mangano, procedi come segue.
# iptables -t mangle --list
Procedi come segue per visualizzare la tabella nat.
# iptables -t nat --list
Procedi come segue per visualizzare la tabella grezza.
# iptables -t raw --list
Nota:se non specifichi l'opzione -t, verrà visualizzata la tabella dei filtri predefinita. Quindi, entrambi i seguenti comandi sono gli stessi.
# iptables -t filter --list (or) # iptables --list
Il seguente esempio di iptable mostra che ci sono alcune regole definite nella catena di input, forward e output della tabella dei filtri.
# iptables --list Chain INPUT (policy ACCEPT) num target prot opt source destination 1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0 Chain FORWARD (policy ACCEPT) num target prot opt source destination 1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0 Chain OUTPUT (policy ACCEPT) num target prot opt source destination Chain RH-Firewall-1-INPUT (2 references) num target prot opt source destination 1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255 3 ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0 4 ACCEPT ah -- 0.0.0.0/0 0.0.0.0/0 5 ACCEPT udp -- 0.0.0.0/0 224.0.0.251 udp dpt:5353 6 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:631 7 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:631 8 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 9 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 10 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Le regole nell'output del comando iptables –list contengono i seguenti campi:
- num – Numero di regola all'interno della catena particolare
- target – Variabile target speciale di cui abbiamo discusso sopra
- prot – Protocolli. tcp, udp, icmp, ecc.,
- opt:opzioni speciali per quella regola specifica.
- sorgente – Indirizzo IP di origine del pacchetto
- destinazione:indirizzo IP di destinazione per il pacchetto