nftables پیکٹ فلٹر 1.0.6 ریلیز

پیکٹ فلٹر nftables 1.0.6 کا اجراء شائع کیا گیا ہے، IPv4، IPv6، ARP اور نیٹ ورک پلوں کے لیے پیکٹ فلٹرنگ انٹرفیس کو یکجا کرتے ہوئے (جس کا مقصد iptables، ip6table، arptables اور ebtables کو تبدیل کرنا ہے)۔ nftables پیکج میں پیکٹ فلٹر کے اجزاء شامل ہیں جو صارف کی جگہ پر چلتے ہیں، جبکہ کرنل لیول کا کام nf_tables سب سسٹم کے ذریعے فراہم کیا جاتا ہے، جو کہ ریلیز 3.13 کے بعد سے لینکس کرنل کا حصہ ہے۔ کرنل لیول صرف ایک عام پروٹوکول سے آزاد انٹرفیس فراہم کرتا ہے جو پیکٹوں سے ڈیٹا نکالنے، ڈیٹا آپریشنز کرنے، اور فلو کنٹرول کے لیے بنیادی کام فراہم کرتا ہے۔

فلٹرنگ کے قواعد اور پروٹوکول سے متعلق مخصوص ہینڈلرز کو صارف کی جگہ میں بائٹ کوڈ میں مرتب کیا جاتا ہے، جس کے بعد اس بائی کوڈ کو نیٹ لنک انٹرفیس کا استعمال کرتے ہوئے کرنل میں لوڈ کیا جاتا ہے اور BPF (برکلے پیکٹ فلٹرز) کی یاد دلانے والی خصوصی ورچوئل مشین میں کرنل میں عمل میں لایا جاتا ہے۔ یہ نقطہ نظر آپ کو کرنل کی سطح پر چلنے والے فلٹرنگ کوڈ کے سائز کو نمایاں طور پر کم کرنے اور پروٹوکول کے ساتھ کام کرنے کے لیے اصولوں اور منطق کو پارس کرنے کے تمام افعال کو صارف کی جگہ میں منتقل کرنے کی اجازت دیتا ہے۔

