Scagaire paicéad nftables scaoileadh 1.0.3

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

Add a comment