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

packet filter nftables 1.1.6 ကိုထုတ်ဝေပြီး IPv4၊ IPv6၊ ARP နှင့် network bridges (iptables၊ ip6table၊ arptables နှင့် ebtables) များအတွက် packet filtering interfaces များကို ပေါင်းစည်းပြီး ထုတ်ဝေထားပါသည်။ တစ်ချိန်တည်းမှာပင်၊ အဖော်စာကြည့်တိုက် libnftnl 1.3.1 ကို ထုတ်ဝေခဲ့ပြီး nf_tables စနစ်ခွဲများနှင့် အပြန်အလှန်တုံ့ပြန်ရန်အတွက် အဆင့်နိမ့် API ကို ပေးဆောင်ခဲ့သည်။

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 သို့ ရွှေ့ပေးသည်။

အဓိကပြောင်းလဲမှုများ-

  • vxlan၊ geneve နှင့် erspan ကဲ့သို့သော ပေါ့ပါးသော ဥမင်လိုဏ်ခေါင်းပုံစံများအတွက် အပြည့်အဝပံ့ပိုးမှု- table netdev global { tunnel t1 { id 10 ip saddr 192.168.2.10 ip daddr 192.168.2.11 sport index 1025 dport 20010 span 2 ttl tunnel t2 { id 10 ip saddr 192.168.3.10 ip daddr 192.168.3.11 sport 1025 dport 21021 ttl 1 erspan { version 1 index 2 } } ကွင်းဆက် { type filter hook ingress device ;0 ဦးစားပေး ဥမင်လိုဏ်ခေါင်းအမည် ip saddr မြေပုံ { 10.141.10.12 : "t1", 10.141.10.13 : "t2" } fwd to erspan1 } } စည်းမျဉ်းများကို မတင်မီ၊ သင်သည် erspan1 ကွန်ရက် မျက်နှာပြင်ကို ဖန်တီးသင့်သည်- ip link add dev erspan1 အမျိုးအစား erspan ပြင်ပ
  • netdev ကိုင်တွယ်သူရှိ ကွန်ရက်အင်တာဖေ့စ်အမည်များတွင် မျက်နှာဖုံးများအတွက် ပံ့ပိုးမှု ပေါင်းထည့်ထားသည်။ ဥပမာအားဖြင့်၊ vlan စက်အားလုံးအတွက် အဝင်အသွားအလာ စစ်ထုတ်မှုတွင် အခြေခံကွင်းဆက်တစ်ခုကို ထည့်ရန်၊ သင်သည် သတ်မှတ်နိုင်သည်- ဇယား netdev t { chain c { type filter hook ingress devices = { "vlan*", "veth0" } ဦးစားပေး filter; မူဝါဒလက်ခံ; } }
  • kernel ပါရှိသော စနစ်များတွင် Linux 6.18+ သည် local processing အတွက် network bridge interface သို့ L2 frames များ ပို့လွှတ်ခြင်းကို ပံ့ပိုးပေးသည်။ ဥပမာအားဖြင့်၊ MAC address de:ad:00:00:be:ef အတွက် Ethernet frame အားလုံးကို IP stack သို့ ညွှန်ကြားရန်အတွက်၊ သင်သတ်မှတ်နိုင်သည်- table bridge global { chain pre { type filter hook prerouting priority 0; policy accept; ether daddr de:ad:00:00:be:ef meta pkttype set host ether daddr set meta ibrhwaddr accept } }
  • "./configure --with-fuzzer" မှတစ်ဆင့် တည်ဆောက်ချိန်၌ ဖွင့်ထားသည့် afl++ (american fuzzy lop++) toolchain ကို အသုံးပြု၍ မသေချာမရေရာ စမ်းသပ်ခြင်းအတွက် အခြေခံအဆောက်အအုံအသစ်တစ်ခုကို ထပ်ထည့်ထားသည်။

source: opennet.ru

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