اہم تبدیلیاں:

  • رولز آپٹیمائزر، جسے "-o/—optimize" کا اختیار بتانے پر کہا جاتا ہے، ان کو یکجا کرکے اور انہیں نقشہ اور سیٹ فہرستوں میں تبدیل کرکے خودکار پیکجنگ رکھتا ہے۔ مثال کے طور پر، قواعد # cat ruleset.nft ٹیبل ip x { چین y { ٹائپ فلٹر ہک ان پٹ ترجیحی فلٹر؛ پالیسی ڈراپ؛ meta iifname eth1 ip saddr 1.1.1.1 ip daddr 2.2.2.3 کو قبول کریں meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.2.4 میٹا iifname eth1 ip saddr 1.1.1.2 قبول کریں 2.2.3.0 .24 ip daddr 1-1.1.1.2 accept meta iifname eth2.2.4.0 ip saddr 2.2.4.10 ip daddr 2 accept } } "nft -o -c -f ruleset.nft" پر عمل کرنے کے بعد مندرجہ ذیل اصولوں میں تبدیل ہو جائے گا: . nft:1.1.1.3:2.2.2.5-4: meta iifname eth17 ip saddr 74 ip daddr 1 accept ruleset.nft:1.1.1.1:2.2.2.3-5: meta iifname eth17 ip saddr 74 ip daddr 1 کے قواعد قبول کریں۔ : 1.1.1.2:2.2.2.4-6: meta iifname eth17 ip saddr 77 ip daddr 1/1.1.1.2 accept ruleset.nft:2.2.3.0:24-7: meta iifname eth17 ip saddr 83 ip daddr 1-1.1.1.2 Ruleset.nft:2.2.4.0:2.2.4.10-8 قبول کریں: meta iifname eth17 ip saddr 74 ip daddr 2 اس میں قبول کریں: iifname۔ آئی پی صدر ip daddr { eth1.1.1.3 . 2.2.2.5. 1، اخلاق 1.1.1.1 ۔ 2.2.2.3 1، اخلاق 1.1.1.2 ۔ 2.2.2.4 1/1.1.1.2، اخلاق2.2.3.0 ۔ 24 1-1.1.1.2، اخلاق2.2.4.0۔ 2.2.4.10 2 } قبول کریں۔
  • آپٹیمائزر ان اصولوں کو بھی تبدیل کر سکتا ہے جو پہلے سے سادہ سیٹ فہرستوں کو زیادہ کمپیکٹ شکل میں استعمال کرتے ہیں، مثال کے طور پر اصول: # cat ruleset.nft table ip filter { chain input { type filter hook input priority filter; پالیسی ڈراپ؛ iifname "lo" قبول کریں ct ریاست قائم، متعلقہ تبصرہ قبول کریں "ٹریفک میں ہم شروع کرتے ہیں، ہمیں بھروسہ ہے" iifname "enp0s31f6" ip saddr { 209.115.181.102, 216.197.228.230 } ip daddr 10.0.0.149p123p32768d 65535 قبول کرتے ہیں۔ iifname "enp0s31f6" ip saddr { 64.59.144.17, 64.59.150.133 } ip daddr 10.0.0.149 udp sport 53 udp dport 32768-65535 کو قبول کیا جائے گا۔ پیروی کرتا ہے : Ruleset.nft:6:22-149: iifname "enp0s31f6" ip saddr { 209.115.181.102, 216.197.228.230 } ip daddr 10.0.0.149 udp sport 123 قبول کریں :32768- 65535: iifname "enp7s22f143" ip saddr { 0, 31 } ip daddr 6 udp sport 64.59.144.17 udp dport 64.59.150.133-10.0.0.149 قبول کریں: iif نام۔ آئی پی صدر ip daddr. udp کھیل. udp dport { enp53s32768f65535 . 0. 31۔ 6. 209.115.181.102-10.0.0.149, enp123s32768f65535. 0. 31۔ 6. 216.197.228.230-10.0.0.149, enp123s32768f65535. 0۔ 31۔ 6. 64.59.144.17-10.0.0.149, enp53s32768f65535. 0. 31۔ 6. 64.59.150.133-10.0.0.149 } قبول کریں۔
  • وقفوں کو ضم کرنے کے لیے بائٹ کوڈ جنریشن کا مسئلہ حل کیا گیا ہے جو مختلف بائٹ آرڈر کے ساتھ اقسام کا استعمال کرتے ہیں، جیسے IPv4 (نیٹ ورک بائٹ آرڈر) اور میٹا مارک (سسٹم بائٹ آرڈر)۔ ٹیبل ip x { نقشہ w { ip saddr کی قسم میٹا مارک : فیصلے کے جھنڈے وقفہ کے انسداد عناصر = { 127.0.0.1-127.0.0.4 . 0x123434-0xb00122 : قبول کریں، 192.168.0.10-192.168.1.20 ۔ 0x0000aa00-0x0000aaff : قبول کریں، } } چین k { ٹائپ فلٹر ہک ان پٹ ترجیحی فلٹر؛ پالیسی ڈراپ؛ آئی پی صدر میٹا مارک vmap @w } }
  • خام تاثرات کا استعمال کرتے وقت نادر پروٹوکول کا بہتر موازنہ، مثال کے طور پر: meta l4proto 91 @th,400,16 0x0 accept
  • وقفوں پر قواعد کو فعال کرنے کے مسائل حل ہو گئے ہیں: insert rule xy tcp sport { 3478-3497, 16384-16387 } counter accept
  • JSON API کو سیٹ اور نقشہ کی فہرستوں میں اظہار کے لیے تعاون شامل کرنے کے لیے بہتر بنایا گیا ہے۔
  • nftables python لائبریری کی توسیعیں توثیق کے موڈ ("-c") میں پروسیسنگ کے لیے رول سیٹ کو لوڈ کرنے کی اجازت دیتی ہیں اور متغیرات کی بیرونی تعریف کے لیے تعاون شامل کرتی ہیں۔
  • سیٹ لسٹ عناصر میں تبصرے شامل کرنے کی اجازت ہے۔
  • بائٹ کی شرح کی حد صفر کی قدر کی وضاحت کرنے کی اجازت دیتی ہے۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں