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

የፓኬት ማጣሪያ nftables 0.9.9 ታትሟል፣ የፓኬት ማጣሪያ በይነገጾችን ለIPv4፣ IPv6፣ ARP እና የአውታረ መረብ ድልድዮች (አይፓፕሌሎች፣ ip6table፣ arptables እና ebtables ለመተካት ያለመ)። በተመሳሳይ ጊዜ፣ ከnf_tables ንኡስ ስርዓት ጋር ለመግባባት ዝቅተኛ ደረጃ ኤፒአይ በማቅረብ የአጃቢ ቤተ-መጽሐፍት libnftnl 1.2.0 ተለቀቀ። ለ nftables 0.9.9 መለቀቅ ሥራ የሚያስፈልጉት ለውጦች በሊኑክስ ከርነል 5.13-rc1 ውስጥ ተካትተዋል።

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

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

ዋና ፈጠራዎች፡-

  • ሊፈስ የሚችል ሂደትን ወደ የአውታረ መረብ አስማሚው ጎን የማንቀሳቀስ ችሎታ ተተግብሯል፣የ‹ኦፍ ሎድ› ባንዲራ በመጠቀም ነቅቷል። Flowtable የፓኬት ማዘዋወር መንገድን ለማመቻቸት ዘዴ ነው ፣ በዚህ ጊዜ የሁሉም ደንብ ማቀነባበሪያ ሰንሰለቶች ሙሉ ማለፊያ ለመጀመሪያው ፓኬት ብቻ የሚተገበር እና ሌሎች በፍሰቱ ውስጥ ያሉ ሌሎች ፓኬቶች በቀጥታ የሚተላለፉበት ነው። table ip global {flowtable f { መንጠቆ ማስገቢያ ቅድሚያ ማጣሪያ + 1 መሳሪያዎች = { lan3, lan0, ዋን } ባንዲራዎች ከጫንቃው} ሰንሰለት ወደፊት {አይነት ማጣሪያ መንጠቆ ወደፊት ቅድሚያ ማጣሪያ; ፖሊሲ መቀበል; ip ፕሮቶኮል {tcp, udp} ፍሰት አክል @f } ሰንሰለት ፖስት (nat hook postrouting) ቅድሚያ ማጣሪያ ይተይቡ; ፖሊሲ መቀበል; oifname "ዋን" ጭምብል } }
  • ሰንጠረዡን በብቸኝነት በሂደት መጠቀምን ለማረጋገጥ የባለቤት ባንዲራ ከጠረጴዛው ጋር ለማያያዝ ተጨማሪ ድጋፍ። አንድ ሂደት ሲያልቅ, ከእሱ ጋር የተያያዘው ሰንጠረዥ በራስ-ሰር ይሰረዛል. ስለ ሂደቱ መረጃ በአስተያየት መልክ በተቀመጠው ደንቦች ውስጥ ይታያል፡ ሠንጠረዥ ip x {# progname nft flags owner chain y {አይነት ማጣሪያ መንጠቆ ግብዓት ቅድሚያ ማጣሪያ; ፖሊሲ መቀበል; ቆጣሪ ፓኬቶች 1 ባይት 309}}
  • ለ IEEE 802.1ad Specification (VLAN stacking ወይም QinQ) ድጋፍ ታክሏል፣ እሱም በርካታ VLAN መለያዎችን ወደ አንድ የኤተርኔት ፍሬም የመተካት ዘዴን ይገልጻል። ለምሳሌ የውጪውን የኢተርኔት ፍሬም 8021ad እና vlan id=342 አይነት ለማየት ግንባታውን መጠቀም ይችላሉ ... ether type 802.1ad vlan id 342 ውጫዊውን የኤተርኔት ፍሬም 8021ad/vlan id=1 ፣ ጎጆ 802.1 q/vlan id=2 እና ተጨማሪ የአይ ፒ ፓኬት ማሸግ፡... ether type 8021ad vlan id 1 vlan type 8021q vlan id 2 vlan type ip counter
  • የተዋሃደ የተዋረድ ስብስቦችን በመጠቀም ሀብቶችን ለማስተዳደር ተጨማሪ ድጋፍ ታክሏል v2. በCgroups v2 እና v1 መካከል ያለው ቁልፍ ልዩነት የሲፒዩ ሃብቶችን ለመመደብ፣ የማህደረ ትውስታ ፍጆታን ለመቆጣጠር እና ለአይ/ኦ ከተለዩ ተዋረዶች ይልቅ የጋራ የቡድኖች ተዋረድ ለሁሉም አይነት ሀብቶች መጠቀም ነው። ለምሳሌ, በመጀመሪያ ደረጃ cgroupv2 የሶኬት ቅድመ አያት ከ "system.slice" ጭንብል ጋር የሚዛመድ መሆኑን ለማረጋገጥ, ግንባታውን መጠቀም ይችላሉ: ... socket cgroupv2 level 1 "system.slice"
  • የ SCTP ፓኬቶች ክፍሎችን የመፈተሽ ችሎታ ታክሏል (ለዚህ አስፈላጊው ተግባር በሊኑክስ ከርነል 5.14 ውስጥ ይታያል)። ለምሳሌ፣ ፓኬት 'ዳታ' አይነት እና የመስክ 'አይነት' ያለው ቁርጥራጭ መያዙን ለማረጋገጥ፡- ... sctp chunk data exists ... sctp chunk data type 0
  • የ "-f" ባንዲራ በመጠቀም የደንቡ የመጫኛ ክዋኔ አፈፃፀም በግምት ሁለት ጊዜ ያህል ተፋጥኗል። የደንቦቹ ዝርዝር ውፅዓትም ተፋጠነ።
  • ባንዲራ ቢትስ መዘጋጀቱን ለማረጋገጥ የታመቀ ቅጽ ቀርቧል። ለምሳሌ፣ የ snat እና dnat ሁኔታ ቢትስ እንዳልተዘጋጁ ለመፈተሽ፡- ... ct status ! snat,dnat ሲን ቢት በቢትማስክ ሲን,ack: ... tcp flags syn / syn,ack ፊን እና አንደኛ ቢትስ በቢትማስክ ሲን,አክ,ፊን,መጀመሪያ: ... tcp ባንዲራዎች! = ፊን ፣ መጀመሪያ / ሲን ፣ አክ ፣ ፊን ፣ መጀመሪያ
  • የ"ፍርድ" ቁልፍ ቃሉን በሴቲንግ/ካርታ ዓይነት ፍቺዎች ፍቀድ፡ ካርታ xm ያክሉ {አይፍ ስም። የአይፒ ፕሮቶኮል ኛ ዲፖርት፡ ፍርድ;}

ምንጭ: opennet.ru

አስተያየት ያክሉ