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

packet filter nftables 1.0.6 ကိုထုတ်ဝေပြီး IPv4၊ IPv6၊ ARP နှင့် network bridges (iptables၊ ip6table၊ arptables နှင့် ebtables) များအတွက် packet filtering interface များကို ပေါင်းစည်းပြီး ထုတ်ဝေထားပါသည်။ nftables ပက်ကေ့ဂျ်တွင် အသုံးပြုသူနေရာလွတ်တွင် လည်ပတ်နေသော ပက်ကက်စစ်ထုတ်သည့် အစိတ်အပိုင်းများ ပါ၀င်ပြီး kernel-level အလုပ်ကို 3.13 ကတည်းက Linux kernel ၏ တစ်စိတ်တစ်ပိုင်းဖြစ်သည့် nf_tables ခွဲစနစ်က ပံ့ပိုးပေးထားသည်။ kernel အဆင့်သည် ပက်ကတ်များမှ ဒေတာထုတ်ယူရန်၊ ဒေတာလည်ပတ်မှုနှင့် စီးဆင်းမှုထိန်းချုပ်မှုအတွက် အခြေခံလုပ်ဆောင်ချက်များကို ပံ့ပိုးပေးသည့် ယေဘူယျပရိုတိုကော-အမှီအခိုကင်းသော အင်တာဖေ့စ်ကို ထောက်ပံ့ပေးသည်။

