nftables پيڪٽ فلٽر 0.9.4 رليز

شايع ٿيل پيڪيٽ فلٽر ڇڏڻ nftables 0.9.4iptables، ip6table، arptables ۽ ebtables جي متبادل طور ترقي ڪندي IPv4، IPv6، ARP ۽ نيٽ ورڪ پل لاءِ پيڪٽ فلٽرنگ انٽرفيسز کي متحد ڪري. nftables پيڪيج ۾ پيڪيٽ فلٽر اجزاء شامل آهن جيڪي صارف جي اسپيس ۾ هلن ٿا، جڏهن ته ڪنيبل سطح جو ڪم nf_tables سب سسٽم پاران مهيا ڪيل آهي، جيڪو 3.13 جي ڇڏڻ کان وٺي لينڪس ڪنييل جو حصو آهي. ڪم ڪرڻ لاءِ nftables 0.9.4 ڇڏڻ لاءِ ضروري تبديليون مستقبل جي ڪنيل برانچ ۾ شامل آهن لينڪس 5.6.

ڪرنل ليول صرف هڪ عام پروٽوڪول-آزاد انٽرفيس مهيا ڪري ٿو جيڪو پيڪن مان ڊيٽا ڪڍڻ، ڊيٽا آپريشنز ڪرڻ، ۽ وهڪري ڪنٽرول ڪرڻ لاءِ بنيادي ڪم مهيا ڪري ٿو. فلٽرنگ جا ضابطا ۽ پروٽوڪول مخصوص هينڊلر يوزر اسپيس ۾ بائيٽ ڪوڊ ۾ مرتب ڪيا ويندا آهن، جنهن کان پوءِ هي بائيٽ ڪوڊ نيٽ لنڪ انٽرفيس استعمال ڪندي ڪرنل ۾ لوڊ ڪيو ويندو آهي ۽ بي پي ايف (برڪلي پيڪٽ فلٽر) جي ياد ڏياريندڙ هڪ خاص ورچوئل مشين ۾ ڪرنل ۾ لڳايو ويندو آهي. اهو طريقو توهان کي اجازت ڏئي ٿو ته فلٽرنگ ڪوڊ جي سائيز کي خاص طور تي گھٽائڻ جي سطح تي هلندڙ فلٽرنگ ڪوڊ ۽ سڀني ڪمن کي منتقل ڪرڻ جي ضابطن ۽ منطق کي پروٽوڪولن سان ڪم ڪرڻ لاء يوزر اسپيس ۾.

