የnftables 0.9.9 ፓኬት ማጣሪያ ተለቋል። ለIPv4፣ IPv6፣ ARP እና የኔትወርክ ድልድዮች የፓኬት ማጣሪያ በይነገጾችን ያጣምራል (ለiptables፣ ip6table፣ arptables እና ebtables ምትክ ተብሎ የታለመ)። ከnf_tables ንዑስ ስርዓት ጋር ለመግባባት ዝቅተኛ ደረጃ ያለው ኤፒአይ የሚያቀርበው አብሮ የመጣው የlibnftnl 1.2.0 ቤተ-መጽሐፍት በተመሳሳይ ጊዜ ተለቋል። ለnftables 0.9.9 የሚያስፈልጉት ለውጦች በከርነል ውስጥ ተካተዋል። Linux 5.13-rc1.
የnftables ፓኬጅ በተጠቃሚ ቦታ ውስጥ የሚሰሩ የፓኬት ማጣሪያ ክፍሎችን የያዘ ሲሆን የከርነል ደረጃ ስራ ደግሞ የከርነል አካል በሆነው nf_tables ንዑስ ስርዓት ይሰጣል። Linux ከተለቀቀበት ጊዜ ጀምሮ፣ በከርነል ደረጃ ላይ አጠቃላይ ፕሮቶኮል-ነጻ የሆነ በይነገጽ ብቻ ነው የቀረበው፣ ይህም ከፓኬቶች ውሂብ ለማውጣት፣ የውሂብ ስራዎችን ለማከናወን እና የፍሰት ቁጥጥርን ለማከናወን መሰረታዊ ተግባርን ይሰጣል።
የማጣሪያው ደንቦች እራሳቸው እና ፕሮቶኮል-ተኮር ተቆጣጣሪዎች በተጠቃሚ ቦታ ውስጥ ወደ ባይትኮድ ይሰባሰባሉ፣ ከዚያ በኋላ ይህ ባይትኮድ በኔትሊንክ በይነገጽ በመጠቀም ወደ ኪነል ውስጥ ይጫናል እና በልዩ ሁኔታ በኪነል ውስጥ ይፈጸማል ምናባዊ ማሽን, 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 ፓኬቶችን ክፍሎች የመፈተሽ ችሎታ ታክሏል (ለስራው የሚያስፈልገው ተግባር በከርነል ውስጥ ይታያል) Linux 5.14)። ለምሳሌ፣ አንድ ፓኬት 'የውሂብ' አይነት እና 'አይነት' መስክ ያለው ቁራጭ የያዘ መሆኑን ለማረጋገጥ፡ … sctp chunk data are available … sctp chunk data type 0
- የ "-f" ባንዲራ በመጠቀም የደንቡ የመጫኛ ክዋኔ አፈፃፀም በግምት ሁለት ጊዜ ያህል ተፋጥኗል። የደንቦቹ ዝርዝር ውፅዓትም ተፋጠነ።
- ባንዲራ ቢትስ መዘጋጀቱን ለማረጋገጥ የታመቀ ቅጽ ቀርቧል። ለምሳሌ፣ የ snat እና dnat ሁኔታ ቢትስ እንዳልተዘጋጁ ለመፈተሽ፡- ... ct status ! snat,dnat ሲን ቢት በቢትማስክ ሲን,ack: ... tcp flags syn / syn,ack ፊን እና አንደኛ ቢትስ በቢትማስክ ሲን,አክ,ፊን,መጀመሪያ: ... tcp ባንዲራዎች! = ፊን ፣ መጀመሪያ / ሲን ፣ አክ ፣ ፊን ፣ መጀመሪያ
- የ"ፍርድ" ቁልፍ ቃሉን በሴቲንግ/ካርታ ዓይነት ፍቺዎች ፍቀድ፡ ካርታ xm ያክሉ {አይፍ ስም። የአይፒ ፕሮቶኮል ኛ ዲፖርት፡ ፍርድ;}
ምንጭ: opennet.ru
