ืคืืจืกื ืืฉืืจืืจ ืฉื ืืกื ื ืื ืืช nftables 0.9.9, ืืืืื ืืืฉืงื ืกืื ืื ืื ืืช ืขืืืจ IPv4, IPv6, ARP ืืืฉืจื ืจืฉืช (ืฉืืืจืชื ืืืืืืฃ iptables, ip6table, arptables ื-ebtables). ืืืงืืื, ืคืืจืกืื ืืฉืืจืืจ ืฉื ืืกืคืจืืื ืื ืืืืืช libnftnl 1.2.0, ืืืกืคืงืช API ืืจืื ื ืืืื ืืืื ืืจืืงืฆืื ืขื ืชืช-ืืืขืจืืช nf_tables. ืืฉืื ืืืื ืื ืืจืฉืื ืืื ืฉืืืจืกื ืฉื nftables 0.9.9 ืชืขืืื ืืืืืื ืืืืืช ืืื ืืงืก 5.13-rc1.
ืืืืืช nftables ืืืืืช ืจืืืื ืืกื ื ืื ืืช ืืคืืขืืื ืืืื ืืืฉืชืืฉ, ืืขืื ืฉืืขืืืื ืืจืืช ืืืืื ืืกืืคืงืช ืขื ืืื ืชืช-ืืืขืจืืช nf_tables, ืฉืืืืชื ืืืง ืืืืืช ืืื ืืงืก ืืื ืืจืกื 3.13. ืจืืช ืืงืจื ื ืืกืคืงืช ืจืง ืืืฉืง ืื ืจื ืืืชื ืชืืื ืืคืจืืืืงืื ืืืกืคืง ืคืื ืงืฆืืืช ืืกืืกืืืช ืืืืืืฅ ื ืชืื ืื ืืื ืืช, ืืืฆืืข ืคืขืืืืช ื ืชืื ืื ืืืงืจืช ืืจืืื.
ืืืื ืืกืื ืื ืขืฆืื ืืืืืคืืื ืืกืคืฆืืคืืื ืืคืจืืืืงืื ืืืจืืืื ืืชืื bytecode ืฉื ืืจืื ืืืฉืชืืฉ, ืืืืืจ ืืื ืงืื ืืืช ืื ื ืืขื ืืชืื ืืืืื ืืืืฆืขืืช ืืืฉืง Netlink ืืืืืฆืข ืืงืจื ื ืืืืื ื ืืืจืืืืืืช ืืืืืืช ืืืืื ื-BPF (Berkeley Packet Filters). ืืืฉื ืื ืืืคืฉืจืช ืืืงืืื ืืฉืืขืืชืืช ืืช ืืืื ืงืื ืืกืื ืื ืืคืืขื ืืจืืช ืืงืจื ื ืืืืขืืืจ ืืช ืื ืืคืื ืงืฆืืืช ืฉื ืืืงื ืื ืืชืื ืืืืืืืื ืฉื ืขืืืื ืขื ืคืจืืืืงืืืื ืืืจืื ืืืฉืชืืฉ.
ืืืืืฉืื ืขืืงืจืืื:
- ืืืืืขื ืืืืืืช ืืืขืืืจ ืืช ืขืืืื ืืืืช ืืืจืืื ืืฆื ืืชืื ืืจืฉืช, ืืืคืขืืช ืืืืฆืขืืช ืืืื 'offload'. Flowtable ืืื ืื ืื ืื ืืืืคืืืืืืฆืื ืฉื ื ืชืื ืืคื ืืืช ืืืืืืืช, ืฉืื ืืืขืืจ ืืืื ืฉื ืื ืฉืจืฉืจืืืช ืขืืืื ืืืืืื ืืืื ืจืง ืขื ืืืืืื ืืจืืฉืื ื, ืืื ืฉืืจ ืืืืืืืช ืืืจืืื ืืืขืืจืืช ืืฉืืจืืช. table ip global { flowtable f { hook ingress priority filter + 1 devices = { lan3, lan0, wan } flags offload } chain forward { type filter hook forward priority filter; ืงืืืช ืืืื ืืืช; ip protocol { tcp, udp } flow add @f } chain post { type nat hook postrouting priority filter; ืงืืืช ืืืื ืืืช; oifname "wan" ืืกืืช } }
- ื ืืกืคื ืชืืืื ืืฆืืจืืฃ ืืื ืืขืืื ืืืืื ืืื ืืืืืื ืฉืืืืฉ ืืืขืื ืืืืื ืขื ืืื ืชืืืื. ืืืฉืจ ืชืืืื ืืกืชืืื, ืืืืื ืืืฉืืืืช ืืืื ื ืืืงืช ืืืืืืืืช. ืืืืข ืขื ืืชืืืื ืืืฆื ื-regels dump ืืฆืืจื ืฉื ืืขืจื: table ip x { # progname nft flags owner chain y { type filter hook input priority filter; ืงืืืช ืืืื ืืืช; ืื ืืช ืืื ื 1 ืืชืื 309 } }
- ื ืืกืคื ืชืืืื ืืืคืจื IEEE 802.1ad (VLAN stacking ืื QinQ), ืืืืืืจ ืืืฆืขื ืืืืืคืช ืชืื VLAN ืืจืืืื ืืืกืืจืช Ethernet ืืืช. ืืืืืื, ืืื ืืืืืง ืืช ืกืื ืืกืืจืช Ethernet ืืืฆืื ืืช 8021ad ื-vlan id=342, ืืชื ืืืื ืืืฉืชืืฉ ืืืื ื ... ether type 802.1ad vlan id 342 ืืื ืืืืืง ืืช ืืกืื ืืืืฆืื ื ืฉื ืืกืืจืช Ethernet 8021ad/vlan id=1, ืืงืื ื ืช 802.1 q/vlan id=2 ืืขืื ืืขืืคืช ืื ืืช IP: ... ether type 8021ad vlan id 1 vlan type 8021q vlan id 2 vlan type ip counter
- ื ืืกืคื ืชืืืื ืื ืืืื ืืฉืืืื ืืืืฆืขืืช ืืืืจืจืืื ืืืืืืืช cgroups v2. ืืืืื ืืขืืงืจื ืืื cgroups v2 ื- v1 ืืื ืืฉืืืืฉ ืืืืจืจืืืืช cgroups ืืฉืืชืคืช ืขืืืจ ืื ืกืืื ืืืฉืืืื, ืืืงืื ืืืจืจืืืืช ื ืคืจืืืช ืืืงืฆืืช ืืฉืืื CPU, ืืืืืกืืช ืฆืจืืืช ืืืืจืื ืืขืืืจ I/O. ืืืืืื, ืืื ืืืืืง ืื ืืื ืืงืืืื ืฉื ืฉืงืข ืืจืื ืืจืืฉืื ื cgroupv2 ืืชืืื ืืืกืืช "system.slice", ืืชื ืืืื ืืืฉืชืืฉ ืืืื ื: ... socket cgroupv2 level 1 "system.slice"
- ื ืืกืคื ืืืืืืช ืืืืืง ืจืืืืื ืฉื ืื ืืช SCTP (ืืคืื ืงืฆืืื ืืืืช ืื ืืจืฉืช ืืื ืชืืคืืข ืืืืืช ืืื ืืงืก 5.14). ืืืืืื, ืืื ืืืืืง ืื ืืืืื ืืืืื ื ืชื ืขื ืืกืื 'ื ืชืื ืื' ืืฉืื 'ืกืื': ... ืงืืื ื ืชืื ื chunk sctp ... ืกืื ื ืชืื ื sctp chunk 0
- ืืืฆืืข ืคืขืืืช ืืขืื ืช ืืืื ืืืืฅ ืืขืจื ืคื ืฉื ืืื ืืืืฆืขืืช ืืืื "-f". ืื ืืคืื ืฉื ืจืฉืืืช ืืืืืื ืืืืฅ.
- ืืกืืคืง ืืืคืก ืงืืืคืงืื ืืืืืงื ืื ืกืืืืืช ืืื ืืืืืจืืช. ืืืืืื, ืืื ืืืืืง ืฉืกืืืืืช ืืฆื ื-snat ืื-dnat ืืื ื ืืืืืจืื, ื ืืชื ืืฆืืื: ... ct status ! snat,dnat ืืื ืืืืืง ืฉื-syn bit ืืืืืจ ื-bitmask syn,ack: ... tcp flags syn / syn,ack ืืื ืืืืืง ืฉื-fin ืื-rst bits ืืื ื ืืืืืจืื ื-bitmask syn,ack,fin,rst: ... tcp flags ! = fin,rst / syn,ack,fin,rst
- ืืคืฉืจ ืืช ืืืืช ืืืคืชื "ืคืกืง ืืื" ืืืืืจืืช ืืกืื ืกื/ืืคื: ืืืกืฃ ืืคื xm { ืกืื ืฉื iifname . ืคืจืืืืงืื ip ืืคืืจื ื': ืคืกืง ืืื;}
ืืงืืจ: OpenNet.ru