sìoltachan pacaid nftables 1.0.6 sgaoileadh

Chaidh an sgaoileadh sìoltachain pacaid nftables 1.0.6 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 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 ì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. Aig ìre kernel, chan eil ach eadar-aghaidh coitcheann neo-eisimeileach air a thoirt seachad a bheir seachad gnìomhan bunaiteach airson dàta a tharraing à pacaidean, coileanadh obrachaidhean air dàta, agus smachd a chumail air 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.

Atharraichean mòra:

  • Anns na riaghailtean optimizer ris an canar nuair a tha thu a’ sònrachadh an roghainn “-o/--optimize”, chaidh pacadh fèin-ghluasadach de riaghailtean a stèidheachadh le bhith gan cur còmhla agus gan tionndadh gu liostaichean mapa agus seata. Mar eisimpleir, is e na riaghailtean # cat ruleset.nft table ip x { chain y { seòrsa criathrag cuir a-steach dubhan prìomhachais; tuiteam poileasaidh; 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.4 gabhail ri meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.3.0 ip daddr 24 saddr .1 ip daddr 1.1.1.2-2.2.4.0 gabh ri meta iifname eth2.2.4.10 ip saddr 2 ip daddr 1.1.1.3 accept }} às deidh “nft -o -c -f ruleset.nft” a thionndadh gu na leanas: ruleset. nft:2.2.2.5:4-17: meta iifname eth74 ip saddr 1 ip daddr 1.1.1.1 accept ruleset.nft:2.2.2.3:5-17: meta iifname eth74 ip saddr 1 ip daddr 1.1.1.2: gabh ri riaghailteanet.nft 2.2.2.4:6-17: meta iifname eth77 ip saddr 1 ip daddr 1.1.1.2/2.2.3.0 gabh ri riaghailteanet.nft:24:7-17: meta iifname eth83 ip saddr 1 ip daddr 1.1.1.2-2.2.4.0. riaghailteanet.nft:2.2.4.10:8-17: meta iifname eth74 ip saddr 2 ip daddr 1.1.1.3 gabhail a-steach: iifname . ip diùraidh. ip daddr { eth2.2.2.5 . 1. 1.1.1.1, eth2.2.2.3 . 1. 1.1.1.2, eth2.2.2.4 . 1. 1.1.1.2/2.2.3.0, eth24 . 1. 1.1.1.2-2.2.4.0, eth2.2.4.10 . 2. 1.1.1.3 } gabhail ris
  • Faodaidh an optimizer cuideachd riaghailtean a dhlùthadh a tha mar-thà a’ cleachdadh liostaichean-seata sìmplidh gu cruth nas toinnte, leithid: # cat ruleset.nft table ip filter { cuir a-steach slabhraidh { seòrsa criathrag cuir a-steach dubhan prìomhachais; tuiteam poileasaidh; iifname "lo" gabhail ri ct stàite stèidhichte, co-cheangailte gabhail ri beachd "Ann an trafaic tha sinn bho thùs, tha earbsa againn" iifname "enp0s31f6" ip saddr { 209.115.181.102, 216.197.228.230 } ip daddr 10.0.0.149 ud spòrs 123 ip daddr 32768 ud iifname "enp65535s0f31" ip saddr { 6, 64.59.144.17 } ip daddr 64.59.150.133 udp spòrs 10.0.0.149 udp dport 53-32768 gabh ris } } - is toil leat am pasgan seo : riaghailteanet.nft:65535:6-22: iifname "enp149s0f31" ip saddr { 6, 209.115.181.102 } ip daddr 216.197.228.230 udp spòrs 10.0.0.149 gabhail ri riaghailtean: 123, 32768: 65535-7 22 : iifname "enp143s0f31" ip saddr { 6, 64.59.144.17 } ip daddr 64.59.150.133 udp spòrs 10.0.0.149 udp dport 53-32768 gabhail a-steach: iifname . ip diùraidh. ip daddr. spòrs udp. udp dport { enp65535s0f31 . 6. 209.115.181.102. 10.0.0.149. 123-32768, enp65535s0f31 . 6. 216.197.228.230. 10.0.0.149. 123-32768, enp65535s0f31 . 6. 64.59.144.17. 10.0.0.149. 53-32768, enp65535s0f31 . 6. 64.59.150.133. 10.0.0.149. 53-32768 } gabhail ris
  • Dh’ fhuasgail sinn cùis le gineadh bytecode airson amannan aonaidh a bhios a’ cleachdadh sheòrsan le diofar sheasmhachd, leithid IPv4 (network endian) agus meta mark (system endian). clàr ip x { mapa w { seòrsa ip saddr . comharra meta: co-dhùnadh brataichean cunntais eadar-ama = {127.0.0.1-127.0.0.4 . 0x123434-0xb00122 : gabhail ris, 192.168.0.10-192.168.1.20 . 0x0000aa00-0x0000aaff : gabhail ris, } } slabhraidh k { seòrsa criathrag cuir a-steach dubhan prìomhachais; tuiteam poileasaidh; ip diùraidh. comharra meta vmap @w } }
  • Mapaidhean protocol tearc nas fheàrr nuair a bhios tu a’ cleachdadh abairtean amh, mar eisimpleir: meta l4proto 91 @th,400,16 0x0 gabhail ris
  • Cùisean stèidhichte le riaghailtean comasachaidh aig amannan: cuir a-steach riaghailt xy tcp spòrs { 3478-3497, 16384-16387 } cuntair gabhail
  • Chaidh an JSON API a leasachadh gus taic a thoirt do abairtean ann an liostaichean seata is mhapaichean.
  • Ann an leudachadh air leabharlann python nftables, tha cead aig seataichean riaghailtean a bhith air an luchdachadh airson an giullachd ann am modh seic (“-c”) agus chaidh taic airson mìneachadh caochlaideach taobh a-muigh a chur ris.
  • Tha e ceadaichte beachdan a chur ris anns na h-eileamaidean de liostaichean seata.
  • Tha e ceadaichte luach neoni a shònrachadh ann an crìochan reata byte.

Source: fosgailtenet.ru

Cuir beachd ann