جداول نفتابلز

nftables هو نظام فرعي من نواة لينكس يوفر تصفية وتصنيف حزم البيانات/البيانات/الإطارات الشبكية . وهو متاح منذ إصدار نواة لينكس 3.13 في 19 يناير 2014. [ 2 ]

يحلّ nftables محلّ مكوّن iptables القديم في Netfilter . من مزايا nftables على iptables تقليل تكرار التعليمات البرمجية وسهولة إضافة بروتوكولات جديدة. أما من عيوب nftables فهو عدم دعمه لتقنية فحص الحزم العميق (DPI) التي كانت تُوفّرها خاصية "مطابقة السلاسل النصية" في iptables، مثل تصفية SNI . [ 3 ]

يتم تكوين nftables عبر أداة nft الخاصة بمساحة المستخدم ، بينما يتم تكوين الأدوات القديمة عبر أدوات iptables و ip6tables و arptables و ebtables .

تستخدم nftables اللبنات الأساسية لبنية Netfilter التحتية، مثل الروابط الموجودة في مكدس الشبكات، ونظام تتبع الاتصال، ومكون قائمة انتظار مساحة المستخدم، ونظام التسجيل الفرعي.

nft

بناء جملة سطر الأوامر

أمرٌ لإسقاط أي حزم بيانات ذات عنوان IP وجهة 1.2.3.4:

nft add rule ip filter output ip daddr 1.2.3.4 drop

لاحظ أن الصيغة الجديدة تختلف اختلافًا كبيرًا عن صيغة iptables، حيث تُكتب القاعدة نفسها:

iptables -A OUTPUT -d 1.2.3.4 -j DROP

قد تبدو الصيغة الجديدة أكثر تفصيلاً، لكنها في الوقت نفسه أكثر مرونة. تتضمن nftables هياكل بيانات متقدمة مثل القواميس والخرائط والدمج، وهي غير موجودة في iptables. يُمكن أن يُقلل استخدام هذه الهياكل بشكل كبير من عدد السلاسل والقواعد اللازمة لتصميم تصفية حزم البيانات.

يمكن استخدام هذه iptables-translateالأداة لترجمة العديد من قواعد iptables الحالية إلى قواعد nftables مكافئة. [ 4 ] [ 5 ] يستخدم نظام Debian 10 (Buster) ، إلى جانب توزيعات Linux الأخرى ، nftables iptables-translateكواجهة افتراضية لتصفية الحزم. [ 6 ]

تاريخ

عُرض المشروع لأول مرة علنًا في ورشة عمل Netfilter عام 2008 من قِبل باتريك ماك هاردي من فريق Netfilter الأساسي. [ 7 ] صدرت أول نسخة تجريبية من تطبيق النواة ومساحة المستخدم في مارس 2009. [ 8 ] على الرغم من وصف الأداة بأنها "أكبر تغيير في جدار حماية لينكس منذ إدخال iptables عام 2001"، إلا أنها لم تحظَ باهتمام إعلامي يُذكر. [ 9 ] صرّح المخترق الشهير فيودور فاسكوفيتش (غوردون ليون) بأنه "يتطلع إلى إصدارها العام في نواة لينكس الرئيسية ". [ 9 ]

بقي المشروع في مرحلة ألفا، وأُزيل الموقع الرسمي عام ٢٠٠٩. في مارس ٢٠١٠، أشارت رسائل بريد إلكتروني من المؤلف على قوائم بريد المشروع إلى أن المشروع لا يزال نشطًا ويقترب من إصدار نسخة تجريبية (بيتا)، [ ١٠ ] [ ١١ ] إلا أن هذه النسخة لم تُصدر رسميًا. في أكتوبر ٢٠١٢، اقترح بابلو نيرا أيوسو طبقة توافق لـ iptables [ ١٢ ] وأعلن عن إمكانية دمج المشروع في نواة النظام الرئيسية.

في 16 أكتوبر 2013، قدّم بابلو نيرا أيوسو طلب دمج أساسي لـ nftables إلى شجرة النواة الرئيسية لنظام لينكس . [ 13 ] تم دمجه في النواة الرئيسية في 19 يناير 2014، مع إصدار نواة لينكس الإصدار 3.13. [ 2 ]

ملخص

يُضيف مُحرك نواة nftables آلةً افتراضيةً بسيطةً إلى نواة لينكس، قادرةً على تنفيذ التعليمات البرمجية الوسيطة لفحص حزمة الشبكة واتخاذ القرارات بشأن كيفية التعامل معها. صُممت العمليات التي تُنفذها هذه الآلة الافتراضية لتكون أساسيةً عمدًا. فهي تستطيع الحصول على البيانات من الحزمة نفسها، والاطلاع على البيانات الوصفية المرتبطة بها (مثل واجهة الإدخال)، وإدارة بيانات تتبع الاتصال. ويمكن استخدام عوامل التشغيل الحسابية، وعوامل التشغيل على مستوى البت، وعوامل المقارنة لاتخاذ القرارات بناءً على تلك البيانات. كما أن الآلة الافتراضية قادرةٌ على معالجة مجموعات البيانات (عادةً عناوين IP)، مما يسمح باستبدال عمليات مقارنة متعددة بعملية بحث واحدة عن مجموعة البيانات. [ 14 ]

