د nftables پاکټ فلټر 0.9.4 خوشې کول

خپور شوی د پاکټ فلټر خوشې کول nftables 0.9.4د IPv6، IPv4، ARP او شبکې پلونو لپاره د پیکټ فلټرینګ انٹرفیسونو متحد کولو سره د iptables، ip6table، arptables او ebtables لپاره د بدیل په توګه وده کول. د nftables کڅوړه کې د پاکټ فلټر برخې شاملې دي چې د کارونکي ځای کې پرمخ ځي، پداسې حال کې چې د کرنل کچې کار د nf_tables سب سیسټم لخوا چمتو شوی، کوم چې د 3.13 خوشې کیدو راهیسې د لینکس کرنل برخه ده. د کار کولو لپاره د nftables 0.9.4 خوشې کولو لپاره اړین بدلونونه د راتلونکي کرنل برانچ کې شامل دي لینکس ایکسینمز.

د کرنل کچه یوازې یو عمومي پروتوکول - خپلواک انٹرفیس چمتو کوي چې د پاکټونو څخه د ډیټا ایستلو ، د معلوماتو عملیاتو ترسره کولو ، او جریان کنټرول لپاره لومړني دندې چمتو کوي. د فلټر کولو قواعد او د پروتوکول ځانګړي هینډلرونه د کارونکي ځای کې بایټ کوډ کې تنظیم شوي ، وروسته له دې چې دا بایټ کوډ د Netlink انٹرفیس په کارولو سره کرنل کې بار شوی او په ځانګړي مجازی ماشین کې د BPF (برکلي پاکټ فلټرونو) یادونه کوي په کرنل کې اجرا کیږي. دا طریقه تاسو ته اجازه درکوي د فلټر کولو کوډ اندازه د پام وړ کمه کړئ چې د کرنل په کچه روان دي او د پروتوکولونو سره کار کولو لپاره د پارس کولو قواعد او منطق ټولې دندې د کارونکي ځای کې حرکت کوي.

اصلي نوښتونه:

  • په اتصالونو کې د سلسلې لپاره ملاتړ (تړون، د پتې ځینې بنډلونه او بندرونه چې پرتله کول ساده کوي). د مثال په توګه، د یوې سیټ "ویټ لیست" لپاره چې عناصر یې ضمیمه دي، د "وقاله" بیرغ مشخص کول به دا په ګوته کړي چې سیټ کولی شي په ضمیمه کې سلسلې شاملې کړي (د ضمیمه "ipv4_addr. ipv4_addr. inet_service" لپاره دا دمخه ممکنه وه چې دقیق لیست کړئ د "192.168.10.35. 192.68.11.123" فورمې سره سمون لري، او اوس تاسو کولی شئ د پتې ګروپونه مشخص کړئ "80-192.168.10.35-192.168.10.40".

    جدول 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}
    }

    زنځیر بار {
    د فلټر هک ډول پریروټینګ لومړیتوب فلټر؛ د پالیسۍ کمښت
    ip saddr. ip daddr. tcp dport@whitelist مني
    }
    }

  • په سیټونو او نقشو لیستونو کې ، دا ممکنه ده چې د "ډول" لارښود وکاروئ ، کوم چې د میچ کولو پرمهال د عنصر بڼه ټاکي.
    د مثال په توګه:

    جدول ip foo {
    سپین لیست ترتیب کړئ {
    د ip saddr ډول
    عناصر = {192.168.10.35, 192.168.10.101, 192.168.10.135 }
    }

    زنځیر بار {
    د فلټر هک ډول پریروټینګ لومړیتوب فلټر؛ د پالیسۍ کمښت
    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 نقشه @ منزلونه

  • د شبکې کارت لخوا ترسره شوي ځینې فلټر کولو عملیاتو سره د هارډویر سرعت لپاره ملاتړ. سرعت د ethtool یوټیلیټ ("ethtool -K eth0 hw-tc-offload on") له لارې فعال شوی ، له هغې وروسته دا د "آفلوډ" بیرغ په کارولو سره د اصلي سلسلې لپاره په nftables کې فعال کیږي. کله چې د لینکس کرنل 5.6 کاروئ، د هارډر ګړندیتوب د سرلیک ساحې میچ کولو او راتلونکي انٹرفیس تفتیش لپاره د ترلاسه کولو ، ردولو ، نقل کولو (ډوپ) ، او فارورډ کولو (fwd) پاکټونو سره په ترکیب کې ملاتړ کیږي. په لاندې مثال کې، د 192.168.30.20 پتې څخه راځي د پاکټونو د غورځولو عملیات د شبکې کارت په کچه ترسره کیږي، پرته له دې چې کڅوړې کرنل ته انتقال کړي:

    # cat file.nft
    جدول netdev x {
    زنځیر y {
    د فلټر هک د ننوتلو وسیله ډول eth0 لومړیتوب 10؛ بيرغونه پورته کول
    IP Saddr 192.168.30.20 ډراپ
    }
    }
    # nft -f file.nft

  • په مقرراتو کې د غلطۍ د موقعیت په اړه ښه معلومات.

    # nft حذف قاعده ip yz هینډل 7
    تېروتنه: قاعده پروسس نشو کولی: داسې فایل یا لارښود نشته
    قاعده ip yz هینډل 7 حذف کړئ
    ^

    # nft حذف قاعده ip xx هینډل 7
    تېروتنه: قاعده پروسس نشو کولی: داسې فایل یا لارښود نشته
    د ip xx هینډل 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 (په پنځو کې ژوند)
    cli: readline
    json: هو
    minigmp: نه
    libxtables: هو

  • د کمانډ لاین اختیارونه باید اوس د کمانډونو دمخه مشخص شي. د مثال په توګه، تاسو اړتیا لرئ د "nft -a لیست قواعد" مشخص کړئ، او د "nft لیست قواعد -a" چلول به د تېروتنې پایله ولري.

    سرچینه: opennet.ru

Add a comment