sìoltachan pacaid nftables 0.9.9 sgaoileadh

Chaidh sgaoileadh sìoltachan pacaid nftables 0.9.9 fhoillseachadh, ag aonachadh eadar-aghaidh sìoltachaidh pacaid airson IPv4, IPv6, ARP agus drochaidean lìonra (ag amas air a bhith a’ cur an àite iptables, ip6table, arptables agus ebtables). Aig an aon àm, chaidh foillseachadh an leabharlann companach libnftnl 1.2.0 fhoillseachadh, a’ toirt seachad API aig ìre ìosal airson eadar-obrachadh leis an fho-shiostam nf_tables. Tha na h-atharrachaidhean a tha a dhìth airson an sgaoileadh nftables 0.9.9 gu obair air an toirt a-steach don Linux kernel 5.13-rc1.

Tha am pasgan nftables a’ toirt a-steach co-phàirtean sìoltachain pacaid a bhios a’ ruith ann an àite luchd-cleachdaidh, fhad ‘s a tha an obair ìre kernel air a thoirt seachad leis an fho-shiostam nf_tables, a tha air a bhith na phàirt den kernel Linux bho chaidh a leigeil ma sgaoil 3.13. Chan eil an ìre kernel a’ toirt seachad ach eadar-aghaidh coitcheann neo-eisimeileach pròtacal a bheir seachad gnìomhan bunaiteach airson dàta a thoirt a-mach à pacaidean, coileanadh gnìomhachd dàta, agus smachd sruthadh.

Tha na riaghailtean sìolaidh fhèin agus luchd-làimhseachaidh protocol-sònraichte air an cur ri chèile a-steach do bytecode àite neach-cleachdaidh, às deidh sin tha am bytecode seo air a luchdachadh a-steach don kernel a ’cleachdadh eadar-aghaidh Netlink agus air a chuir gu bàs anns an kernel ann an inneal brìgheil sònraichte coltach ri BPF (Berkeley Packet Filters). Tha an dòigh-obrach seo ga dhèanamh comasach meud a ’chòd sìoltachaidh a tha a’ ruith aig ìre kernel a lughdachadh gu mòr agus a h-uile gnìomh de riaghailtean parsaidh agus loidsig obrachadh le protocolaidhean a ghluasad gu àite luchd-cleachdaidh.

Prìomh innleachdan:

  • Tha an comas gluasad giullachd flowtable gu taobh adapter lìonra air a chuir an gnìomh, air a chomasachadh leis a’ bhratach ‘offload’. Is e inneal a th ’ann an Flowtable airson an t-slighe ath-stiùireadh pacaid a mheudachadh, anns a bheil an trannsa iomlan de na slabhraidhean giullachd riaghailt air a chuir a-steach don chiad phacaid a-mhàin, agus tha a h-uile pacaid eile san t-sruth air a chuir air adhart gu dìreach. table ip global { flowtable f { criathrag prìomhachas dubhan a-steach + 1 innealan = { lan3, lan0, wan } brataichean air an luchdachadh sìos } slabhraidh air adhart { seòrsa criathrag dubhan air adhart sìoltachan prìomhachais; gabhail ri poileasaidh; ip protocol { tcp, udp } sruthadh cuir @f } post slabhraidh { seòrsa nat hook postrouting criathar prìomhachais; gabhail ri poileasaidh; oifname "wan" masquerade } }
  • Taic a bharrachd airson bratach sealbhadair a cheangal ri bòrd gus dèanamh cinnteach gun tèid am bòrd a chleachdadh a-mhàin tro phròiseas. Nuair a thig pròiseas gu crìch, thèid an clàr co-cheangailte ris a dhubhadh às gu fèin-ghluasadach. Tha fiosrachadh mun phròiseas air a thaisbeanadh anns an dump riaghailtean ann an cruth beachd: table ip x { # progname nft flags sealbhadair slabhraidh y { seòrsa criathrag cuir a-steach criathrag prìomhachais; gabhail ri poileasaidh; pacaidean cuntair 1 bytes 309 } }
  • Taic a bharrachd airson sònrachadh IEEE 802.1ad (cruachadh VLAN no QinQ), a tha a’ mìneachadh dòigh air grunn tagaichean VLAN a chuir an àite aon fhrèam Ethernet. Mar eisimpleir, gus sgrùdadh a dhèanamh air an t-seòrsa frèam Ethernet taobh a-muigh 8021ad agus vlan id = 342, faodaidh tu an togail a chleachdadh ... ether type 802.1ad vlan id 342 gus sgrùdadh a dhèanamh air an t-seòrsa frèam Ethernet taobh a-muigh 8021ad/vlan id=1, neadachadh 802.1 q/vlan id=2 agus tuilleadh cuairteachadh pacaid IP: ... ether seòrsa 8021ad vlan id 1 vlan seòrsa 8021q vlan id 2 vlan seòrsa ip counter
  • Taic a bharrachd airson a bhith a’ riaghladh ghoireasan a’ cleachdadh na cgroups rangachd aonaichte v2. Is e am prìomh eadar-dhealachadh eadar cgroups v2 agus v1 a bhith a’ cleachdadh rangachd cgroups cumanta airson a h-uile seòrsa goireas, an àite rangachd fa leth airson goireasan CPU a riarachadh, airson caitheamh cuimhne a riaghladh, agus airson I / O. Mar eisimpleir, gus faighinn a-mach a bheil sinnsear socaid aig a’ chiad ìre cgroupv2 a’ maidseadh masg “system.slice”, faodaidh tu an togail a chleachdadh: ... socaid cgroupv2 ìre 1 “system.slice”
  • Chuir sinn ris a’ chomas sgrùdadh a dhèanamh air co-phàirtean de phasgan SCTP (bidh an gnìomh a tha a dhìth airson seo a’ nochdadh anns an Linux kernel 5.14). Mar eisimpleir, gus faighinn a-mach a bheil cnap ann am pacaid le seòrsa ‘data’ agus raon ‘type’: ... sctp chunk data ann ... sctp chunk data seòrsa 0
  • Chaidh coileanadh na h-obrach luchdachadh riaghailt a luathachadh timcheall air dà uair a’ cleachdadh a’ bhratach “-f”. Chaidh toradh liosta nan riaghailtean a luathachadh cuideachd.
  • Tha foirm teann air a thoirt seachad airson dearbhadh a bheil pìosan brataich air an suidheachadh. Mar eisimpleir, gus dèanamh cinnteach nach eil na pìosan inbhe snat agus dnat air an suidheachadh, faodaidh tu sònrachadh: ... ct status ! snat,dnat gus dèanamh cinnteach gu bheil am pìos syn air a shuidheachadh anns a’ bitmask syn,ack: ... tcp flags syn / syn,ack gus dèanamh cinnteach nach eil na pìosan fin agus a’ chiad bhuillean air an suidheachadh anns a’ bitmask syn,ack,fin,rst: ... tcp brataichean! = fin, an toiseach / syn, ack, fin, an toiseach
  • Leig leis a’ phrìomh fhacal “breithneachadh” a chleachdadh ann an seòrsa de mhìneachaidhean seata/mapa: cuir mapa xm { typeof iifname . protocol ip th dport : breithneachadh ;}

Source: fosgailtenet.ru

Cuir beachd ann