مکيه جدت:

  • ڪنيڪشن ۾ رينجز لاءِ سپورٽ (ڪنيڪٽينشن، ايڊريس جا ڪجهه بنڊل ۽ بندرگاهن جيڪي مقابلي کي آسان ڪن ٿا). مثال طور، هڪ سيٽ لاءِ "وائيٽلسٽ" جنهن جا عنصر هڪ منسلڪ آهن، "وقار" جي پرچم جي وضاحت ڪندي اهو ظاهر ڪندو ته سيٽ منسلڪ ۾ حدون شامل ڪري سگهي ٿي (منسلڪ "ipv4_addr. ipv4_addr. inet_service" لاءِ اڳ ۾ ئي درست فهرست ڪرڻ ممڪن هو. "192.168.10.35. 192.68.11.123. 80" جي فارم سان ملن ٿا، ۽ هاڻي توهان پتي جا گروپ بيان ڪري سگهو ٿا "192.168.10.35-192.168.10.40-192.68.11.123):

    ٽيبل ip foo {
    وائيٽ لسٽ مقرر ڪريو {
    ٽائپ ڪريو ipv4_addr. ipv4_addr. inet_service
    پرچم وقفو
    عناصر = { 192.168.10.35-192.168.10.40 . 192.68.11.123-192.168.11.125. 80}
    }

    زنجير بار {
    قسم فلٽر ٿلهو prerouting ترجيحي فلٽر؛ پاليسي جي کوٽ؛
    اي پي صدر. آئي پي ڊيڊر. tcp dport @whitelist قبول ڪريو
    }
    }

  • سيٽ ۽ نقشي جي فهرستن ۾، "قسم" جي هدايتن کي استعمال ڪرڻ ممڪن آهي، جيڪو عنصر جي شڪل کي طئي ڪري ٿو جڏهن ملائي.
    مثال طور

    ٽيبل ip foo {
    وائيٽ لسٽ مقرر ڪريو {
    ip saddr جو قسم
    عناصر = { 192.168.10.35، 192.168.10.101، 192.168.10.135 }
    }

    زنجير بار {
    قسم فلٽر ٿلهو prerouting ترجيحي فلٽر؛ پاليسي جي کوٽ؛
    ip daddr@whitelist قبول ڪريو
    }
    }

    ٽيبل ip foo {
    نقشو addr2mark {
    IP saddr جو قسم: ميٽا نشان
    عناصر = {192.168.10.35 : 0x00000001, 192.168.10.135 : 0x00000002 }
    }
    }

  • NAT بائنڊنگز ۾ شامل ٿيڻ جي صلاحيت شامل ڪئي وئي، جيڪا توھان کي اجازت ڏئي ٿي ته پتو ۽ پورٽ بيان ڪريو جڏھن NAT تبديلين جي وضاحت ڪندي نقشي جي لسٽن يا نالي واري سيٽ جي بنياد تي:

    nft اضافو ضابطو ip nat pre dnat ip addr. بندرگاهه کان IP صدر نقشو { 1.1.1.1 : 2.2.2.2 . ٽيهه }

    nft نقشو شامل ڪريو ip nat منزلون { ٽائپ ڪريو ipv4_addr . inet_service: ipv4_addr. inet_service \\; }
    nft اضافو ضابطو ip nat pre dnat ip addr. بندرگاهه کان ip sadr. tcp dport map @ destinations

  • نيٽ ورڪ ڪارڊ پاران ڪيل ڪجهه فلٽرنگ عملن سان هارڊويئر جي تيز رفتاري لاءِ سپورٽ. ايڪيلريشن ايٿول يوٽيلٽي ذريعي فعال ڪئي وئي آهي (“ethtool -K eth0 hw-tc-offload on”)، جنهن کان پوءِ ان کي چالو ڪيو ويو nftables ۾ مکيه زنجير لاءِ ”آف لوڊ“ پرچم استعمال ڪندي. جڏهن لينڪس ڪنيل 5.6 استعمال ڪندي، هارڊويئر ايڪسلريشن کي سپورٽ ڪيو ويندو آهي هيڊر فيلڊ ميچنگ ۽ انڪمنگ انٽرفيس جي معائني لاءِ ميلاپ ۾ وصول ڪرڻ، رد ڪرڻ، نقل ڪرڻ (ڊپ)، ۽ فارورڊنگ (fwd) پيڪٽس سان. هيٺ ڏنل مثال ۾، ايڊريس 192.168.30.20 مان ايندڙ پيڪيٽ ڇڏڻ جا آپريشن نيٽ ورڪ ڪارڊ جي سطح تي ڪيا ويندا آهن، بغير پيڪٽ کي ڪني ڏانهن منتقل ڪرڻ کان سواء:

    # cat file.nft
    ٽيبل netdev x {
    زنجير y {
    ٽائيپ فلٽر ٿلهو انگريس ڊيوائس eth0 priority 10؛ جھنڊو offload؛
    آئي پي صدر 192.168.30.20 ڊراپ
    }
    }
    # nft -f file.nft

  • ضابطن ۾ غلطي جي جڳھ بابت بهتر ڄاڻ.

    # nft حذف ڪريو ضابطو ip yz handle 7
    غلطي: ضابطي تي عمل نه ٿي سگهيو: اهڙي ڪا فائل يا ڊاريڪٽري ناهي
    ضابطو ختم ڪريو ip yz handle 7
    ^

    # nft حذف ڪريو قاعدو ip xx هينڊل 7
    غلطي: ضابطي تي عمل نه ٿي سگهيو: اهڙي ڪا فائل يا ڊاريڪٽري ناهي
    ضابطو ختم ڪريو ip xx handle 7
    ^

    # nft ٽيبل twst کي حذف ڪريو
    غلطي: ڪا به اهڙي فائل يا ڊاريڪٽري؛ ڇا توھان جو مطلب آھي ٽيبل "ٽيسٽ" ۾ خانداني ip؟
    ٽيبل twst کي حذف ڪريو
    ^^^^

    پهريون مثال ڏيکاري ٿو ته ٽيبل "y" سسٽم ۾ ناهي، ٻيو ته "7" هينڊلر غائب آهي، ۽ ٽيون اهو آهي ته ٽيبل جو نالو ٽائيپ ڪرڻ وقت ٽائپو پرامپٽ ڏيکاري ٿو.

  • "meta sdif" يا "meta sdifname" جي وضاحت ڪندي غلام انٽرفيس کي جانچڻ لاءِ سپورٽ شامل ڪئي وئي:

    ... meta sdifname vrf1 ...

  • ساڄي يا کاٻي شفٽ آپريشن لاءِ سپورٽ شامل ڪئي وئي. مثال طور، 1 بٽ جي ڇڏيل موجوده پيڪٽ ليبل کي منتقل ڪرڻ ۽ نابالغ بٽ کي 1 تي سيٽ ڪريو:

    ... ميٽا نشان سيٽ ميٽا نشان lshift 1 يا 0x1 ...

  • لاڳو ٿيل "-V" اختيار وڌايو ويو ورزن جي معلومات کي ظاهر ڪرڻ لاء.

    # nft -V
    nftables v0.9.4 (Jive at Five)
    cli: readline
    json: ها
    minigmp: نه
    libxtables: ها

  • ڪمانڊ لائن آپشن کي ھاڻي بيان ڪيو وڃي حڪمن کان اڳ. مثال طور، توهان کي وضاحت ڪرڻ جي ضرورت آهي "nft -a list ruleset"، پر "nft list ruleset -a" هلائڻ سان غلطي ٿيندي.

    جو ذريعو: opennet.ru

تبصرو شامل ڪريو