sìoltachan pacaid nftables 1.0.2 sgaoileadh

Chaidh sgaoileadh sìoltachan pacaid nftables 1.0.2 fhoillseachadh, ag aonachadh eadar-aghaidh sìoltachaidh pacaid airson IPv4, IPv6, ARP agus drochaidean lìonra (ag amas air ath-chuiridhean iptables, ip6table, arptables agus ebtables). Tha na h-atharrachaidhean a tha a dhìth airson an sgaoileadh nftables 1.0.2 gu obair air an toirt a-steach don Linux kernel 5.17-rc.

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:

  • Chaidh modh optimization riaghailtean a chuir ris, air a chomasachadh le bhith a’ cleachdadh an roghainn ùr “-o” (“--optimize”), a ghabhas a chur còmhla ris an roghainn “--check” gus atharraichean air an fhaidhle riaghailtean a sgrùdadh agus a bharrachadh gun a bhith ga luchdachadh. . Leigidh optimization dhut riaghailtean co-chosmhail a chur còmhla, mar eisimpleir, na riaghailtean: meta iifname eth1 ip saddr 1.1.1.1 ip daddr 2.2.2.3 gabhail ri meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.2.5 gabhail ri ip saddr 1.1.1.1 ip saddr 2.2.2.2. .2.2.2.2 gabhail ri ip saddr 3.3.3.3 ip daddr XNUMX tuiteam

    thèid a chur còmhla ann an meta iifname . ip brònach. ip daddr { eth1 . 1.1.1.1. 2.2.2.3, eth1 . 1.1.1.2. 2.2.2.5} gabhail ri ip saddr . ip daddr vmap { 1.1.1.1 . 2.2.2.2: gabhail ris, 2.2.2.2 . 3.3.3.3: tuiteam }

    Cleachdadh eisimpleir: # nft -c -o -f ruleset.test Merging: 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 riaghailteanet.nft:18:3-37: ip daddr 192.168.0.3 counter gabhail a-steach: ip daddr { 192.168.0.1, 192.168.0.2, 192.168.0.3 } counter pacaidean 0 bytes 0 gabhail ris

  • Bidh na liostaichean seata a’ cur an gnìomh comas roghainnean ip agus tcp a shònrachadh, a bharrachd air pìosan sctp: seata s5 { typeof ip option ra luach eileamaidean = { 1, 1024 } } seata s7 { typeof sctp chunk init num-inbound-streams elements = { 1, 4 } } slabhraidh c5 { roghainn ip ra luach @s5 gabhail ris } slabhraidh c7 { sctp chunk init num-inbound-streams @s7 accept }
  • Taic a bharrachd airson roghainnean TCP fastopen, md5sig agus mptcp.
  • Taic a bharrachd airson a bhith a’ cleachdadh an subtype mp-tcp ann am mapaichean: roghainn tcp mptcp subtype 1
  • Còd sìolaidh taobh kernel leasaichte.
  • Tha làn thaic aig Flowtable a-nis airson cruth JSON.
  • Chaidh an comas an gnìomh “diùltadh” a chleachdadh ann an gnìomhachd maidsidh frèam Ethernet a thoirt seachad. ether saddr aa:bb:cc:dd:ee:ff ip daddr 192.168.0.1 a dhiùltadh

Source: fosgailtenet.ru

Cuir beachd ann