إصدار FreeBSD 13.2 مع دعم Netlink و WireGuard

بعد 11 شهرًا من التطوير ، تم إصدار FreeBSD 13.2. يتم إنشاء صور التثبيت لبنيات amd64 و i386 و powerpc و powerpc64 و powerpc64le و powerpcspe و armv6 و armv7 و aarch64 و riscv64. بالإضافة إلى ذلك ، تم إعداد البنيات لأنظمة المحاكاة الافتراضية (QCOW2 و VHD و VMDK و raw) و Amazon EC2 و Google Compute Engine و Vagrant cloud.

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

  • نفذت القدرة على إنشاء لقطات من أنظمة ملفات UFS و FFS مع تمكين التسجيل (تحديثات بسيطة). كما تمت إضافة دعم لحفظ عمليات التفريغ في الخلفية (تشغيل التفريغ بعلامة "-L") مع محتويات أنظمة ملفات UFS المركبة مع تمكين تسجيل دفتر اليومية. من بين الميزات غير المتوفرة عند استخدام دفتر اليومية ، يوجد فحص سلامة الخلفية باستخدام الأداة المساعدة fsck.
  • تم اعتماد برنامج التشغيل wg الذي يعمل على مستوى النواة مع تنفيذ واجهة الشبكة لـ VPN WireGuard باعتباره الجزء الرئيسي. لاستخدام خوارزميات التشفير التي يتطلبها برنامج التشغيل ، تم توسيع واجهة برمجة تطبيقات النظام الفرعي لتشفير نواة FreeBSD ، والتي تمت إضافة رابط إليها يسمح باستخدام خوارزميات من مكتبة libsodium غير مدعومة في FreeBSD من خلال واجهة برمجة تطبيقات التشفير القياسية. أثناء عملية التطوير ، تم إجراء تحسينات أيضًا لتحقيق التوازن بالتساوي بين مهام التشفير وفك التشفير لأنوية وحدة المعالجة المركزية ، مما قلل من النفقات العامة لمعالجة حزم WireGuard.

    تم إجراء آخر محاولة لتضمين WireGuard في FreeBSD في عام 2020 ، لكنها انتهت بفضيحة ، ونتيجة لذلك تمت إزالة الكود المضاف بالفعل بسبب الجودة المنخفضة ، والتعامل مع المخزن المؤقت بإهمال ، واستخدام التنبيهات بدلاً من الشيكات ، والتنفيذ غير الكامل للبروتوكول وانتهاك ترخيص GPL. تطبيق جديد ، تم إعداده بشكل مشترك من قبل فرق تطوير FreeBSD و WireGuard الأساسية ، مع مدخلات من Jason A. Donenfeld ، مؤلف VPN WireGuard ، وجون إتش بالدوين ، مطور FreeBSD الشهير. تم إجراء مراجعة كاملة للتغييرات بدعم من FreeBSD Foundation قبل قبول الكود الجديد.

  • تم تنفيذ دعم لبروتوكول اتصال Netlink (RFC 3549) ، والذي يستخدم في Linux لتنظيم التفاعل بين kernel والعمليات في مساحة المستخدم. يقتصر المشروع على دعم مجموعة عمليات NETLINK_ROUTE لإدارة حالة النظام الفرعي للشبكة في النواة ، مما يسمح لـ FreeBSD باستخدام الأداة المساعدة ip Linux من حزمة iproute2 لإدارة واجهات الشبكة ، وتعيين عناوين IP ، وتكوين التوجيه ، والمعالجة كائنات nexthop التي تخزن بيانات الحالة المستخدمة لإعادة توجيه الحزمة إلى الوجهة المطلوبة.
  • يتم تمكين التوزيع العشوائي لتخطيط مساحة العنوان (ASLR) افتراضيًا في جميع البرامج التنفيذية للنظام الأساسي على الأنظمة الأساسية 64 بت. لتعطيل ASLR بشكل انتقائي ، يمكنك استخدام الأمرين "proccontrol -ma aslr -s disable" أو "elfctl -e + noaslr".
  • يستخدم ipfw جداول Radix للبحث عن عناوين MAC ، مما يسمح لك بإنشاء جداول بعناوين MAC واستخدامها لتصفية حركة المرور. على سبيل المثال: ipfw table 1 قم بإنشاء نوع mac ipfw table 1 أضف 11: 22: 33: 44: 55: 66/48 ipfw أضف skipto tablearg src-mac table (1) 'ipfw add deny src-mac' table (1، 100) 'ipfw add deny lookup dst-mac 1
  • تمت إضافتها وإتاحتها للتحميل عبر loader.conf هي وحدات نواة dpdk_lpm4 و dpdk_lpm6 مع تنفيذ خوارزمية البحث عن المسار DIR-24-8 لـ IPv4 / IPv6 ، والتي تتيح لك تحسين وظائف التوجيه للمضيفين الذين لديهم جداول توجيه كبيرة جدًا (اختبارات) تظهر زيادة في السرعة بنسبة 25٪). يمكن استخدام أداة التوجيه القياسية لتكوين الوحدات النمطية (تمت إضافة خيار FIB_ALGO).
  • تم تحديث تطبيق نظام ملفات ZFS إلى إصدار OpenZFS 2.1.9. يوفر البرنامج النصي لبدء التشغيل zfskeys التحميل التلقائي للمفاتيح المخزنة في نظام ملفات ZFS. تمت إضافة برنامج نصي جديد لـ RC zpoolreguid لتعيين GUID لواحد أو أكثر من zpools (مفيد لبيئات المحاكاة الافتراضية للبيانات المشتركة ، على سبيل المثال).
  • يدعم برنامج Bhyve hypervisor ووحدة vmm إرفاق أكثر من 15 وحدة معالجة مركزية افتراضية بنظام الضيف (قابل للتعديل عبر sysctl hw.vmm.maxcpu). تنفذ الأداة المساعدة bhyve محاكاة لجهاز Virtio-input ، حيث يمكنك استبدال أحداث إدخال لوحة المفاتيح والماوس في نظام الضيف.
  • يضيف KTLS ، وهو تطبيق لبروتوكول TLS يعمل على مستوى نواة FreeBSD ، دعمًا لتسريع أجهزة TLS 1.3 عن طريق إلغاء تحميل بعض العمليات المرتبطة بمعالجة الحزم الواردة المشفرة على أكتاف بطاقة الشبكة. في السابق ، كانت هذه الميزة متاحة لـ TLS 1.1 و TLS 1.2.
  • في البرنامج النصي لبدء تشغيل Growfs ، عند توسيع الجذر FS ، يتم التأكد من إضافة قسم المبادلة إذا لم يكن هذا القسم موجودًا في الأصل (على سبيل المثال ، يكون مفيدًا عند تثبيت صورة نظام جاهزة على بطاقة SD). تمت إضافة خيار جديد ، Growfs_swap_size ، إلى rc.conf للتحكم في حجم المبادلة.
  • يضمن البرنامج النصي لبدء تشغيل hostid إنشاء UUID عشوائي في حالة فقد الملف / etc / hostid وتعذر الحصول على UUID من الجهاز. تمت إضافة ملف / etc / machine-id مع تمثيل مضغوط لمعرف المضيف (بدون شرطات).
  • تمت إضافة المتغيرين defaultrouter_fibN و ipv6_defaultrouter_fibN إلى rc.conf ، حيث يمكنك من خلاله إضافة مسارات افتراضية إلى جداول FIB غير الأساسية.
  • تمت إضافة دعم تجزئات SHA-512/224 إلى مكتبة libmd.
  • تدعم مكتبة pthread دلالات الوظائف المستخدمة في Linux.
  • تمت إضافة دعم فك تشفير مكالمات نظام Linux إلى kdump. تمت إضافة دعم تتبع syscall بنمط Linux إلى kdump و sysdecode.
  • الأداة المساعدة killall الآن لديها القدرة على إرسال إشارة إلى العمليات المرتبطة بمحطة معينة (على سبيل المثال ، "killall -t pts / 1").
  • تمت إضافة الأداة المساعدة nproc لعرض عدد الوحدات الحسابية المتاحة للعملية الحالية.
  • تمت إضافة دعم فك تشفير معلمات ACS (خدمات التحكم في الوصول) إلى الأداة المساعدة pciconf.
  • تمت إضافة إعداد SPLIT_KERNEL_DEBUG إلى kernel ، والذي يسمح بحفظ معلومات التصحيح لوحدات kernel و kernel في ملفات منفصلة.
  • يكاد نظام linux ABI يكتمل بدعم آلية vDSO (الكائنات الافتراضية المشتركة الديناميكية) ، والتي توفر مجموعة محدودة من استدعاءات النظام المتاحة في مساحة المستخدم دون تبديل السياق. تم جعل لينكس ABI على أنظمة ARM64 متكافئًا مع تنفيذ بنية AMD64.
  • تحسين دعم الأجهزة. دعم إضافي لمراقبة الأداء (hwpmc) لوحدات المعالجة المركزية Intel Alder Lake. برنامج تشغيل iwlwifi محدث لبطاقات Intel اللاسلكية مع دعم للرقائق الجديدة ومعيار 802.11ac. تمت إضافة برنامج تشغيل rtw88 لبطاقات Realtek PCI اللاسلكية. تمديد طبقة linuxkpi للاستخدام مع برامج تشغيل FreeBSD Linux.
  • تم تحديث مكتبة OpenSSL إلى الإصدار 1.1.1t ، وتم تحديث LLVM / Сlang إلى الإصدار 14.0.5 ، وتم تحديث خادم وعميل SSH إلى OpenSSH 9.2p1 (الإصدار السابق يستخدم OpenSSH 8.8p1). تم التحديث أيضًا: bc 6.2.4 ، expat 2.5.0 ، ملف 5.43 ، أقل من 608 ، libarchive 3.6.2 ، sendmail 8.17.1 ، sqlite 3.40.1 ، غير منضم 1.17.1 ، zlib 1.2.13.

بالإضافة إلى ذلك ، فقد تم إهماله وإزالته منذ فرع FreeBSD 14.0 لكلمات مرور OPIE لمرة واحدة ، وبرامج تشغيل ce و cp ، وبرامج تشغيل بطاقة ISA ، وأدوات مساعدة mergemaster و minigzip ، ومكونات ATM في netgraph (NgATM) ، وعملية خلفية telnetd ، و VINUM فئة في geom.

المصدر: opennet.ru

إضافة تعليق