စစ်ထုတ်ခြင်းဆိုင်ရာ စည်းမျဉ်းများနှင့် ပရိုတိုကော-သီးသန့် ကိုင်တွယ်သူများကို အသုံးပြုသူနေရာရှိ ဘိုက်ကုဒ်အဖြစ် စုစည်းထားပြီး၊ ထို့နောက်တွင် ဤ bytecode ကို Netlink မျက်နှာပြင်ကို အသုံးပြု၍ kernel ထဲသို့ တင်ကာ BPF (Berkeley Packet Filters) ကို အမှတ်ရသည့် အထူး virtual machine တွင် kernel တွင် လုပ်ဆောင်သည်။ ဤချဉ်းကပ်မှုသည် kernel အဆင့်တွင် လုပ်ဆောင်နေသော စစ်ထုတ်ကုဒ်၏ အရွယ်အစားကို သိသာထင်ရှားစွာ လျှော့ချနိုင်ပြီး ပရိုတိုကောများနှင့် လုပ်ဆောင်ရန်အတွက် အသုံးပြုသူနေရာသို့ ခွဲခြမ်းစိတ်ဖြာခြင်းဆိုင်ရာ စည်းမျဉ်းများနှင့် ယုတ္တိဗေဒဆိုင်ရာ လုပ်ငန်းဆောင်တာအားလုံးကို ရွှေ့နိုင်စေပါသည်။

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

  • “-o/—optimize” ရွေးချယ်မှုကို သတ်မှတ်သည့်အခါ ဟုခေါ်သော စည်းမျဉ်းများ ပိုမိုကောင်းမွန်အောင် လုပ်ဆောင်သည့်စနစ်တွင် ၎င်းတို့ကို ပေါင်းစပ်ပြီး ၎င်းတို့ကို မြေပုံနှင့် သတ်မှတ်စာရင်းများအဖြစ် ပြောင်းလဲခြင်းဖြင့် စည်းမျဉ်းများ အလိုအလျောက်ထုပ်ပိုးမှု ပါရှိသည်။ ဥပမာအားဖြင့် rules # cat ruleset.nft ဇယား ip x { chain y { type filter hook input priority filter; မူဝါဒကျဆင်းခြင်း၊ 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 လက်ခံ meta iifname eth1 ip saddr 1.1.1.2 လက်ခံမည် ip daddr 2.2.3.0. .24 ip daddr 1-1.1.1.2 လက်ခံ meta iifname eth2.2.4.0 ip saddr 2.2.4.10 ip daddr 2 လက်ခံ } } "nft -o -c -f ruleset.nft" ကို လုပ်ဆောင်ပြီးနောက် အောက်ပါအတိုင်း ပြောင်းလဲသွားပါမည်- ruleset . nft:1.1.1.3:2.2.2.5-4: meta iifname eth17 ip saddr 74 ip daddr 1 လက်ခံ ruleset.nft:1.1.1.1:2.2.2.3-5: meta iifname eth17 ip saddr 74 ip daddr 1 လက်ခံစည်းမျဉ်းများ.nft : 1.1.1.2:2.2.2.4-6: meta iifname eth17 ip saddr 77 ip daddr 1/1.1.1.2 လက်ခံ 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 saddr။ ip daddr { eth1.1.1.3 . ၁.၁.၁.၁။ 2.2.2.5၊ eth1။ ၁.၁.၁.၂။ 1.1.1.1၊ eth2.2.2.3 ၁.၁.၁.၂။ 1/1.1.1.2၊ eth2.2.2.4 ၁.၁.၁.၂။ 1-1.1.1.2၊ eth2.2.3.0။ ၁.၁.၁.၃။ 24 } လက်ခံပါသည်။
  • ပိုမိုကောင်းမွန်အောင်ပြုလုပ်သူသည် ရိုးရှင်းသောသတ်မှတ်စာရင်းများကို ပိုမိုကျစ်လစ်သောပုံစံသို့ အသုံးပြုထားပြီး စည်းမျဉ်းများကိုလည်း ပြောင်းလဲနိုင်သည်၊ ဥပမာ စည်းမျဉ်းများ- # cat ruleset.nft table ip filter { chain input { type filter hook input priority filter; မူဝါဒကျဆင်းခြင်း၊ iifname “lo” သည် ct state ကိုလက်ခံသည်၊ ဆက်စပ်လက်ခံသောမှတ်ချက် “ကျွန်ုပ်တို့စတင်သည့်လမ်းကြောင်းတွင် ကျွန်ုပ်တို့ယုံကြည်သည်” iifname “enp0s31f6” ip saddr { 209.115.181.102၊ 216.197.228.230 } ip daddr 10.0.0.149 123d udp sport iifname "enp32768s65535f0" ip saddr { 31, 6 } ip daddr 64.59.144.17 udp sport 64.59.150.133 udp dport 10.0.0.149-53 -nfetc စည်းမျဉ်းများကို ဖြတ်ပြီးနောက်တွင် အောက်ပါအတိုင်း လက်ခံပါမည်။ : ruleset.nft:32768:65535-6: iifname "enp22s149f0" ip saddr { 31, 6 } ip daddr 209.115.181.102 udp sport 216.197.228.230-port 10.0.0.149ft.123 စည်းမျဉ်းများ ၂- ၁၄၃: iifname "enp32768s65535f7" ip saddr { 22, 143 } ip daddr 0 udp sport 31 udp dport 6-64.59.144.17 လက်ခံသည်- iifname . ip saddr။ ip ဖေဖေ။ udp အားကစား။ udp dport { enp64.59.150.133s10.0.0.149f53 . 32768။ ၁၀.၀.၀.၁၄၉။ ၁၂၃။ 65535-0၊ enp31s6f209.115.181.102။ ၂၁၆.၁၉၇.၂၂၈.၂၃၀။ ၁၀.၀.၀.၁၄၉။ ၁၂၃။ 10.0.0.149-123၊ enp32768s65535f0။ ၆၄.၅၉.၁၄၄.၁၇။ ၁၀.၀.၀.၁၄၉။ ၅၃။ 31-6၊ enp216.197.228.230s10.0.0.149f123။ ၆၄.၅၉.၁၅၀.၁၃၃။ ၁၀.၀.၀.၁၄၉။ ၅၃။ 32768-65535 } လက်ခံပါသည်။
  • IPv4 (ကွန်ရက် ဘိုက်အမှာစာ) နှင့် မက်တာအမှတ်အသား (စနစ် ဘိုက်အမှာစာ) ကဲ့သို့သော မတူညီသော ဘိုက်အစီအစဥ်များဖြင့် အမျိုးအစားများကို အသုံးပြုသည့် ကြားကာလများကို ပေါင်းစည်းရန်အတွက် bytecode မျိုးဆက်နှင့် ပြဿနာကို ဖြေရှင်းခဲ့သည်။ ဇယား ip x { မြေပုံ w { ip saddr အမျိုးအစား။ meta အမှတ်အသား : စီရင်ချက်အလံများ ကြားကာလ တန်ပြန်ဒြပ်စင်များ = { 127.0.0.1-127.0.0.4 . 0x123434-0xb00122 : လက်ခံ၊ 192.168.0.10-192.168.1.20။ 0x0000aa00-0x0000aaff : လက်ခံ၊ } } ကွင်းဆက် k { အမျိုးအစား ဇကာချိတ် ထည့်သွင်းမှု ဦးစားပေး ဇကာ၊ မူဝါဒကျဆင်းခြင်း၊ ip saddr။ မက်တာအမှတ်အသား vmap @w } }
  • ဥပမာ- meta l4proto 91 @th,400,16 0x0 လက်ခံသည်
  • ကြားကာလတွင် စည်းမျဥ်းများဖွင့်ခြင်းဆိုင်ရာ ပြဿနာများကို ဖြေရှင်းပြီးပါပြီ- စည်းမျဉ်း xy tcp sport ကိုထည့်ပါ { 3478-3497၊ 16384-16387 } တန်ပြန်လက်ခံသည်
  • အစုံလိုက်နှင့် မြေပုံစာရင်းများတွင် စကားအသုံးအနှုန်းများအတွက် ပံ့ပိုးမှုပါ၀င်စေရန် JSON API ကို မြှင့်တင်ထားပါသည်။
  • nftables python ဒစ်ဂျစ်တိုက်သို့ တိုးချဲ့မှုများသည် တရားဝင်အတည်ပြုမုဒ် ("-c") တွင် လုပ်ဆောင်ရန်အတွက် စည်းကမ်းချက်အစုံများကို တင်ခွင့်ပြုပြီး ပြင်ပမှ ကိန်းရှင်များ၏ အဓိပ္ပါယ်ဖွင့်ဆိုချက်များအတွက် ပံ့ပိုးမှုပေါင်းထည့်နိုင်သည်။
  • သတ်မှတ်စာရင်းအစိတ်အပိုင်းများတွင် မှတ်ချက်များထည့်ခြင်းကို ခွင့်ပြုသည်။
  • ဘိုက်နှုန်းကန့်သတ်ချက်သည် သုညတန်ဖိုးကို သတ်မှတ်ခွင့်ပြုသည်။

source: opennet.ru

မှတ်ချက် Add