يتعارض التنظيم الموصوف أعلاه مع كود جدار الحماية iptables، الذي يتضمن وعيًا بالبروتوكولات مدمجًا بعمق في منطق الكود لدرجة أنه كان لا بد من تكرار الكود أربع مرات - لبروتوكولات IPv4 و IPv6 و ARP وجسر الإيثرنت - لأن محركات جدار الحماية خاصة جدًا بالبروتوكولات بحيث لا يمكن استخدامها بطريقة عامة. [ 14 ]

تتمثل المزايا الرئيسية لـ nftables مقارنةً بـ iptables في تبسيط واجهة التطبيق الثنائية (ABI) لنواة لينكس ، وتقليل تكرار التعليمات البرمجية ، وتحسين الإبلاغ عن الأخطاء ، وزيادة كفاءة تنفيذ قواعد التصفية وتخزينها وتعديلها تدريجيًا. يُراد استبدال nftables و iptables و iptables (المستخدمة تقليديًا لبروتوكولات IPv4 و IPv6 و ARP و Ethernet bridging على التوالي) بـ nftables iptables(8)كتطبيق ip6tables(8)موحد arptables(8)، يوفر إمكانية تكوين جدار الحماية على مستوى الآلة الافتراضية داخل النواة .ebtables(8)nft(8)

يُوفر nftables أيضًا واجهة برمجة تطبيقات مُحسّنة لمساحة المستخدم، تُتيح استبدالًا ذريًا لقاعدة واحدة أو أكثر من قواعد جدار الحماية ضمن معاملة Netlink واحدة . يُسرّع هذا من تغييرات تكوين جدار الحماية في الأنظمة ذات مجموعات القواعد الكبيرة؛ كما يُساعد في تجنّب حالات التزامن أثناء تنفيذ تغييرات القواعد. يتضمن nftables أيضًا ميزات توافق لتسهيل الانتقال من جدران الحماية السابقة، وأدوات سطر أوامر لتحويل القواعد إلى تنسيق iptables، [ 15 ] وإصدارات متوافقة من أوامر iptables التي تستخدم واجهة nftables الخلفية. [ 16 ]

مراجع

  1. ^ بابلو نيرا أيوسو (5 ديسمبر 2025). " [ إعلان ] إصدار nftables 1.1.6 " . تم الاسترجاع 8 ديسمبر 2025 .
  2. 1 2 "nftables، خليفة iptables" . لينكس 3.13 . kernelnewbies.org. 19-01-2014 . تم الاطلاع عليه بتاريخ 04-03-2016 .
  3. "كيف استخدمنا eBPF لبناء تصفية الحزم القابلة للبرمجة في جدار الحماية السحري" .
  4. "الانتقال من iptables إلى nftables - nftables wiki" .
  5. "قائمة الترجمات المتاحة عبر أداة iptables-translate - nftables wiki" .
  6. "Nftables - Debian Wiki" .
  7. "برنامج يوم المستخدم – NFWS2008" . workshop.netfilter.org. 2008-10-03 . تم الاطلاع عليه بتاريخ 2014-02-22 .
  8. إعلان الإصدار الأولي .
  9. 1 2 غراي، باتريك (26 مارس 2009). "أخبار: لينكس يحصل على جدار حماية جديد" . Risky.biz.
  10. "Linux Netfilter Devel – Re: Current state of nftables" . Spinics.net . تم الاطلاع عليه بتاريخ 20-01-2014 .
  11. "Linux Netfilter Devel – Re: Current state of nftables" . Spinics.net . تم الاطلاع عليه بتاريخ 20-01-2014 .
  12. "تطوير لينكس نت فيلتر - [ RFC ] العودة إلى nf_tables (بالإضافة إلى طبقة التوافق)" . Spinics.net . تم الاطلاع عليه بتاريخ 20 يناير 2014 .
  13. " [ التحديث 00/17 ] تحديثات netfilter: طلب سحب nf_tables" . Marc.info . تم ​​الاطلاع عليه بتاريخ 20-01-2014 .
  14. 1 2 جوناثان كوربيت (20 أغسطس 2013). "عودة طاولات إنفتابلز" . LWN.net . تم الاطلاع عليه بتاريخ 22 أكتوبر 2013 .
  15. نيرا أيوسو، بابلو. "nftables - أداة سطر الأوامر nft" . git.netfilter.org . تم الاسترجاع في 24 يناير 2019 .
  16. أرتورو، رال. "ملخص ورشة عمل Netfilter 2018 برلين" . ral-arturo.org . تم الاطلاع عليه بتاريخ 24 يناير 2019 .