Pakkasía nftables 0.9.9 hefur verið gefin út. Hún sameinar pakkasíuviðmót fyrir IPv4, IPv6, ARP og netbrýr (ætluð sem staðgengill fyrir iptables, ip6table, arptables og ebtables). Meðfylgjandi libnftnl 1.2.0 bókasafnið, sem býður upp á lágstigs API fyrir samskipti við nf_tables undirkerfið, hefur verið gefið út samtímis. Breytingarnar sem krafist er fyrir nftables 0.9.9 hafa verið innleiddar í kjarnann. Linux 5.13-rc1.
nftables pakkinn inniheldur pakkasíuíhluti sem starfa í notendarými, en kjarnavinna er veitt af nf_tables undirkerfinu, sem er hluti af kjarnanum. Linux Frá útgáfu 3.13 hefur aðeins verið boðið upp á almennt samskiptaregluóháð viðmót á kjarnastigi, sem veitir grunnvirkni til að vinna gögn úr pakka, framkvæma gagnaaðgerðir og flæðisstýringu.
Síureglurnar sjálfar og samskiptareglur sem eru sértækar fyrir samskiptareglur eru þýddar í bætikóða í notendarými, eftir það er þessi bætikóði hlaðinn inn í kjarnann með Netlink viðmótinu og keyrður í kjarnanum á sérstakan hátt. sýndarvél, sem minnir á BPF (Berkeley Packet Filters). Þessi aðferð gerir kleift að minnka verulega stærð síunarkóðans sem keyrir á kjarnastigi og færir alla reglugreiningu og samskiptareglur yfir í notendarýmið.
Helstu nýjungar:
- Möguleikinn á að færa flæðitöfluvinnslu yfir á netmillistykkið hefur verið innleidd, virkjuð með því að nota „offload“ fánann. Flowtable er vélbúnaður til að fínstilla slóð pakkatilvísunar, þar sem heildar yfirferð allra regluvinnslukeðja er aðeins beitt á fyrsta pakkann og allir aðrir pakkar í flæðinu eru áframsendur beint. tafla ip alþjóðleg { flæðitafla f { krókinngangur forgangssía + 1 tæki = { lan3, lan0, wan } fánar afhleðsla } keðja áfram { gerð sía krókur áfram forgangssía; stefna samþykkja; ip siðareglur {tcp, udp} flæði bæta við @f} keðjupóstur {type nat krók postrouting forgangssía; stefna samþykkja; oifname "wan" grímugerð } }
- Bætti við stuðningi við að festa eigandafána við töflu til að tryggja einkanotkun á töflunni með ferli. Þegar ferli lýkur er töflunni sem tengist því sjálfkrafa eytt. Upplýsingar um ferlið eru birtar í reglunum í formi athugasemdar: table ip x { # progname nft flags owner chain y { type filter hook input priority filter; stefna samþykkja; teljarapakkar 1 bæti 309 } }
- Bætti við stuðningi við IEEE 802.1ad forskriftina (VLAN stöflun eða QinQ), sem skilgreinir leið til að skipta út mörgum VLAN merkjum í einn Ethernet ramma. Til dæmis, til að athuga tegund ytri Ethernet ramma 8021ad og vlan id=342, geturðu notað smíðina ... eter gerð 802.1ad vlan id 342 til að athuga ytri gerð Ethernet ramma 8021ad/vlan id=1, hreiður 802.1 q/vlan id=2 og frekari IP pakkahjúpun: ... ether type 8021ad vlan id 1 vlan type 8021q vlan id 2 vlan type ip counter
- Bætti við stuðningi við stjórnun auðlinda með því að nota sameinaða stigveldið cgroups v2. Lykilmunurinn á cgroups v2 og v1 er notkun á sameiginlegu cgroups stigveldi fyrir allar tegundir auðlinda, í stað aðskildra stigvelda til að úthluta CPU auðlindum, til að stjórna minnisnotkun og fyrir I/O. Til dæmis, til að athuga hvort forfaðir fals á fyrsta stigi cgroupv2 passi við "system.slice" grímuna, geturðu notað smíðina: ... socket cgroupv2 stig 1 "system.slice"
- Bætt við möguleikanum á að athuga íhluti SCTP-pakka (virknin sem krafist er fyrir notkun birtist í kjarnanum). Linux 5.14). Til dæmis, til að athuga hvort pakki innihaldi klump af gerðinni „gögn“ og reitinn „tegund“: … sctp klumpgögn eru til … sctp klumpgögn af gerðinni 0
- Framkvæmd regluhleðsluaðgerðarinnar hefur verið flýtt um það bil tvisvar með því að nota „-f“ fánann. Framleiðsla reglulistans hefur einnig verið flýtt.
- Samsniðið eyðublað til að athuga hvort fánabitar séu stilltir er til staðar. Til dæmis, til að athuga hvort snat og dnat stöðubitarnir séu ekki stilltir, geturðu tilgreint: ... ct status ! snat,dnat til að athuga hvort syn bitinn sé stilltur í bitmaskanum syn,ack: ... tcp flags syn / syn,ack til að athuga hvort fin og fyrsti bitarnir séu ekki stilltir í bitmaskanum syn,ack,fin,rst: ... tcp fánar ! = fin,rst / syn,ack,fin,rst
- Leyfa "úrskurður" leitarorðið í skilgreiningum setts/korts: bæta við korti xm { typeof iifname . ip samskiptareglur th port: dómur ;}
Heimild: opennet.ru
