Parzûna pakêtê ya nftables 1.0.6 berdan

Serbestberdana parzûna pakêtê ya nftables 1.0.6 hate weşandin, ku navberên fîlterkirina pakêtê ji bo IPv4, IPv6, ARP û pirên torê yek dike (mebest ew e ku li şûna iptables, ip6table, arptables û ebtables). Pakêta nftables hêmanên parzûna pakêtê yên ku di cîhê bikarhêner de dimeşin vedihewîne, dema ku xebata asta kernelê ji hêla binepergala nf_tables ve tê peyda kirin, ku ji berdana 3.13-an vir ve beşek ji kernel Linux-ê ye. Asta kernel tenê navgînek serbixwe-protokolek gelemperî peyda dike ku fonksiyonên bingehîn ji bo derxistina daneyan ji pakêtan, pêkanîna operasyonên daneyê, û kontrolkirina herikînê peyda dike.

Rêgezên fîlterkirinê û rêwerzên protokol-taybet di cîhê bikarhêner de di nav bytekodê de têne berhev kirin, pişt re ev bytekod bi karanîna navgîniya Netlink-ê di kernelê de tê barkirin û di kernelê de di makîneyek virtual ya taybetî ya ku BPF (Parzeyên Pakêta Berkeley) tîne bîra xwe de, tê darve kirin. Ev nêzîkatî dihêle hûn bi girîngî mezinahiya koda fîlterkirinê ya ku di asta kernelê de tê xebitandin kêm bikin û hemî fonksiyonên qaîdeyên parskirinê û mantiqê ji bo xebata bi protokolan re li cîhê bikarhêner biguhezînin.

Guhertinên sereke:

  • Optimîzatorê qaîdeyan, ku dema vebijarka "-o/-optimize" tê gotin, tê gotin, bi berhevkirina wan û veguheztina wan nav nexşe û navnîşên sazûmanan xwedan pakkirina otomatîkî ya qaîdeyan heye. Mînakî, qaîdeyên # cat ruleset.nft sifrê ip x { zincîre y { Parzûna pêşîn a têketina hookê binivîsin; drop Policy; meta iifname eth1 ip saddr 1.1.1.1 ip daddr 2.2.2.3 qebûl bike meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.2.4 qebûl bike meta iifname eth1 ip saddr 1.1.1.2 qebûl bike. ip saddr 2.2.3.0 .24 ip daddr 1-1.1.1.2 qebûl bike meta iifname eth2.2.4.0 ip saddr 2.2.4.10 ip daddr 2 qebûl bike } } piştî pêkanîna "nft -o -c -f ruleset.nft" dê were veguheztin wekî rêzikên jêrîn nft:1.1.1.3:2.2.2.5-4: meta iifname eth17 ip saddr 74 ip daddr 1 qaîdeyên qebûl bike.nft:1.1.1.1:2.2.2.3-5: meta iifname eth17 ip saddr 74 ip daddr.1 qaîdeyên qebûl bike. : 1.1.1.2:2.2.2.4-6: meta iifname eth17 ip saddr 77 ip daddr 1/1.1.1.2 qebûl bike ruleset.nft:2.2.3.0:24-7: meta iifname eth17 ip saddr 83 ip daddr 1-1.1.1.2. qaîdeyên qebûl bike.nft:2.2.4.0:2.2.4.10-8: meta iifname eth17 ip saddr 74 ip daddr 2 qebûl bike: iifname. ip saddr. ip daddr {eth1.1.1.3. 2.2.2.5. 1, eth1.1.1.1. 2.2.2.3. 1, eth1.1.1.2. 2.2.2.4. 1/1.1.1.2, eth2.2.3.0. 24. 1-1.1.1.2, eth2.2.4.0. 2.2.4.10. 2 } qebûl bike
  • Optimîzator di heman demê de dikare qaîdeyên ku jixwe lîsteyên berhevokê yên hêsan bikar tînin veguhezîne formek tevlihevtir, mînakî qaîdeyan: # cat ruleset.nft Parzûna ip-ê ya sifrê { ketina zincîrê { fîltera pêşîn a têketina hookê binivîsîne; drop Policy; iifname "lo" qebûl ct dewletê, têkildar qebûl şîrove "Di trafîkê de em bi eslê xwe, em pê bawer in" iifname "enp0s31f6" ip saddr { 209.115.181.102, 216.197.228.230 } ip daddr 10.0.0.149ud123p32768p qebûl bike iifname "enp65535s0f31" ip saddr { 6, 64.59.144.17 } ip daddr 64.59.150.133 udp sport 10.0.0.149 udp dport 53-32768 dê bipejirînin -exeftnc s : ruleset.nft:65535:6-22: iifname "enp149s0f31" ip saddr { 6, 209.115.181.102 } ip daddr 216.197.228.230 udp 10.0.0.149f123 32768 :65535-7 22 : iifname "enp143s0f31" ip saddr { 6, 64.59.144.17 } ip daddr 64.59.150.133 udp sport 10.0.0.149 udp dport 53-32768 qebûl bike: ip saddr. ip daddr. udp sporê. 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 } qebûl bike
  • Pirsgirêka bi hilberîna bytecodê re ji bo yekkirina navberên ku celebên bi rêzika baytên cihêreng bikar tînin, wekî IPv4 (fermana baytê ya torê) û nîşana meta (fermana byte ya pergalê) çareser kir. tabloya ip x { nexşeya w { typeof ip saddr. nîşana meta: alayên biryara navberê hêmanên jimarvan = {127.0.0.1-127.0.0.4. 0x123434-0xb00122: qebûl, 192.168.0.10-192.168.1.20. 0x0000aa00-0x0000aaff : qebûl, } } zincîra k { type filter hook input priority filter; drop Policy; ip saddr. meta mark vmap @w } }
  • Danasîna pêşkeftî ya protokolên kêm dema ku bêjeyên xav bikar tînin, mînakî: meta l4proto 91 @th,400,16 0x0 qebûl
  • Pirsgirêkên çalakkirina qaîdeyên di navberan de hatine çareser kirin: qaîdeya xy tcp sport { 3478-3497, 16384-16387 } bipejirîne
  • JSON API-ya ku di navnîşên set û nexşeyê de piştgirî ji bo îfadeyan vedihewîne çêtir bûye.
  • Berfirehkirina pirtûkxaneya nftables python dihêle barkirina rêzikên qaîdeyan ji bo pêvajoyê di moda pejirandinê de ("-c") û piştgirî ji bo pênaseya derveyî ya guhêrbaran zêde bike.
  • Zêdekirina şîroveyan di hêmanên navnîşê de destûr e.
  • Rêjeya Byte destûrê dide ku nirxek sifir diyar bike.

Source: opennet.ru

Add a comment