lëshimi i filtrit të paketave , që po zhvillohet si një zëvendësim për iptables, ip6tables, arptables dhe ebtables përmes unifikimit të ndërfaqeve të filtrimit të paketave për IPv4, IPv6, ARP dhe urat rrjetësore. Paketa nftables përfshin komponimet e filtrit të paketave që funksionojnë në hapësirën e përdoruesit, ndërsa në nivelin e bërthamës, puna sigurohet nga nën-sistemi nf_tables, i cili është pjesë e bërthamës Linux që nga versione 3.13. Ndryshimet e nevojshme për funksionimin e versionit nftables 0.9.3 janë përfshirë në degën e ardhshme të bërthamës Linux 5.5.
Në nivelin e bërthamës, ofrohet vetëm një ndërfaqe e përgjithshme, që nuk varet nga një protokoll i caktuar dhe ofron funksione bazike për nxjerrjen e të dhënave nga paketat, kryerjen e operacioneve me të dhëna dhe menaxhimin e rrjedhës. Logjika e filtrimit dhe trajtuesit specifikë për protokollet kompilohet në kod byte në hapësirën e përdoruesit, pas së cilës ky kod byte ngarkohet në bërthamë përmes ndërfaqes Netlink dhe ekzekutohet në një makinë virtuale speciale, e ngjashme me BPF (Berkeley Packet Filters). Ky qasje lejon të reduktohet ndjeshëm madhësia e kodit të filtrimit, që funksionon në nivelin e bërthamës, dhe të nxirren të gjitha funksionet e analizës së rregullave dhe logjikës së punës me protokollet në hapësirën e përdoruesit.
TĂ« rejat kryesore:
- Mbështetje për përputhjen e paketave sipas kohës. Mund të përcaktohet si intervale kohore dhe datash, kur do të aktivizohet rregulli, ashtu siç është e mundur të konfiguroni aktivizimin në ditë të veçanta të javës. Po ashtu është shtuar një opsion i ri "-T" për të shfaqur kohën epokale në sekonda.
meta time \»2019-12-24 16:00\» â \»2020-01-02 7:00\»
meta hour \»17:00\» â \»19:00\»
meta day \»Fri\» - Mbështetje për rikthimin dhe ruajtjen e etiketave SELinux (secmark).
ct secmark set meta secmark
meta secmark set ct secmark - Mbështetje për listat e hartës synproxy, që lejojnë përcaktimin e më shumë se një rregulli në backend.
table ip foo {
synproxy https-synproxy {
mss 1460
wscale 7
timestamp sack-perm
}synproxy other-synproxy {
mss 1460
wscale 5
}chain pre {
tipi filtri lidhni paralajmërimin përparësi të papërpunuar; politika prano;
tcp dport 8888 tcp flags syn notrack
}chain bar {
tipi filtri lidhni përpara përparësi filtri; politika prano;
ct state invalid,untracked synproxy name ip saddr map { 192.168.1.0/24 : «https-synproxy», 192.168.2.0/24 : «other-synproxy» }
}
} - Mundësia për të fshirë dinamikisht elementët e grupeve set nga rregullat e përpunimit të pakove.
nft add rule ⊠delete @set5 { ip6 saddr . ip6 daddr }
- Mbështetje për përshtatjen e VLAN sipas identifikuesit dhe protokollit, të përcaktuar në metadata e ndërfaqes së urës rrjetit;
meta ibrpvid 100
meta ibrvproto vlan - Opsioni «-t» («âterse») pĂ«r tĂ« pĂ«rjashtuar elementĂ«t e grupeve set gjatĂ« shfaqjes sĂ« rregullave. Kur ekzekutohet «nft -t list ruleset» do tĂ« shfaqet:
tavolinë ip x {
set y {
type ipv4_addr
}
}Ndërsa me «nft list ruleset»
tavolinë ip x {
set y {
type ipv4_addr
elements = { 192.168.10.2, 192.168.20.1,
192.168.4.4, 192.168.2.34 }
}
} - Mundësia për të treguar më shumë se një pajisje në zinxhirët netdev (funksionon vetëm me bërthamën 5.5) për të integruar rregulla tipike filtrimi.
add table netdev x
add chain netdev x y { \
type filter hook ingress devices = { eth0, eth1 } priority 0;
} - Mundësia për të shtuar përshkrime për llojet e të dhënave.
# nft describe ipv4_addr
datatype ipv4_addr (IPv4 address) (basetype integer), 32 bits - Mundësia për të ndërtuar ndërfaqen CLI me bibliotekën linenoise në vend të libreadline.
./configure âwith-cli=linenoise
Burimi: opennet.ru
