nftables packet filter 0.9.9 ထွက်ရှိသည်။

nftables 0.9.9 packet filter ကို ထုတ်ပြန်လိုက်ပါပြီ။ ၎င်းသည် IPv4၊ IPv6၊ ARP နှင့် network bridge များ (iptables၊ ip6table၊ arptables နှင့် ebtables များအတွက် အစားထိုးအဖြစ် ပစ်မှတ်ထား) အတွက် packet filtering interface များကို ပေါင်းစည်းပေးသည်။ nf_tables subsystem နှင့် အပြန်အလှန် ဆက်သွယ်ရန်အတွက် low-level API ကို ပံ့ပိုးပေးသည့် ပူးတွဲပါ libnftnl 1.2.0 library ကို တစ်ပြိုင်နက်တည်း ထုတ်ပြန်လိုက်ပါပြီ။ nftables 0.9.9 အတွက် လိုအပ်သော ပြောင်းလဲမှုများကို kernel တွင် ထည့်သွင်းထားပါသည်။ Linux ၅.၁၆-rc၁။

nftables package တွင် user space တွင် လည်ပတ်သော packet filter components များပါဝင်ပြီး kernel-level work ကို kernel ၏ အစိတ်အပိုင်းတစ်ခုဖြစ်သည့် nf_tables subsystem မှ ပံ့ပိုးပေးပါသည်။ Linux ဖြန့်ချိမှု 3.13 မှစ၍ kernel level တွင် generic protocol-independent interface ကိုသာ ပံ့ပိုးပေးထားပြီး packets များမှ data များကို extract လုပ်ခြင်း၊ data operations များကို လုပ်ဆောင်ခြင်းနှင့် flow control တို့အတွက် အခြေခံလုပ်ဆောင်ချက်များကို ပေးဆောင်ပါသည်။

filtering rules များနှင့် protocol-specific handler များကို user space ရှိ bytecode ထဲသို့ compile လုပ်ပြီးနောက် ဤ bytecode ကို Netlink interface ကို အသုံးပြု၍ kernel ထဲသို့ load လုပ်ပြီး kernel တွင် special attribute ဖြင့် execute လုပ်သည်။ virtual machineBPF (Berkeley Packet Filters) နှင့် ဆင်တူသည်။ ဤနည်းလမ်းသည် kernel level တွင် လည်ပတ်နေသော filtering code ၏ အရွယ်အစားကို သိသိသာသာ လျှော့ချပေးပြီး rule parsing နှင့် protocol logic အားလုံးကို user space သို့ ရွှေ့ပေးသည်။

