- Forståelse af Linux nftables-kommandoen
Forståelse af Linux nftables Kommando #
nftables command er et kraftfuldt Linux-firewallværktøj, der erstatter iptables, ip6tables, arptablesog ebtablesMed en samlet syntaks, nftables forenkler netværkspakkefiltrering, NAT og andre avancerede netværkskonfigurationer. Kommandoen fungerer med nft værktøj, som kommunikerer med kernens netfilter-undersystem for at administrere netværksregler.
Grundlæggende syntaks og struktur af nft Kommando #
nft Kommandoen følger generelt denne struktur:
nft [OPTIONS] COMMAND
- OPTIONSFlag som
-a(vis regelhåndtag) eller-j(output i JSON-format). - KOMMANDODen specifikke handling, såsom
add,delete,listellerflush, bruges til at administrere tabeller, kæder eller regler.
nft Kommando Cheatsheet-tabel #
| Kommando | Produktbeskrivelse |
nft list tables |
Vis alle tabeller |
nft add table inet filter |
Opret en ny tabel med navnet filter i inet familie |
nft delete table inet filter |
Slette filter bord i inet familie |
nft list ruleset |
List alle tabeller, kæder og regler i et menneskelæsbart format |
nft flush ruleset |
Slet alle tabeller, kæder og regler (ryd hele regelsættet) |
nft add chain inet filter input { type filter hook input priority 0; } |
Tilføj en input kæde til filter bord med input Rendejern |
nft add rule inet filter input tcp dport 22 accept |
Accepter indgående SSH-trafik på port 22 |
nft delete rule inet filter input handle <handle_number> |
Slet en regel i input kæde ved at angive regelens handle |
nft add rule inet filter forward counter |
Tilføj en modregel til forward kæde til overvågning af trafik |
Tilføjelse og administration af tabeller #
In nftables, tabeller er beholdere til kæder og regler. Sådan opretter og administrerer du dem:
Opret en tabel #
nft add table inet my_table
Denne kommando opretter en ny tabel med navnet my_table i inet familie, som understøtter både IPv4 og IPv6.
Slet en tabel #
nft delete table inet my_table
Sletter my_table fra inet familie.
Kæder i nftables #
Kæder er sekvenser af regler, der definerer, hvordan pakker håndteres. Hver kæde har en specifik hook, som bestemmer pakkefiltreringsstadiet (f.eks. input, output eller forward).
Opret en kæde #
nft add chain inet my_table my_chain { type filter hook input priority 0; }
Dette skaber en input kæde ind my_table til filtrering af pakker med en prioritet på 0.
Slet en kæde #
nft delete chain inet my_table my_chain
Fjerner my_chain fra my_table.
Regler i nftables #
Regler angiver handlinger for pakker, der opfylder bestemte betingelser. Nedenfor er eksempler på tilføjelse, liste og sletning af regler.
Tilføjelse af regler #
nft add rule inet my_table my_chain tcp dport 80 accept
Denne regel tillader trafik på TCP-port 80 (HTTP).
Opføringsregler #
nft list chain inet my_table my_chain
Viser alle regler i my_chain.
Sletning af regler #
nft delete rule inet my_table my_chain handle <handle_number>
Fjerner en regel ved at angive dens handle-nummer, som kan vises ved nft list chain inet my_table my_chain -a.
Eksempel nftables Konfiguration: Grundlæggende firewallopsætning #
Her er en grundlæggende firewallkonfiguration, der tillader indgående SSH og HTTP/HTTPS, samtidig med at al anden trafik blokeres:
nft add table inet filter nft add chain inet filter input { type filter hook input priority 0\; policy drop\; } nft add rule inet filter input tcp dport 22 accept # Tillad SSH nft add rule inet filter input tcp dport 80 accept # Tillad HTTP nft add rule inet filter input tcp dport 443 accept # Tillad HTTPS nft add rule inet filter input ct state established,related accept # Tillad etablerede forbindelser
Avanceret: Stateful-regler med forbindelsessporing #
nftables har indbygget understøttelse af forbindelsessporing, så du kan administrere tilstandsfulde regler.
Eksempel: Tillad relaterede og etablerede forbindelser #
nft add rule inet filter input ct state established,related accept
Dette tillader pakker fra forbindelser, der allerede er etableret eller relateret til eksisterende, hvilket hjælper med at reducere unødvendig genbehandling af tidligere tilladte forbindelser.
Resumé #
nftables command er et moderne og alsidigt værktøj til netværkspakkefiltrering, der giver en samlet syntaks og fleksible muligheder for administration af firewallregler. nftables, kan du oprette effektive og vedligeholdelsesvenlige firewallkonfigurationer, der er egnede til både simple opsætninger og komplekse virksomhedsmiljøer.