- Comprensione del comando nftables di Linux
Capire Linux nftables Comando #
Migliori nftables command è un potente strumento firewall Linux che sostituisce iptables, ip6tables, arptablese ebtablesCon una sintassi unificata, nftables semplifica il filtraggio dei pacchetti di rete, il NAT e altre configurazioni di rete avanzate. Il comando funziona con nft utilità che comunica con il sottosistema netfilter del kernel per gestire le regole di rete.
Sintassi e struttura di base del nft Comando #
Migliori nft il comando generalmente segue questa struttura:
nft [OPTIONS] COMMAND
- VERSIONI: Bandiere come
-a(mostra le maniglie delle regole) o-j(output in formato JSON). - COMANDO: L'azione specifica, come ad esempio
add,delete,list, oflush, utilizzato per gestire tabelle, catene o regole.
nft Tabella dei comandi #
| Comando | Descrizione |
nft list tables |
Elenca tutte le tabelle |
nft add table inet filter |
Crea una nuova tabella denominata filter nella inet . |
nft delete table inet filter |
Eliminare il filter tavolo in inet . |
nft list ruleset |
Elenca tutte le tabelle, le catene e le regole in un formato leggibile dall'uomo |
nft flush ruleset |
Elimina tutte le tabelle, le catene e le regole (svuota l'intero set di regole) |
nft add chain inet filter input { type filter hook input priority 0; } |
Aggiungi un input catena al filter tavolo con input gancio |
nft add rule inet filter input tcp dport 22 accept |
Accetta il traffico SSH in arrivo sulla porta 22 |
nft delete rule inet filter input handle <handle_number> |
Elimina una regola in input catena specificando l'handle della regola |
nft add rule inet filter forward counter |
Aggiungi una regola contatore al forward catena per il monitoraggio del traffico |
Aggiunta e gestione di tabelle #
In nftablesLe tabelle sono contenitori per catene e regole. Ecco come crearle e gestirle:
Crea una tabella #
nft add table inet my_table
Questo comando crea una nuova tabella denominata my_table all'interno inet famiglia, che supporta sia IPv4 che IPv6.
Elimina una tabella #
nft delete table inet my_table
Elimina il my_table dal inet famiglia.
Catene dentro nftables #
Le catene sono sequenze di regole che definiscono come vengono gestiti i pacchetti. Ogni catena ha un codice specifico hook, che determina la fase di filtraggio dei pacchetti (ad esempio, input, output, o forward).
Crea una catena #
nft add chain inet my_table my_chain { type filter hook input priority 0; }
Questo crea un input catena dentro my_table per filtrare i pacchetti con priorità di 0.
Elimina una catena #
nft delete chain inet my_table my_chain
Rimuove il my_chain da my_table.
Regole dentro nftables #
Le regole specificano le azioni da intraprendere per i pacchetti che soddisfano determinate condizioni. Di seguito sono riportati esempi di aggiunta, elencazione ed eliminazione di regole.
Aggiunta di regole #
nft add rule inet my_table my_chain tcp dport 80 accept
Questa regola consente il traffico sulla porta TCP 80 (HTTP).
Regole di quotazione #
nft list chain inet my_table my_chain
Visualizza tutte le regole in my_chain.
Eliminazione di regole #
nft delete rule inet my_table my_chain handle <handle_number>
Rimuove una regola specificandone il numero handle, che può essere visualizzato da nft list chain inet my_table my_chain -a.
Esempio nftables Configurazione: Impostazione di base del firewall #
Ecco una configurazione di base del firewall che consente l'ingresso di SSH e HTTP/HTTPS, bloccando tutto il resto del traffico:
nft aggiungi tabella filtro inet nft aggiungi catena filtro inet input { tipo filtro hook input priorità 0\; policy drop\; } nft aggiungi regola filtro inet input tcp dport 22 accetta # Consenti SSH nft aggiungi regola filtro inet input tcp dport 80 accetta # Consenti HTTP nft aggiungi regola filtro inet input tcp dport 443 accetta # Consenti HTTPS nft aggiungi regola filtro inet input ct stato stabilito, correlato accetta # Consenti connessioni stabilite
Avanzate: regole con stato con tracciamento delle connessioni #
nftables ha un supporto integrato per il monitoraggio delle connessioni, consentendo di gestire regole con stato.
Esempio: Consenti connessioni correlate e stabilite #
nft add rule inet filter input ct state established,related accept
Ciò consente l'elaborazione di pacchetti provenienti da connessioni già stabilite o correlate a connessioni esistenti, contribuendo a ridurre la rielaborazione non necessaria di connessioni precedentemente consentite.
Sintesi #
Migliori nftables Il comando è uno strumento moderno e versatile per il filtraggio dei pacchetti di rete, che fornisce una sintassi unificata e opzioni flessibili per la gestione delle regole del firewall. Con nftables, è possibile creare configurazioni firewall efficienti e gestibili, adatte sia a installazioni semplici che ad ambienti aziendali complessi.