nftables ፓኬት ማጣሪያ 1.0.6 መለቀቅ

የፓኬት ማጣሪያ nftables 1.0.6 ታትሟል፣ ለ IPv4፣ IPv6፣ ARP እና የአውታረ መረብ ድልድዮች የፓኬት ማጣሪያ በይነገጾችን አንድ የሚያደርግ (አይፓብሌ፣ ip6table፣ arptables እና ebtables ለመተካት ያለመ)። የ nftables ጥቅል በተጠቃሚ ቦታ ውስጥ የሚሰሩ የፓኬት ማጣሪያ ክፍሎችን ያካትታል፣ የከርነል ደረጃ ስራው ደግሞ በ nf_tables ንዑስ ሲስተም የቀረበ ሲሆን 3.13 ከተለቀቀ በኋላ የሊኑክስ ከርነል አካል ነው። የከርነል ደረጃ ከፓኬቶች መረጃን ለማውጣት፣ የውሂብ ስራዎችን ለማከናወን እና ፍሰትን ለመቆጣጠር መሰረታዊ ተግባራትን የሚያቀርብ አጠቃላይ ፕሮቶኮል-ገለልተኛ በይነገጽ ብቻ ይሰጣል።

የማጣራት ደንቦቹ እራሳቸው እና ፕሮቶኮል-ተኮር ተቆጣጣሪዎች በተጠቃሚ-ስፔስ ባይትኮድ ውስጥ ይሰበሰባሉ, ከዚያ በኋላ ይህ ባይት ኮድ የ Netlink በይነገጽን በመጠቀም ወደ ከርነል ተጭኖ እና BPF (በርክሌይ ፓኬት ማጣሪያዎች) በሚመስል ልዩ ቨርቹዋል ማሽን ውስጥ በከርነል ውስጥ ይፈጸማል። ይህ አካሄድ በከርነል ደረጃ የሚሰራውን የማጣሪያ ኮድ መጠን በከፍተኛ ሁኔታ ለመቀነስ እና ሁሉንም የመተንተን ደንቦችን እና ከፕሮቶኮሎች ጋር አብሮ የመስራት አመክንዮ ወደ ተጠቃሚ ቦታ ለማንቀሳቀስ ያስችላል።

ዋና ለውጦች፡-

  • “-o/—optimize” የሚለው አማራጭ ሲገለጽ የሚጠራው የደንቦች አመቻች፣ ደንቦችን በማጣመር እና ወደ ካርታ በመቀየር እና ዝርዝሮችን በማዘጋጀት አውቶማቲክ ማሸግ አለው። ለምሳሌ, ደንቦች # cat ruleset.nft table ip x {ሰንሰለት y {አይነት ማጣሪያ መንጠቆ ግብዓት ቅድሚያ ማጣሪያ; የፖሊሲ ውድቀት; 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 ip daddr 24-1 ተቀበል meta iifname eth1.1.1.2 ip saddr 2.2.4.0 ip daddr 2.2.4.10 receive } } "nft -o -c -f ruleset.nft" ከፈጸመ በኋላ ወደሚከተለው ይቀየራል። nft:2:1.1.1.3-2.2.2.5: meta iifname eth4 ip saddr 17 ip daddr 74 መቀበል ruleset.nft:1:1.1.1.1-2.2.2.3: meta iifname eth5 ip saddr 17 ip daddr 74 መቀበል ደንቦች. : 1:1.1.1.2-2.2.2.4: meta iifname eth6 ip saddr 17 ip daddr 77/1 መቀበል ruleset.nft:1.1.1.2:2.2.3.0-24: meta iifname eth7 ip saddr 17 ip daddr 83. ደንቦችet.nft ተቀበል፡1፡1.1.1.2-2.2.4.0፡ meta iifname eth2.2.4.10 ip saddr 8 ip daddr 17 መቀበል፡ iifname . ip saddr. ip daddr {eth74. 2. 1.1.1.3፣ eth2.2.2.5 . 1. 1.1.1.1, eth2.2.2.3. 1. 1.1.1.2/2.2.2.4, eth1. 1.1.1.2. 2.2.3.0-24, eth1. 1.1.1.2. 2.2.4.0} ተቀበል
  • አመቻቹ ቀደም ሲል ቀለል ያሉ ዝርዝር ዝርዝሮችን የሚጠቀሙ ደንቦችን ወደ ይበልጥ የታመቀ መልክ ሊለውጥ ይችላል ለምሳሌ ህጎቹ፡ # cat ruleset.nft table ip filter { chain input { type filter hook input prior filter; የፖሊሲ ውድቀት; iifname “lo” ተቀበል ct state ተቋቁሟል፣ ተዛማጅ አስተያየቶችን ተቀበል “በምንጭ በትራፊክ ውስጥ፣ እናምናለን” iifname “enp0s31f6” ip saddr {209.115.181.102፣ 216.197.228.230} ip daddr 10.0.0.149 123 udport 32768 ተቀበል Iifen "enp65535s0f31" የ IP SODDR {6, 64.59.144.17-64.59.150.133} Poft Spord Spore 10.0.0.149. : ruleset.nft: 53: 32768-65535: iifname "enp6s22f149" ip saddr {0, 31} ip daddr 6 udp ስፖርት 209.115.181.102 udp ስፖርት 216.197.228.230 መቀበል 10.0.0.149. 123-32768፡ iifname "enp65535s7f22" ip saddr {143, 0} ip daddr 31 udp sport 6 udp dport 64.59.144.17-64.59.150.133 receive in: iifname . ip saddr. ip አባት. udp ስፖርት። udp dport { enp10.0.0.149s53f32768 . 65535. 0. 31. 6-209.115.181.102፣ enp10.0.0.149s123f32768. 65535. 0. 31. 6-216.197.228.230፣ enp10.0.0.149s123f32768. 65535. 0. 31. 6-64.59.144.17፣ enp10.0.0.149s53f32768. 65535. 0. 31. 6-64.59.150.133} ተቀበል
  • እንደ IPv4 (የአውታረ መረብ ባይት ቅደም ተከተል) እና ሜታ ማርክ (የስርዓት ባይት ቅደም ተከተል) ያሉ የተለያዩ ባይት ቅደም ተከተል ያላቸውን ዓይነቶች የሚጠቀሙ ክፍተቶችን ለማዋሃድ በባይቴኮድ ማመንጨት ላይ ችግር ተፈቷል። table ip x {ካርታ w {አይነት ip saddr . ሜታ ማርክ፡ ብይን ባንዲራዎች ክፍተት ቆጣሪ ክፍሎች = {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") ውስጥ ለማስኬድ የደንብ ስብስቦችን መጫን ያስችላሉ እና ለተለዋዋጮች ውጫዊ ፍቺ ድጋፍን ይጨምራሉ።
  • አስተያየቶችን ማከል በተዘጋጀ ዝርዝር ክፍሎች ውስጥ ይፈቀዳል።
  • የባይት ተመን ገደብ ዜሮ እሴትን ለመለየት ያስችላል።

ምንጭ: opennet.ru

አስተያየት ያክሉ