အဓိက တီထွင်ဆန်းသစ်မှုများ-

  • 'offload' အလံကို အသုံးပြု၍ flowtable လုပ်ဆောင်ခြင်းအား ကွန်ရက် adapter ဘက်သို့ ရွှေ့ရန် စွမ်းရည်ကို အကောင်အထည်ဖော်ပြီးဖြစ်သည်။ Flowtable သည် packet redirection ၏လမ်းကြောင်းကို အကောင်းဆုံးဖြစ်အောင်ပြုလုပ်သည့် ယန္တရားတစ်ခုဖြစ်ပြီး၊ ၎င်းတွင် rule processing chains များအားလုံးကို ပထမ packet တွင်သာအသုံးပြုပြီး flow ရှိ အခြားသော packet အားလုံးကို တိုက်ရိုက် forward လုပ်ပါသည်။ ဇယား ip global { flowtable f { ချိတ် ingress ဦးစားပေး filter + 1 devices = { lan3, lan0, wan } flags offload } chain forward { type filter hook forward priority filter; မူဝါဒလက်ခံ; ip protocol { tcp, udp } flow add @f } chain post { nat hook postrouting priority filter; မူဝါဒလက်ခံ; oifname "wan" ဟန်ဆောင် } }
  • လုပ်ငန်းစဉ်တစ်ခုအားဖြင့် ဇယားကို သီးသန့်အသုံးပြုမှုသေချာစေရန် ပိုင်ရှင်အလံကို စားပွဲတစ်ခုတွင် ပူးတွဲထည့်သွင်းခြင်းအတွက် ပံ့ပိုးမှု ထပ်လောင်းထည့်သွင်းထားသည်။ လုပ်ငန်းစဉ်တစ်ခု ရပ်ဆိုင်းသွားသောအခါ၊ ၎င်းနှင့်ဆက်စပ်နေသော ဇယားကို အလိုအလျောက် ဖျက်သွားပါမည်။ လုပ်ငန်းစဉ်နှင့်ပတ်သက်သည့် အချက်အလက်ကို မှတ်ချက်တစ်ခုပုံစံဖြင့် စည်းမျဉ်းစည်းကမ်းများ အမှိုက်ပုံတွင် ဖော်ပြသည်- table ip x { # progname nft flags owner chain y { type filter hook input priority filter; မူဝါဒလက်ခံ; ကောင်တာအထုပ်များ 1 bytes 309 } }
  • IEEE 802.1ad သတ်မှတ်ချက် (VLAN stacking သို့မဟုတ် QinQ) အတွက် ပံ့ပိုးမှု ပေါင်းထည့်ထားသော VLAN တက်ဂ်များကို Ethernet ဖရိန်တစ်ခုထဲသို့ အစားထိုးခြင်းအတွက် နည်းလမ်းတစ်ခုအဖြစ် သတ်မှတ်သည်။ ဥပမာအားဖြင့်၊ ပြင်ပ အီသာနက်ဖရိန် 8021ad နှင့် vlan id=342 အမျိုးအစားကို စစ်ဆေးရန်၊ တည်ဆောက်မှုကို သင်အသုံးပြုနိုင်သည် ... ether အမျိုးအစား 802.1ad vlan id 342 Ethernet frame 8021ad/vlan id=1၊ nested 802.1 ၏ ပြင်ပအမျိုးအစားကို စစ်ဆေးရန်၊ q/vlan id=2 နှင့် နောက်ထပ် IP packet encapsulation- ... ether အမျိုးအစား 8021ad vlan id 1 vlan အမျိုးအစား 8021q vlan id 2 vlan အမျိုးအစား ip ကောင်တာ
  • ပေါင်းစည်းထားသော အထက်အောက် cgroups v2 ကို အသုံးပြု၍ အရင်းအမြစ်များကို စီမံခန့်ခွဲခြင်းအတွက် ပံ့ပိုးမှု ပေါင်းထည့်ထားသည်။ cgroups v2 နှင့် v1 အကြား အဓိကကွာခြားချက်မှာ အရင်းအမြစ်အမျိုးအစားအားလုံးအတွက် ဘုံ cgroups hierarchy ကိုအသုံးပြုခြင်းဖြစ်ပြီး CPU အရင်းအမြစ်များကိုခွဲဝေပေးခြင်း၊ မှတ်ဉာဏ်သုံးစွဲမှုထိန်းညှိခြင်းအတွက် နှင့် I/O အတွက် သီးခြားအထက်တန်းအဆင့်များအစား၊ ဥပမာအားဖြင့်၊ ပထမအဆင့် cgroupv2 ရှိ socket ၏ဘိုးဘေးများသည် “system.slice” mask နှင့် ကိုက်ညီမှုရှိမရှိ စစ်ဆေးရန်၊ တည်ဆောက်မှုကို သင်အသုံးပြုနိုင်သည်- ... socket cgroupv2 အဆင့် 1 “system.slice”
  • SCTP packets များ၏ အစိတ်အပိုင်းများကို စစ်ဆေးနိုင်စွမ်းကို ထည့်သွင်းထားသည် (လည်ပတ်မှုအတွက် လိုအပ်သော လုပ်ဆောင်ချက်သည် kernel တွင် ပေါ်လာလိမ့်မည်) Linux ၅.၁၄)။ ဥပမာအားဖြင့်၊ packet တွင် 'data' type နှင့် 'type' field ပါရှိသော chunk တစ်ခုပါဝင်ခြင်း ရှိမရှိ စစ်ဆေးရန်- … sctp chunk data exists … sctp chunk data type 0
  • “-f” အလံကို အသုံးပြု၍ စည်းကမ်းတင်ခြင်း လုပ်ဆောင်ချက်ကို နှစ်ကြိမ်ခန့် အရှိန်မြှင့်ခဲ့သည်။ စည်းမျဥ်းစည်းကမ်းများ ထုတ်ပေးရေးကိုလည်း အရှိန်မြှင့်ခဲ့သည်။
  • အလံဘစ်များကို သတ်မှတ်ပေးထားခြင်းရှိမရှိ စစ်ဆေးရန်အတွက် သေးငယ်သောပုံစံ။ ဥပမာအားဖြင့်၊ snat နှင့် dnat status bits များကို မသတ်မှတ်ထားကြောင်း စစ်ဆေးရန်၊ သင်သတ်မှတ်နိုင်သည်- ... ct status ! bitmask syn,ack: ... tcp အလံများ syn/sync တွင် syn bit ကိုသတ်မှတ်ထားကြောင်းစစ်ဆေးရန်၊ dnat သည် bitmask syn,ack,fin,rst တွင် fin နှင့် rst bit များကိုမသတ်မှတ်ထားကြောင်းစစ်ဆေးရန်- ... tcp အလံများ ! = fin,rst / syn,ack,fin,rst
  • set/map type of definitions တွင် "စီရင်ချက်" သော့ချက်စာလုံးကို ခွင့်ပြုပါ- မြေပုံ xm { typeof iifname . ip ပရိုတိုကော th dport : စီရင်ချက် ;}

source: opennet.ru

DDoS ကာကွယ်ရေး၊ VPS VDS ဆာဗာများပါသည့် ဆိုက်များအတွက် ယုံကြည်စိတ်ချရသော hosting ကို ဝယ်ယူပါ။ 🔥 DDoS ကာကွယ်မှု၊ VPS VDS ဆာဗာများပါရှိသော ယုံကြည်စိတ်ချရသော ဝဘ်ဆိုက် hosting ကို ဝယ်ယူပါ | ProHoster