Tá scaoileadh scagaire paicéad nftables 1.0.3 foilsithe, ag aontú comhéadain scagtha paicéad le haghaidh IPv4, IPv6, ARP agus droichid líonra (dírithe ar iptables, ip6table, arptables agus ebtables a athsholáthar). Tá na hathruithe atá ag teastáil le haghaidh scaoileadh nftables 1.0.3 a bheith ag obair san áireamh san eithne Linux 5.18.
Áirítear sa phacáiste nftables comhpháirteanna scagaire paicéad a ritheann i spás úsáideora, agus soláthraíonn an fochóras nf_tables an obair ar leibhéal na heithne, atá mar chuid den eithne Linux ó scaoileadh 3.13. Ní sholáthraíonn an leibhéal eithne ach comhéadan prótacal-neamhspleách cineálach a sholáthraíonn feidhmeanna bunúsacha chun sonraí a bhaint as paicéid, oibríochtaí sonraí a dhéanamh, agus rialú sreafa.
Déantar na rialacha scagtha agus na láimhseálaithe prótacail-shonracha a thiomsú i bytecode sa spás úsáideora, agus ina dhiaidh sin déantar an bytecode seo a luchtú isteach san eithne ag baint úsáide as comhéadan Netlink agus a fhorghníomhú san eithne i meaisín fíorúil speisialta a mheabhraíonn BPF (Scagairí Paicéad Berkeley). Ligeann an cur chuige seo duit méid an chóid scagtha a ritheann ag leibhéal na heithne a laghdú go suntasach agus feidhmeanna uile na rialacha parsála agus an loighic maidir le hoibriú le prótacail a bhogadh isteach sa spás úsáideora.
Príomh-nuálaíochtaí:
- Tacaíonn liostaí socraithe anois le hainmneacha comhéadain líonra a mheaitseáil le masc, mar shampla, sonraithe ag baint úsáide as an tsiombail “*”: tábla inet testifsets { set simple_wild { cineál ifname bratacha eatramh eilimintí = { “abcdef*”, “othername”, “ppp0” } } slabhra v4icmp { cineál ionchuir hook scagaire tosaíochta 0; glacadh le beartas; iifname @simple_wild paicéid cuntair 0 beart 0 iifname { “abcdef*”, “eth0” } paicéid cuntair 0 beart 0 } }
- Cuireadh cumasc uathoibríoch na n-eilimintí tacair-liostaí trasnaithe i bhfeidhm le linn oibríochta. Roimhe seo, nuair a socraíodh an rogha “uathchumasc”, rinneadh an cumasc ag an gcéim ina ndearbhaítear na rialacha, ach anois oibríonn sé freisin nuair a chuirtear gnéithe nua leis go hincriminteach le linn na hoibríochta. Mar shampla, ag an gcéim dearbhaithe, leagtar síos sa liosta y { eatramh bratacha eilimintí uath-chumasc = { 1.2.3.0, 1.2.3.255, 1.2.3.0/24, 3.3.3.3, 4.4.4.4, 4.4.4.4-4.4.4.8 Déanfar , 3.3.3.4 , 3.3.3.5 } } a iompú ina heilimintí = { 1.2.3.0/24, 3.3.3.3-3.3.3.5, 4.4.4.4-4.4.4.8 } agus ansin má chuireann tú eilimintí nua leis # nft cuir eilimint leis ip x y { 1.2.3.0 -1.2.4.255, 3.3.3.6 } cuma mhaith ar eilimintí = { 1.2.3.0-1.2.4.255, 3.3.3.3-3.3.3.6, 4.4.4.4-4.4.4.8 }
Nuair a bhaineann tú míreanna aonair den liosta a thagann faoi raon míreanna atá ann cheana féin, déantar an raon a ghiorrú nó a roinnt.
- Tá tacaíocht chun rialacha aistrithe seolta iolracha (NAT) a chomhcheangal le liosta léarscáileanna curtha leis an optimizer rialacha, ar a dtugtar nuair a shonraítear an rogha “-o/-optimize”. Mar shampla, don tacar # cat ruleset.nft table ip x { slabhra y { cineál nat hook postrouting tosaíocht srcnat; titim beartais; ip saddr 1.1.1.1 tcp dport 8000 snat go 4.4.4.4:80 ip saddr 2.2.2.2 tcp dport 8001 snat go 5.5.5.5:90 } } }
trí “nft -o -c -f ruleset.nft” a fhorghníomhú, déanfar na rialacha ar leith “ip saddr” a thiontú ina liosta léarscáile: snat go ip saddr . léarscáil tcp dport { 1.1.1.1 . 8000: 4.4.4.4. 80, 2.2.2.2. 8001: 5.5.5.5. 90}
Ar an gcaoi chéanna, is féidir nathanna cainte amh a thiontú ina liostaí léarscáileanna: # cat ruleset.nft table ip x { […] slabhra nat_dns_acme { fad udp 47-63 @th,160,128 0x0e373135363130333131303735353203 goto62, goto78, 160,128 0 0x31393032383939353831343037320e5301e fuair nat_dns_this_62 fad udp 78-160,128 @th,0 0x31363436323733373931323934300e5301e goto nat_dns_saturn_62 udp fad 78-160,128 0 0e fuair nat_dns_saturn_32393535373539353636383732310 fad udp 5302-62 @th,78 160,128x0e0e goto natturn_38353439353637323038363633390} goto nat_dn }
tar éis leas iomlán a bhaint gheobhaimid liosta léarscáile: fad udp . @th,160,128 vmap { 47-63 . 0x0e373135363130333131303735353203 : goto nat_dns_dnstc, 62-78 . 0x0e31393032383939353831343037320e : goto nat_dns_this_5301, 62-78 . 0x0e31363436323733373931323934300e : goto nat_dns_saturn_5301, 62-78 . 0x0e32393535373539353636383732310e : goto nat_dns_saturn_5302, 62-78 . 0x0e38353439353637323038363633390e : goto nat_dns_saturn_5303 }
- Ceadaítear úsáid a bhaint as nathanna cainte amh in oibríochtaí comhghathaithe. Mar shampla: # nft cuir riail x y ip saddr . @ih,32,32 { 1.1.1.1 . 0×14, 2.2.2.2 . 0x1e } nó tábla x { socraigh y { typeof ip saddr . @ih,32,32 eilimint = { 1.1.1.1 . 0x14 } }
- Tacaíocht bhreise chun réimsí ceanntásca slánuimhir a shonrú in oibríochtaí comhcheangail: table inet t { map m1 { typeof udp length . @ih,32,32 : eilimintí eatramh bratacha an fhíoraisc = { 20-80 . 0x14: glac leis, 1-10. 0xa : titim } } slabhra c { cineál ionchuir hook scagaire tosaíochta 0; titim beartais; fad udp. @ih,32,32 vmap @m1 } }
- Tacaíocht bhreise chun roghanna TCP a athshocrú (ní oibríonn sé ach le eithne Linux 5.18+): tcp flags syn reset rogha tcp sack-perm
- Cuireadh dlús le forghníomhú orduithe aschuir slabhra (“slabhra liosta nft x y”).
Foinse: oscailtenet.ru