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

packet filter nftables 1.0.2 ကို ထုတ်ဝေပြီး IPv4၊ IPv6၊ ARP နှင့် network bridges (iptables၊ ip6table၊ arptables နှင့် ebtables) များအတွက် packet filtering interface များကို ပေါင်းစည်းပြီး ထုတ်ဝေထားပါသည်။ အလုပ်လုပ်ရန်အတွက် nftables 1.0.2 ထွက်ရှိမှုအတွက် လိုအပ်သောပြောင်းလဲမှုများကို Linux kernel 5.17-rc တွင် ထည့်သွင်းထားပါသည်။

nftables ပက်ကေ့ဂျ်တွင် အသုံးပြုသူနေရာလွတ်တွင် လည်ပတ်နေသော ပက်ကက်စစ်ထုတ်သည့် အစိတ်အပိုင်းများ ပါ၀င်ပြီး kernel-level အလုပ်ကို 3.13 ကတည်းက Linux kernel ၏ တစ်စိတ်တစ်ပိုင်းဖြစ်သည့် nf_tables ခွဲစနစ်က ပံ့ပိုးပေးထားသည်။ kernel အဆင့်သည် ပက်ကတ်များမှ ဒေတာထုတ်ယူရန်၊ ဒေတာလည်ပတ်မှုနှင့် စီးဆင်းမှုထိန်းချုပ်မှုအတွက် အခြေခံလုပ်ဆောင်ချက်များကို ပံ့ပိုးပေးသည့် ယေဘူယျပရိုတိုကော-အမှီအခိုကင်းသော အင်တာဖေ့စ်ကို ထောက်ပံ့ပေးသည်။

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

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

  • စည်းကမ်းချက်များအား ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ခြင်းမုဒ်ကို ထည့်သွင်းထားပြီး၊ ၎င်းကို အမှန်တကယ်မတင်ဘဲ စည်းမျဉ်းသတ်မှတ်ဖိုင်တွင် အပြောင်းအလဲများကို စစ်ဆေးရန်နှင့် အကောင်းဆုံးဖြစ်အောင်ပြုလုပ်ရန် "--check" option နှင့် ပေါင်းစပ်နိုင်သည့် "-o" ("--optimize") ရွေးချယ်မှုကို အသုံးပြု၍ ဖွင့်ထားသည်။ . ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ခြင်းက သင့်အား အလားတူစည်းမျဉ်းများကို ပေါင်းစပ်နိုင်စေသည်၊ ဥပမာအားဖြင့် စည်းမျဉ်းများ- 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.5 လက်ခံ ip saddr 1.1.1.1 2.2.2.2 ip da .2.2.2.2 လက်ခံ ip saddr 3.3.3.3 ip daddr XNUMX drop

    meta iifname အဖြစ် ပေါင်းစပ်သွားပါမည်။ ip saddr။ ip daddr { eth1 . ၁.၁.၁.၁။ 1.1.1.1၊ eth2.2.2.3။ ၁.၁.၁.၂။ 1 } ip saddr ကိုလက်ခံပါ။ ip daddr vmap { 1.1.1.2 . 2.2.2.5 : လက်ခံ၊ 1.1.1.1 ။ 2.2.2.2 : drop }

    ဥပမာအသုံးပြုမှု- #nft -c -o -f ruleset.test ပေါင်းစည်းခြင်း- ruleset.nft:16:3-37: ip daddr 192.168.0.1 တန်ပြန်လက်ခံ ruleset.nft:17:3-37: ip daddr 192.168.0.2 တန်ပြန်လက်ခံ ruleset.nft:18:3-37: ip daddr 192.168.0.3 တန်ပြန်လက်ခံသည်- ip daddr { 192.168.0.1၊ 192.168.0.2၊ 192.168.0.3 } ကောင်တာပက်ကတ်များ 0 bytes 0 လက်ခံ

  • set lists များသည် ip နှင့် tcp ရွေးစရာများအပြင် sctp အပိုင်းများကို သတ်မှတ်နိုင်စွမ်းကို အကောင်အထည်ဖော်သည်- set s5 { typeof ip option ra value element = { 1, 1024 } } set s7 { typeof sctp chunk init num-inbound-streams element = { 1, 4 } } ကွင်းဆက် c5 { ip option ra တန်ဖိုး @s5 လက်ခံ } ကွင်းဆက် c7 { sctp chunk init num-inbound-streams @s7 လက်ခံ }
  • TCP ရွေးချယ်မှုများကို အမြန်ဖွင့်၊ md5sig နှင့် mptcp အတွက် ပံ့ပိုးမှု ထပ်ထည့်ထားသည်။
  • မြေပုံဆွဲခြင်းများတွင် mp-tcp အမျိုးအစားခွဲကို အသုံးပြုခြင်းအတွက် ထပ်လောင်းပံ့ပိုးမှု- tcp ရွေးချယ်မှု mptcp အမျိုးအစားခွဲ 1
  • kernel-side filtering ကုဒ်ကို မြှင့်တင်ထားသည်။
  • ယခု Flowtable သည် JSON ဖော်မတ်အတွက် အပြည့်အဝ ပံ့ပိုးမှု ရှိပါသည်။
  • Ethernet frame matching operations တွင် "ငြင်းပယ်" လုပ်ဆောင်ချက်ကို အသုံးပြုရန် စွမ်းရည်ကို ပံ့ပိုးပေးထားပါသည်။ ether saddr aa:bb:cc:dd:ee:ff ip daddr 192.168.0.1 ငြင်းပယ်သည်

source: opennet.ru

မှတ်ချက် Add