nftables حزمة مرشح 1.1.6 الإصدار

تم نشر إصدار nftables 1.1.6 لتصفية الحزم، لتوحيد واجهات تصفية الحزم لـ IPv4 وIPv6 وARP وجسور الشبكة (التي تهدف إلى استبدال iptables وip6table وarptables وebtables). في الوقت نفسه، تم نشر إصدار المكتبة المصاحبة libnftnl 1.3.1، مما يوفر واجهة برمجة تطبيقات منخفضة المستوى للتفاعل مع النظام الفرعي nf_tables.

تحتوي حزمة nftables على مكونات تصفية الحزم التي تعمل في مساحة المستخدم، بينما يتم توفير العمل على مستوى النواة بواسطة النظام الفرعي nf_tables، وهو جزء من النواة. Linux منذ الإصدار 3.13، يتم توفير واجهة عامة مستقلة عن البروتوكول فقط على مستوى النواة، مما يوفر وظائف أساسية لاستخراج البيانات من الحزم، وإجراء عمليات البيانات، والتحكم في التدفق.

يتم تجميع قواعد التصفية نفسها ومعالجات البروتوكولات المحددة في بايت كود في مساحة المستخدم، وبعد ذلك يتم تحميل بايت كود هذا في النواة باستخدام واجهة Netlink وتنفيذه في النواة في بيئة خاصة. آلة افتراضيةوهذا يذكرنا بـ BPF (مرشحات حزم بيركلي). يسمح هذا النهج بتقليل حجم كود التصفية الذي يعمل على مستوى النواة بشكل كبير، وينقل جميع عمليات تحليل القواعد ومنطق البروتوكول إلى مساحة المستخدم.

التغييرات الرئيسية:

  • دعم كامل لقوالب الأنفاق خفيفة الوزن مثل vxlan وgeneve وerspan: جدول netdev global { tunnel t1 { id 10 ip saddr 192.168.2.10 ip daddr 192.168.2.11 sport 1025 dport 20020 ttl 1 erspan { version 1 index 2 } } tunnel t2 { id 10 ip saddr 192.168.3.10 ip daddr 192.168.3.11 sport 1025 dport 21021 ttl 1 erspan { version 1 index 2 } } chain in { type filter hook ingress device veth0 priority 0; اسم النفق ip saddr map { 10.141.10.12 : "t1", 10.141.10.13 : "t2" } fwd إلى erspan1 } } قبل تحميل القواعد، يجب عليك إنشاء واجهة شبكة erspan1: ip link add dev erspan1 type erspan external
  • تمت إضافة دعم للأقنعة في أسماء واجهات الشبكة في معالجات netdev. على سبيل المثال، لإضافة سلسلة أساسية إلى مُرشِّح حركة المرور الواردة لجميع أجهزة vlan، يمكنك تحديد: table netdev t { chain c { type filter hook ingress devices = { "vlan*", "veth0" } priority filter; policy accept; } }
  • على الأنظمة التي تحتوي على النواة Linux يدعم الإصدار 6.18 والإصدارات الأحدث إرسال إطارات الطبقة الثانية (L2) إلى واجهة جسر الشبكة للمعالجة المحلية. على سبيل المثال، لتوجيه جميع إطارات الإيثرنت الخاصة بعنوان MAC de:ad:00:00:be:ef إلى حزمة بروتوكول الإنترنت (IP)، يمكنك تحديد ما يلي: table bridge global { chain pre { type filter hook prerouting priority 0; policy accept; ether daddr de:ad:00:00:be:ef meta pkttype set host ether daddr set meta ibrhwaddr accept } }
  • تمت إضافة بنية أساسية جديدة لاختبار fuzzer باستخدام سلسلة أدوات afl++ (american fuzzy lop++)، والتي تم تمكينها في وقت البناء عبر "./configure --with-fuzzer".

المصدر: opennet.ru

شراء استضافة موثوقة للمواقع مع حماية DDoS وخوادم VPS VDS 🔥 اشترِ استضافة مواقع ويب موثوقة مع حماية من هجمات DDoS، وخوادم VPS وVDS | ProHoster