GNU/Linux >> Linux Esercitazione >  >> Linux

Ciao nftables, addio iptables

Il firewall in Linux viene rinnovato.

Sì, hai letto bene. Lo strumento di firewall che è stato odiato o amato, da quando il kernel 2.4 è stato gradualmente eliminato dal kernel v4.9 in poi a favore di nftables.

Iptables sarà ancora disponibile per il prossimo futuro, tuttavia ora è il momento di imparare la nuova sintassi di nftables. Nftables, che sta per netfilter  tavoli. Nftables fa parte della suite netfilter, che è un team di contributori del kernel specificamente incaricati di fare "NAT, firewall e manipolazione dei pacchetti per Linux". Il team di netfilter sono gli stessi autori che ci hanno portato iptables, quindi sono probabilmente nella posizione migliore per sostituire iptables, proprio come ipchains e ipfw prima.

Nuova funzionalità

Nftables offre nuove funzionalità non disponibili in iptables ed è disponibile (sebbene non completamente stabile) dal kernel 3.13. Oltre al modulo del kernel stesso, altri tre componenti comprendono nftables. Questi sono:

  • libmnl:la libreria Netlink minimalista
  • libnftnl:libreria di spazio utente netlink di basso livello
  • nft:strumento da riga di comando.

Il nuovo set di strumenti offre i seguenti vantaggi rispetto a iptables:

  • Alte prestazioni tramite mappe e concatenazioni:l'ispezione dei set di regole lineari non aumenta. Utilizzando mappe e concatenazioni, puoi strutturare il tuo set di regole per ridurre il numero di ispezioni delle regole per trovare l'azione finale sul pacchetto al minimo indispensabile.
  • Sintassi unificata e coerente per ogni famiglia di protocolli di supporto, contrariamente alle utility xtables, che sono ben note per essere piene di incongruenze.
  • Macchina virtuale specifica per la rete :il nft lo strumento della riga di comando compila il set di regole nel bytecode della VM in formato netlink, quindi lo inserisce nel kernel tramite l'API Netlink di nftables. Quando si recupera il set di regole, il bytecode della macchina virtuale in formato netlink viene decompilato nella sua rappresentazione del set di regole originale. Quindi nft si comporta sia come compilatore che come decompilatore.
  • Non c'è bisogno di aggiornamenti del kernel e una base di codice del kernel più piccola :L'intelligence è collocata nello spazio utente nft strumento da riga di comando, che è considerevolmente più complesso di iptables in termini di codebase, tuttavia, a metà corsa, questo ci consentirà potenzialmente di fornire nuove funzionalità aggiornando lo strumento da riga di comando dello spazio utente, senza bisogno di aggiornamenti del kernel.

Posso convertire facilmente le mie regole di iptables in nft?

Abbastanza facilmente. Esiste uno strumento di conversione che funziona come segue:
% iptables-translate -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT
nft add rule ip filter INPUT tcp dport 22 ct state new counter accept


% ip6tables-translate -A FORWARD -i eth0 -o eth3 -p udp -m multiport --dports 111,222 -j ACCEPT
nft add rule ip6 filter FORWARD iifname eth0 oifname eth3 meta l4proto udp udp dport {111,222} counter accept

  • Per ulteriori informazioni sul passaggio da iptables a nftables, dai un'occhiata a questa utile pagina wiki del team di netfilter.

Quando arriverà alla mia distribuzione Linux?

A partire da Debian 9 stable, il framework nftables è installato, pronto per l'uso. È disponibile tramite l'installazione del pacchetto in Debian Development (Stretch), basta digitare aptitude install nftables.

Un rilascio su Debian stable quasi certamente alimenterà il rilascio a valle di tutte le altre principali distribuzioni basate su Debian come Ubuntu nel prossimo futuro. Gli utenti di CentOS 7/RHEL 7 possono installare nftables dal repository EPEL ufficiale di Red Hat utilizzando yum oggi. Al momento in cui scrivo CentOS fornisce la versione 0.6 e Debian 0.7. Ubuntu 16.04 LTS ha una versione precedente (0.5), tuttavia consiglierei di attendere una versione successiva.

Maggiori informazioni

Per ottenere ulteriori informazioni, vai al sito web di netfilter, hanno un'ottima documentazione:

  • Come fare su nftables:http://wiki.nftables.org
  • home page di nftables
  • Aggiornamento Debian e nftables (maggio 2017)

Linux
  1. Un "panico del kernel"?

  2. Linux – Inoltro IP del kernel?

  3. Linux:un kernel contaminato in Linux?

  4. Usa iptables con CentOS 7

  5. Come migrare le regole Iptables esistenti su Nftables in CentOS/RHEL 8

Bash ha letto Comando

Comando Dmesg in Linux

Comando Sysctl in Linux

Linux è un sistema operativo o un kernel?

Kernel Linux vs. Kernel Mac

iptables vs nftables:qual è la differenza?