Megjelent a nftables 1.0.2 csomagszűrő.

Megjelent az nftables 1.0.2 verzió, amely egységesíti a csomagszűrési interfészeket IPv4, IPv6, ARP és hálózati hidak számára (célja az iptables, ip6tables, arptables és ebtables helyettesítése). Az nftables 1.0.2 működéséhez szükséges módosítások a Linux 5.17-rc kernelbe kerültek.

Az nftables csomagba tartoznak a felhasználói térben működő csomagszűrő komponensek, míg a kernel szintjén az nf_tables alrendszer látja el a feladatot, amely a Linux kernel 3.13-as verziójától kezdve érhető el. A kernel szintjén csak egy általános interfész áll rendelkezésre, amely független a konkrét protokolltól, és alapvető funkciókat biztosít a csomagokból származó adatok kinyerésére, az adatokkal végzett műveletekre és az adatfolyam kezelésére.

Közvetlenül a szűrési szabályok és a protokollspecifikus kezelők felhasználói térben bájt kódba vannak fordítva, majd ezt a bájt kódot a Netlink interfész segítségével betöltik a kernelbe, ahol speciális környezetben végrehajtásra kerül. virtuális gépben, amely a BPF (Berkeley Packet Filters) eljárásra emlékeztet. Ez a megközelítés jelentősen csökkenti a kernel szinten működő szűrési kód méretét, miközben az összes szabályok parszolásával és a protokollokkal kapcsolatos logikával kapcsolatos funkciót a felhasználói térbe helyezi.

Főbb újítások:

  • Hozzáadódott a szabályok optimalizálási módja, amelyet az új „-o” („—optimize”) opcióval lehet aktiválni, amely kombinálható a „—check” opcióval a szabálykészlet fájl módosításainak ellenőrzésére és optimalizálására anélkül, hogy azt ténylegesen betöltenénk. Az optimalizálás lehetővé teszi hasonló szabályok egyesítését, például a következő szabályok: meta iifname eth1 ip saddr 1.1.1.1 ip daddr 2.2.2.3 accept meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.2.5 accept ip saddr 1.1.1.1 ip daddr 2.2.2.2 accept ip saddr 2.2.2.2 ip daddr 3.3.3.3 drop

    egyesítve lesznek meta iifname . ip saddr . ip daddr { eth1 . 1.1.1.1 . 2.2.2.3, eth1 . 1.1.1.2 . 2.2.2.5 } accept ip saddr . ip daddr vmap { 1.1.1.1 . 2.2.2.2 : accept, 2.2.2.2 . 3.3.3.3 : drop }

    Használati példa: # nft -c -o -f ruleset.test Egyesítés: ruleset.nft:16:3-37: ip daddr 192.168.0.1 counter accept ruleset.nft:17:3-37: ip daddr 192.168.0.2 counter accept ruleset.nft:18:3-37: ip daddr 192.168.0.3 counter accept egyesítve: ip daddr { 192.168.0.1, 192.168.0.2, 192.168.0.3 } counter packets 0 bytes 0 accept

  • A set-listákban megvalósították az ip- és tcp-opciók, valamint sctp chunk-ok megadásának lehetőségét: set s5 { typeof ip option ra value elements = { 1, 1024 } } set s7 { typeof sctp chunk init num-inbound-streams elements = { 1, 4 } } chain c5 { ip option ra value @s5 accept } chain c7 { sctp chunk init num-inbound-streams @s7 accept }
  • Hozzáadódott a TCP-opciók, mint a fastopen, md5sig és mptcp támogatása.
  • Hozzáadódott az mp-tcp altípusok együttműködésének támogatása: tcp option mptcp subtype 1
  • Javították a kernel oldalán működő szűrő kódját.
  • A flowtable számára teljes körű JSON-formátum támogatás lett bevezetve.
  • Lehetőséget biztosítanak a „reject” műveletek használatára Ethernet-frame-eknél. ether saddr aa:bb:cc:dd:ee:ff ip daddr 192.168.0.1 reject

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster