Nftables
Versioni Compatibili Tutte le versioni supportate di Debian |
Gateway-Router |
Sommario |
Introduzione
nftables
è la nuova infrastruttura per l'analisi e manipolazione dei pacchetti di rete che sostituisce la vecchia iptables
. Già in sviluppo da alcuni anni (è disponibile dalla versione 3.13 del kernel di linux) sarà la soluzione predefinita a partire da Buster, attraverso gli strumenti del gruppo xtables-nft
che permettono di agire su nftables
usando la vecchia sintassi di iptables
.
Naturalmente come sempre in questi casi la transizione non sarà netta da un giorno all'altro, ma il vecchio iptables
continuerà a sopravvivere come strumento legacy (difficile dire per quanto), visto che tra l'altro nftables
presenta un livello di compatibilità con il suo predecessore.
Installazione
Per usare gli strumenti del gruppo xtables-nft
non è necessario fare alcunché in Buster, infatti questi sono già disponibili di serie come già detto, mentre in Stretch è necessario installare il pacchetto iptables-nftables-compat
# apt install iptables-nftables-compat
infatti in Stretch non si parla di xtables-nft
,ma di
xtables-compat
. A prescindere dai nomi usati le due famiglie contengono gli stessi strumenti che permettono di gestire l'architettura nftables
attraverso la vecchia sintassi di iptables
, oltre a quelli di traduzione dei comandi iptables-translate
, iptables-restore-translate
, ecc.
Per poter usare invece il nuovo strumento nft
e quindi la sintassi nativa di nftables
è necessario installare il pacchetto nftables
# apt install nftables
presente sia in Buster che Stretch.
Sintassi nft
Mostrare tutte le regole di tutte le tabelle (tutto in una parola):
# nft list ruleset
Salvare tutte regole in un file testuale (utile per rendere permanente il tutto, si veda più sotto):
# nft list ruleset > nftables.conf
Caricare tutte le regole salvate in un file:
# nft -f nftables.conf
Elencare tutte le tabelle:
# nft list tables
Elencare tutte le catene e le regole della tabella filter appartenente alla famiglia ip:
# nft list table ip filter
Caricare automaticamente le regole
Come nel caso di iptables
tutte le regole dichiarate saranno perse al riavvio della macchina, ma al momento non esiste uno strumento come iptables-persistent
.
Una soluzione può quindi essere quella di usare cron per far caricare in automatico ad ogni avvio un file testuale contenente tutte le regole del firewall.
Come già scritto nella precedente sezione è possibile salvare le regole col comando
nft list ruleset
e ricaricarle con
# nft -f
, pertanto:
# nft list ruleset > /etc/nftables.conf
e a questo punto editare crontab
# crontab -e
aggiungendo la seguente riga:
@reboot /usr/sbin/nft -f /etc/nftables.conf
in modo che ad ogni riavvio vengano ricaricate in automatico tutte le regole.
Migrare da iptables
Sono stati sviluppati alcuni strumenti di conversione per facilitare la migrazione dalla sintassi di iptables
a quella di nftables
. In particolare:
iptables-translate
che permette di tradurre al volo un comando qualsiasi di iptables
(e qualora non ne sia in grado avvisa l'utente).
iptables-restore-translate
che invece traduce un file di regole generato attraverso iptables-save
.
Approfondimenti
Manpages
man xtables-nft
in Buster, man iptables-compat
in Stretch
man xtables-translate
in Buster, man iptables-translate
in Stretch
man nft
Sitografia
- Wiki ufficiale, pagina principale
- Wiki ufficiale, migrazione, pagina dedicata alla migrazione da
iptables
- homepage degli sviluppatori di netfilter
- nftables su wiki.debian.org
- Wiki Gentoo
- Wiki ArchLinux
Guida scritta da: Wtf 22:27, 5 mag 2019 (CEST)
Debianized 20%
Estesa da:
Verificata da:
Verificare ed estendere la guida | Cos'è una guida Debianized