Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Sicurezza/Nftables"
Differenze tra le versioni 40 e 50 (in 10 versioni)
Versione 40 del 15/02/2022 17.20.58
Dimensione: 4052
Autore: carlin0
Commento:
Versione 50 del 16/02/2022 14.52.31
Dimensione: 5310
Autore: carlin0
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 14: Linea 14:
<<BR>>

{{{#!wiki important
Tutti i comandi citati in questa pagina vanno digitati nel [[AmministrazioneSistema/Terminale|terminale]] con i [[AmministrazioneSistema/PrivilegiDiAmministrazione/Sudo|privilegi di amministrazione]] .
}}}
Linea 17: Linea 23:
Dal rilascio 20.10 Ubuntu utilizza come infrastruttura predefinita `nftables` al posto del precedente`iptables`. Dal rilascio 20.10 Ubuntu utilizza come infrastruttura predefinita `nftables` al posto del precedente `iptables`.
Linea 20: Linea 26:
 * Per selezionare e/o verificare quale infrastruttura firewall è in uso nel nostro sistema operativo digitare nel [[AmministrazioneSistema/Terminale|terminale]] questi 2 comandi: {{{
sudo update-alternatives --config iptables
sudo update-alternatives --config ip6tables
 * Per selezionare e/o verificare quale infrastruttura firewall è in uso nel nostro sistema operativo digitare questi 2 comandi: {{{
update-alternatives --config iptables
update-alternatives --config ip6tables
Linea 33: Linea 39:
}}} }}}Scegliere tra `nft` e `iptables-legacy`.
Linea 41: Linea 47:
= Transizione = = Migrazione =
Linea 43: Linea 49:
Per tradurre le regole da `iptables` a `nftables` abbiamo 2 modi. Per importare le regole da `iptables` a `nftables` ci sono 2 possibilità:
Linea 45: Linea 51:
== Una alla volta == == Regola singola ==
Linea 47: Linea 53:
 * Digitare nel [[AmministrazioneSistema/Terminale|terminale]]: {{{
sudo iptables-translate <regola di iptables>
}}}alcuni esempi: {{{
sudo iptables-translate -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT
 * Digitare: {{{
iptables-translate <regola di iptables>
}}}per esempio: {{{
iptables-translate -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT
Linea 54: Linea 60:
sudo ip6tables-translate -A FORWARD -i eth0 -o eth3 -p udp -m multiport --dports 111,222 -j ACCEPT ip6tables-translate -A FORWARD -i eth0 -o eth3 -p udp -m multiport --dports 111,222 -j ACCEPT
Linea 59: Linea 65:
== Tutte insieme == == Set di regole ==
Linea 61: Linea 67:
{{{#!wiki note
I comandi che seguono vanno tutti digitati nel [[AmministrazioneSistema/Terminale|terminale]]
 0. Salvare tutte le regole in uso su `iptables` in un file digitando: {{{
iptables-save > save.txt
Linea 65: Linea 71:
 0. Salvare tutte le regole in uso su `iptables` in un file digitando: {{{
sudo iptables-save > save.txt
}}}

 0. Tradurre le regole salvate nel file digitando: {{{
sudo iptables-restore-translate -f save.txt
}}}Oppure tradurre le regole e al tempo stesso salvarle in un file ''leggibile'' da `nftables` digitando: {{{
sudo iptables-restore-translate -f save.txt > ruleset.nft
 0. Importare le regole salvate nel file digitando: {{{
iptables-restore-translate -f save.txt
}}}Oppure importare le regole e al tempo stesso salvarle in un file ''leggibile'' da `nftables` digitando: {{{
iptables-restore-translate -f save.txt > ruleset.nft
Linea 76: Linea 78:
sudo nft -f ruleset.nft nft -f ruleset.nft
Linea 79: Linea 81:
= Persistenza = = Comandi principali =
Linea 81: Linea 83:
Per salvare le regole in uso in modo che vengano ricaricate al prossimo avvio digitare: {{{
sudo nft list ruleset > /etc/nftables.conf
== Generici ==

 * Per caricare le regole da un file digitare: {{{
nft -f <file>
Linea 84: Linea 88:

 * Per salvare le regole in uso in modo che vengano ricaricate al prossimo avvio digitare: {{{
nft list ruleset > /etc/nftables.conf
}}}

 * Per elencare le regole in uso digitare: {{{
nft list ruleset
}}}

 * Per elencare le regole in uso e vedere anche il numero di riga della regola digitare: {{{
nft -a list ruleset
}}}

 * Per cancellare tutte le regole in uso digitare: {{{
nft flush ruleset
}}}

== Tabelle ==

 * Per creare una tabella digitare: {{{
nft add table ip filter
}}}

 * Per elencare le tabelle digitare: {{{
nft list tables
}}}

 * Per cancellare una tabella digitare: {{{
nft delete table ip filter
}}}

 {{{#!wiki note
In caso di errore nella cancellazione della tabella svuotarla dalle regole contenute
 }}}

 * Per svuotare la tabella dalle regole in essa contenute digitare: {{{
nft flush table ip filter
}}}

== Catene ==

 * Per aggiungere una catena digitare: {{{
nft add chain [<famiglia>] <nome_tabella> <nome_catena> { type <tipo> hook <hook> priority <valore> \; [policy <policy> \;] }
}}}Per esempio: {{{
nft add chain ip filter input { type filter hook input priority 0; policy drop; }
nft add chain ip filter forward { type filter hook forward priority 0; policy drop; }
}}}



== Regole ==

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Nftables è un programma per controllare le regole di filtraggio dei pacchetti dal progetto Netfilter. Questo software fornisce un'infrastruttura per classificazione dei pacchetti interna al kernel che è basata su una VM (macchina virtuale) specifica per rete, e lo strumento a riga di comando in spazio utente nft. L'infrastruttura nftables riusa i sottosistemi Netfilter esistenti, come l'infrastruttura esistente per hook, il sistema di tracciamento delle connessioni, NAT, la gestione di code in spazio utente e il sottosistema di registrazione di log. Nftables sostituisce i vecchi popolari iptables, ip6tables, arptables ed ebtables. Il software Netfilter, e nftables in particolare, è utilizzato in applicazioni come condivisione di connessioni Internet, firewall, contabilità per IP, proxy trasparenti, instradamento avanzato e controllo del traffico.


Tutti i comandi citati in questa pagina vanno digitati nel terminale con i privilegi di amministrazione .

Selezione

Dal rilascio 20.10 Ubuntu utilizza come infrastruttura predefinita nftables al posto del precedente iptables.

  • Per selezionare e/o verificare quale infrastruttura firewall è in uso nel nostro sistema operativo digitare questi 2 comandi:

    update-alternatives --config iptables
    update-alternatives --config ip6tables

    riceveremo una risposta simile a questa:

    Sono disponibili 2 scelte per l'alternativa iptables (che fornisce /usr/sbin/iptables).
    
      Selezione    Percorso                   Priorità  Stato
    ------------------------------------------------------------
      0            /usr/sbin/iptables-nft      20        modalità automatica
    * 1            /usr/sbin/iptables-legacy   10        modalità manuale
      2            /usr/sbin/iptables-nft      20        modalità manuale
    
    Premere Invio per mantenere il valore predefinito[*] o digitare il numero della selezione: 

    Scegliere tra nft e iptables-legacy.

Installazione

  1. Installare il pacchetto nftables.

  2. Abilitare il servizio nftables all'avvio.

Migrazione

Per importare le regole da iptables a nftables ci sono 2 possibilità:

Regola singola

  • Digitare:

    iptables-translate <regola di iptables>

    per esempio:

    iptables-translate -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT

    riceveremo la risposta:

    nft add rule ip filter INPUT tcp dport 22 ct state new counter accept

    altro esempio ma con ipv6:

    ip6tables-translate -A FORWARD -i eth0 -o eth3 -p udp -m multiport --dports 111,222 -j ACCEPT

    riceveremo la risposta:

    nft add rule ip6 filter FORWARD iifname eth0 oifname eth3 meta l4proto udp udp dport { 111,222} counter accept

Set di regole

  1. Salvare tutte le regole in uso su iptables in un file digitando:

    iptables-save > save.txt
  2. Importare le regole salvate nel file digitando:

    iptables-restore-translate -f save.txt

    Oppure importare le regole e al tempo stesso salvarle in un file leggibile da nftables digitando:

    iptables-restore-translate -f save.txt > ruleset.nft
  3. Caricare su nftables le regole salvate nel file digitando:

    nft -f ruleset.nft

Comandi principali

Generici

  • Per caricare le regole da un file digitare:

    nft -f <file>
  • Per salvare le regole in uso in modo che vengano ricaricate al prossimo avvio digitare:

    nft list ruleset > /etc/nftables.conf
  • Per elencare le regole in uso digitare:

    nft list ruleset
  • Per elencare le regole in uso e vedere anche il numero di riga della regola digitare:

    nft -a list ruleset
  • Per cancellare tutte le regole in uso digitare:

    nft flush ruleset

Tabelle

  • Per creare una tabella digitare:

    nft add table ip filter
  • Per elencare le tabelle digitare:

    nft list tables
  • Per cancellare una tabella digitare:

    nft delete table ip filter

    In caso di errore nella cancellazione della tabella svuotarla dalle regole contenute

  • Per svuotare la tabella dalle regole in essa contenute digitare:

    nft flush table ip filter

Catene

  • Per aggiungere una catena digitare:

    nft add chain [<famiglia>] <nome_tabella> <nome_catena> { type <tipo> hook <hook> priority <valore> \; [policy <policy> \;] }

    Per esempio:

    nft add chain ip filter input { type filter hook input priority 0; policy drop; }
    nft add chain ip filter forward { type filter hook forward priority 0; policy drop; }

Regole