paketifiltri vĂ€ljaanne , mis areneb iptables'i, ip6table'i, arptables'i ja ebtables'i asendamiseks, ĂŒhtlustades pakettide filtreerimise liideseid IPv4, IPv6, ARP ja vĂ”rgusilla jaoks. Paketis nftables on komponentide paketifilter, mis töötab kasutajaruumi, samas kui tuumatasandil tagab töö nf_tables alam sĂŒsteem, mis on osa Linuxi tuumast alates vĂ€ljaandest 3.13. Nftables 0.9.3 vĂ€ljaande jaoks vajalikud muudatused on lisatud tulevase Linuxi tuuma 5.5 haru koosseisu.
Tuumatasandil pakutakse ainult ĂŒldist liidest, mis ei sĂ”ltu konkreetsest protokollist ja pakub pĂ”hifunktsioone andmete ekstraktsiooniks pakettidest, andmete töötlemiseks ja voogude haldamiseks. Otsene filtreerimise loogika ja protokollipĂ”hised töötlejad kompileeritakse kasutajaruumi 'bytecode', mis seejĂ€rel laaditakse tuuma mitteliidese kaudu ja kĂ€itatakse spetsiaalses virtuaalmasinas, mis meenutab BPF-i (Berkeley Packet Filters). Selline lĂ€henemine vĂ”imaldab oluliselt vĂ€hendada tuumatasandil töötava filtreerimiskoodi suurust, viies kĂ”ik reeglite kĂ€sitlemise ja protokollide töötlemise funktsioonid kasutajaruumi.
Peamised uuendused:
- Pakettide ajaga vastavuse tugi. Saate mÀÀrata nii ajavahemikud kui ka kuupĂ€evad, mille jooksul reegel kehtib, ning seadistada registreerimise kindlatele nĂ€dalapĂ€evadele. Samuti on lisatud uus valik â-Tâ, et kuvada ajamĂ€rgid sekundites.
meta time "2019-12-24 16:00" â "2020-01-02 7:00"
meta hour "17:00" â "19:00"
meta day "Fri" - SELinuxi (secmark) sildide taastamise ja salvestamise tugi.
ct secmark set meta secmark
meta secmark set ct secmark - tugi map-loenditele synproxy, mis vĂ”imaldavad mÀÀrata rohkem kui ĂŒks reegel tahkete tagasijĂ”udmiseks.
table ip foo {
synproxy https-synproxy {
mss 1460
wscale 7
timestamp sack-perm
}synproxy other-synproxy {
mss 1460
wscale 5
}chain pre {
type filter hook prerouting priority raw; policy accept;
tcp dport 8888 tcp flags syn notrack
}chain bar {
type filter hook forward priority filter; policy accept;
ct state invalid,untracked synproxy name ip saddr map { 192.168.1.0/24 : "https-synproxy", 192.168.2.0/24 : "other-synproxy" }
}
} - DĂŒnaamilise eemaldamise vĂ”imalus set-gruppidest pakettide töötlemise reeglitest.
nft add rule ⊠delete @set5 { ip6 saddr . ip6 daddr }
- Tuge ajamerrorite tuvastamiseks VLAN-i pÔhjal, mis on mÀÀratud vÔrgusilla liidese metaandmetes;
meta ibrpvid 100
meta ibrvproto vlan - Valik â-tâ (ââterseâ) set-kogumite elementide vĂ€listamiseks reeglite kuvamisel. KĂ€ivitades ânft -t list rulesetâ kuvab:
table ip x {
set y {
type ipv4_addr
}
}Ja kĂ€ivitades ânft list rulesetâ
table ip x {
set y {
type ipv4_addr
elements = { 192.168.10.2, 192.168.20.1,
192.168.4.4, 192.168.2.34 }
}
} - VĂ”imalus mÀÀrata rohkem kui ĂŒks seade netdev-ahelates (töötavad ainult koos kerneliga 5.5) standardsete filtreerimise reeglite ĂŒhendamiseks.
add table netdev x
add chain netdev x y { \
type filter hook ingress devices = { eth0, eth1 } priority 0;
} - VĂ”imalus lisada andmetĂŒĂŒpide kirjeldusi.
# nft describe ipv4_addr
datatype ipv4_addr (IPv4 address) (basetype integer), 32 bitti - VÔimalus koostada CLI-liidese linenoise raamatukoguga libreadline'i asemel.
.\/configure âwith-cli=linenoise
Allikas: opennet.ru
