lirimi i filtrit të paketës , i cili po zhvillohet si zëvendësim për iptables, ip6table, arptables dhe ebtables duke unifikuar ndërfaqet e filtrimit të paketave për IPv4, IPv6, ARP dhe urat e rrjetit. Paketa nftables përfshin komponentë të filtrimit të paketave që veprojnë në hapësirën e përdoruesit, ndërsa funksionaliteti në nivel kernel ofrohet nga nënsistemi nf_tables, i cili është pjesë e kernelit. Linux Duke filluar me versionin 3.13, ndryshimet e kërkuara që nftables 0.9.3 të funksionojë përfshihen në degën e ardhshme të kernelit. Linux 5.5.
Niveli i kernelit siguron vetëm një ndërfaqe gjenerike të pavarur nga protokolli që ofron funksione bazë për nxjerrjen e të dhënave nga paketat, kryerjen e operacioneve të të dhënave dhe kontrollin e rrjedhës. Vetë logjika e filtrimit dhe mbajtësit specifikë të protokollit përpilohen në bytecode në hapësirën e përdoruesit, pas së cilës ky bajtkod ngarkohet në kernel duke përdorur ndërfaqen Netlink dhe ekzekutohet në një makinë virtuale speciale që të kujton BPF (Berkeley Packet Filters). Kjo qasje ju lejon të zvogëloni ndjeshëm madhësinë e kodit të filtrimit që funksionon në nivelin e kernelit dhe të zhvendosni të gjitha funksionet e rregullave të analizimit dhe logjikës për të punuar me protokollet në hapësirën e përdoruesit.
Risitë kryesore:
- Mbështetje për përputhjen e paketave sipas kohës. Ju mund të përcaktoni intervalet e kohës dhe datave në të cilat do të aktivizohet rregulli dhe mund të konfiguroni aktivizimin në ditët individuale të javës. U shtua gjithashtu një opsion i ri "-T" për të shfaqur kohën epokale në sekonda.
meta ora \»2019-12-24 16:00\" â \»2020-01-02 7:00\"
meta orë \"17:00\" - \"19:00\"
meta dita \"Premte\" - Mbështetje për rivendosjen dhe ruajtjen e etiketave SELinux (shenjë sekuence).
ct secmark set meta secmark
set meta secmark ct secmark - Mbështetje për listat e hartave synproxy, duke ju lejuar të përcaktoni më shumë se një rregull për fund.
ip tavoline foo {
synproxy https-synproxy {
mss 1460
wshkalla 7
vula kohore sack-perm
}synproxy other-synproxy {
mss 1460
wshkalla 5
}zinxhir para {
lloji i fiksimit të filtrit, prioriteti i parakalimit të parë; pranimi i politikës;
tcp dport 8888 tcp flags syn notrack
}shirit zinxhir {
lloji i filtrit hook përpara filtër prioritar; pranimi i politikës;
ct gjendje e pavlefshme, emri i sinproksit i pa gjurmuar ip saddr harta { 192.168.1.0/24 : "https-synproxy", 192.168.2.0/24 : "other-synproxy" }
}
} - Aftësia për të hequr në mënyrë dinamike elementet e grupit nga rregullat e përpunimit të paketave.
Rregulli nft shto ... fshi @set5 { ip6 saddr . ip6 babi}
- Mbështetje për hartëzimin VLAN me ID dhe protokoll të përcaktuar në metadatat e ndërfaqes së urës së rrjetit;
meta ibrpvid 100
meta ibrvproto vlan - Opsioni "-t" ("--terse") për të përjashtuar elementet e grupeve kur shfaqen rregullat. Ekzekutimi i "nft -t list rregullave" do të dalë:
tabela ip x {
vendos y {
shkruani ipv4_addr
}
}Dhe me "listën e rregullave nft"
tabela ip x {
vendos y {
shkruani ipv4_addr
elementet = { 192.168.10.2, 192.168.20.1,
192.168.4.4, 192.168.2.34 }
}
} - Aftësia për të specifikuar më shumë se një pajisje në zinxhirët netdev (funksionon vetëm me kernel 5.5) për të kombinuar rregullat e zakonshme të filtrimit.
shtoni tabelën netdev x
shtoni zinxhirin netdev xy { \
tipi pajisjet e hyrjes së grepit të filtrit = { eth0, eth1 } prioriteti 0;
} - Aftësia për të shtuar përshkrime të llojeve të të dhënave.
#nft përshkruani ipv4_addr
tipi i të dhënave ipv4_addr (adresa IPv4) (numri i plotë i tipit bazë), 32 bit - Aftësia për të ndërtuar një ndërfaqe CLI me bibliotekën linenoise në vend të libreadline.
./konfiguro --with-cli=linenoise
Burimi: opennet.ru
