PowerDNS Recursor هو خادم أسماء مفتوح المصدر وعالي الجودة وخالٍ ومحمول وعالي الأداء ، وهو برنامج سطر أوامر يوفر لمسؤولي النظام مجموعة غنية من الميزات والشاملة المتعلقة بالبريد الإلكتروني وتسمية الإنترنت . وهو جزء من مجموعة برامج PowerDNS المعروفة.
PowerDNS هو برنامج خادم أسماء خفي مفتوح المصدر مكتوب من الصفر يوفر خادم أسماء معتمدًا عاليًا وحديثًا ومتقدمًا. فهو يتفاعل مع أي قاعدة بيانات تقريبًا ، ويتوافق مع جميع مستندات معايير DNS (نظام أسماء النطاقات) ذات الصلة.
الميزات في لمحة
تتضمن الميزات الأساسية الدعم الكامل لجميع المعايير الشائعة ، ودعم DNS64 ، والقدرة على إعادة تكوينها دون توقف ، ودعم إجراءات الأمان وقوائم الحظر ، والوصول عن بُعد والمحلي ، وإجراءات قوية لمكافحة الانتحال ، والإجابة على التجديد ، والاعتراض على الأسئلة ، و NXDOMAIN إعادة التوجيه ، وملفات منطقة BIND البسيطة ، وواجهة برمجة التطبيقات للتحكم المباشر ، وإنشاء إصدار الإجابات المضمن باستخدام Lua.
بالإضافة إلى ذلك ، فإنه يشتمل على ميزات أرفع شائعة لجميع منتجات PowerDNS ، بما في ذلك دعم IPv4 (UDP و TCP) و IPv6 (UDP و TCP) والأداء العالي (SNMP) (بروتوكول إدارة الشبكة البسيط) جسر الإحصاءات ، بالإضافة إلى الرسوم البيانية في الوقت الفعلي من خلال الإحصاءات القابلة للاستطلاع عن بُعد.
PowerDNS Recursor هو برنامج قوي جدًا يمكنه التعامل مع مئات ملايين من حلول DNS ، مدعومة بمعالجات متعددة ونفس وظيفة البرمجة النصية الحديثة المستخدمة في منتج PowerDNS Authoritative Server. إنه برنامج حل DNS مرن وفعال للغاية مكتوب خصيصًا لأنظمة جنو / لينكس.
تحت غطاء المحرك والتوافر
PowerDNS متاح في جميع توزيعات Linux الرئيسية ويستخدم بنية خلفية مرنة ، مصممة خصيصًا لتمكين الوصول إلى معلومات DNS من أي مصدر بيانات. تتم كتابة البرنامج بالكامل بلغة برمجة C ++ وستكون متاحة للتنزيل كمثبتات محلية لأنظمة تشغيل Ubuntu / Debian و Red Hat / Fedora ، بالإضافة إلى أرشيف مصدر. لقد تم اختباره بنجاح على الأنظمة الأساسية للأجهزة 32 بت و 64 بت.
ما هو الجديد في هذا الإصدار:
والتحسينات:
# 6550 ، # 6562: إضافة خيار الشجرة الفرعية إلى نقطة نهاية مسح ذاكرة التخزين المؤقت API.
# 6566: استخدام أنبوب منفصل غير مانع لتوزيع الاستعلامات.
# 6567: نقل معالجة الكربون / خادم الويب / التحكم / الإحصائيات إلى سلسلة محادثات منفصلة.
# 6583: إضافة إصدارات _raw لـ QName / ComboAddresses إلى واجهة برمجة تطبيقات FFI.
# 6611 ، # 6130: تحديث حقوق الطبع والنشر لعام 2018 (مات نوردهوف).
# 6474 ، # 6596 ، # 6478: إصلاح تحذير على botan & gt؛ = 2.5.0.
اصلاحات الشوائب:
# 6313: حساب بحث في منطقة مصادقة داخلية على أنها ذاكرة تخزين مؤقت مفقودة.
# 6467: لا تقم بزيادة عدادات التحقق من امتدادات DNSSEC عند تشغيلها باستخدام عملية no-validate.
# 6469: احترام المهلة AXFR أثناء الاتصال بخادم RPZ.
# 6418 ، # 6179: زيادة MTasker stacksize لتجنب الانهيار في الفشل الاستثنائي (Chris Hofstaedtler).
# 6419 ، # 6086: استخدم وقت SyncRes في اختبارات وحدتنا عند التحقق من صلاحية ذاكرة التخزين المؤقت (Chris Hofstaedtler).
# 6514 ، # 6630: Add -rdynamic to C {، XX} FLAGS عندما نبني مع LuaJIT.
# 6588 ، # 6237: تأخير تحميل مناطق RPZ حتى يتم إجراء التحليل ، إصلاح حالة سباق.
# 6595 ، # 6542 ، # 6516 ، # 6358 ، # 6517: تتضمن إعادة الترتيب لتجنب زيادة L الصراع.
ما هو الجديد في الإصدار:
إصلاح الأخطاء:
# 5930: لا تفترض أن سجل TXT هو السجل الأول لـ secpoll
# 6082: لا تقم بإضافة سجلات غير IN إلى ذاكرة التخزين المؤقت
ما هو الجديد في الإصدار 4.0.6:
إصلاح الأخطاء:
استخدم ECS الواردة للبحث في ذاكرة التخزين المؤقت في حالة تعيين -sns-edns-subnet
عند إنشاء قناع الشبكة من comboaddress ، أهملنا لصفر الميناء. هذا يمكن أن يؤدي إلى انتشار netmasks.
لا تأخذ مصدر ECS الأولي لنطاق واحد إذا تم إيقاف تشغيل EDNS
أيضا تعيين d_requestor دون لوا: منطق ECS يحتاج إليها
إصلاح IXFR تخطي جزء الإضافات من التسلسل الأخير
حجم حمولة بيانات معاملة الطالب أقل من 512 تساوي 512
جعل URI الأعداد الصحيحة 16 بت ، إصلاحات التذكرة # 5443
اقتبس إصلاحات تذكرة # 5401
تحسينات:
مع هذا ، يصبح EDNS Client Subnet متوافقًا مع ذاكرة التخزين المؤقت للحزمة ، وذلك باستخدام ميزة الإجابة المتغيرة الحالية.
قم بإزالة إدخالات كافية فقط من ذاكرة التخزين المؤقت ، وليس أكثر من المطلوب
انقل إدخالات ذاكرة التخزين المؤقت منتهية الصلاحية إلى الأمام حتى يتم مسحها
غيرت IPv6 addr من b.root-servers.net
يحتوي e.root-servers.net على IPv6 الآن
hello decaf signers (ED25519 and ED448) Testing algorithm 15: ‘Decaf ED25519 '- & gt؛' Decaf ED25519 '- & gt؛ 'Decaf ED25519' Signature & verify ok، signature 68usec، verify 93usec Testing algorithm 16: ‘Decaf ED448 '- & gt؛' Decaf ED448 '- & gt؛ 'Decaf ED448' Signature & verify ok، signature 163usec، verify 252usec
لا تستخدم libdecaf ed25519 signer عند تمكين libsodium
لا تجزئة الرسالة في الموقع ed25519
قم بتعطيل الشبكة الفرعية الواردة - الاستخدام - edns بشكل افتراضي
ما هو الجديد في الإصدار 4.0.4:
إصلاح الأخطاء:
الالتزام 658d9e4: التحقق من توقيع TSIG على IXFR (استشارة الأمان)
الالتزام 91acd82: لا تحلل الإشارات المرجعية العشوائية في الاستعلامات عندما لا نكون بحاجة إليها (Security Advisory 2016-02)
الالتزام 400e28d: إصلاح التحقق طول غير صحيح في DNSName عند استخراج qtype أو qclass
الالتزام 2168188: rec: انتظر حتى بعد daemonizing لبدء RPZ و protobuf مؤشرات الترابط
ارتكب 3bb3b2: على إعادة (إعادة) فهرسة ، إحضار سجلات NS الجذر
الالتزام cfeb109: rec: إصلاح src / dest معكوس في رسالة protobuf لاستعلامات TCP
ارتكاب 46a6666: NSEC3 optout و Bogus غير آمن للأمام
الالتزام bb437d4: على RPZ customPolicy ، اتبع CNAME الناتج
ارتكب 6b5a8f3: DNSSEC: لا تذهب وهمية على DSs تكوين الصفر
الالتزام 1fa6e1b: عدم تعطل في حلقة استعلام فارغة
الالتزام bfb7e5d: تعيين النتيجة إلى NoError قبل استدعاء preresolve
الإضافات والتحسينات:
الالتزام 7c3398a: إضافة max-recursion-depth لتقييد عدد التكرار الداخلي
ارتكبت 3d59c6f: إصلاح بناء مع دعم ECDSA تعطيل في libcrypto
الالتزام 0170a3b: إضافة requestorId وبعض التعليقات إلى ملف تعريف protobuf
ارتكب d8cd67b: اجعل مناطق إعادة التوجيه negcache على علم
الالتزام 46ccbd6: سجلات ذاكرة التخزين المؤقت للمناطق التي تم تفويضها من منطقة تم إعادة توجيهها
ارتكاب 5aa64e6 ، ارتكبت 5f4242e والتزام 0f707cd: DNSSEC: تنفيذ keysearch على أساس تخفيضات المنطقة
ارتكاب ddf6fa5: rec: أضف دعمًا لـ boost :: context & gt؛ = 1.61
الالتزام bb6bd6e: إضافة getRecursorThreadId () إلى Lua ، تعريف مؤشر الترابط الحالي
الالتزام d8baf17: معالجة CNAMEs في قمة المناطق الآمنة إلى مناطق آمنة أخرى
ما هو الجديد في الإصدار 4.0.0:
غيرنا العديد من الأشياء داخليًا إلى خادم الأسماء:
انتقل إلى C ++ 2011 ، وهو إصدار أنظف وأكثر قوة من C ++ سمح لنا بتحسين جودة التنفيذ في العديد من الأماكن.
تم تنفيذ بنية أساسية مخصصة للتعامل مع أسماء نظام أسماء النطاقات بالكامل & quot؛ DNS Native & quot؛ ويحتاج إلى قدر أقل من الهروب والانغماس.
تحولت إلى تخزين ثنائي لسجلات DNS في جميع الأماكن.
تم نقل ACL إلى شجرة Netmask مخصصة.
نفذت نسخة من وحدة التحكم المنطقية (RCU) لتغييرات التكوين
استخدامنا لأجهزة تخصيص الذاكرة ، وانخفاض عدد المكالمات malloc إلى حد كبير.
تم إعادة تصميم بنية Lua hook باستخدام LuaWrapper ؛ لن تعمل النصوص القديمة ، ولكن من الأسهل كتابة النصوص البرمجية الجديدة تحت الواجهة الجديدة.
نظرًا لهذه التغييرات ، فإن PowerDNS Recursor 4.0.0 يكاد يكون ترتيب حجمه أسرع من الفرع 3.7.
معالجة DNSSEC: إذا طلبت الحصول على سجلات DNSSEC ، فستحصل عليها.
التحقق من DNSSEC: إذا تمت تهيئته ، فستقوم PowerDNS بإجراء التحقق من DNSSEC من إجاباتك.
جديد غير متزامن لكل مجال ، لكل عنوان IP ، محرك استعلام. يسمح هذا لـ PowerDNS باستشارة خدمة خارجية في الوقت الفعلي لتحديد حالة العميل أو المجال. قد يعني هذا على سبيل المثال البحث عن هوية العميل الفعلية من خادم DHCP استنادًا إلى عنوان IP (الخيار 82 على سبيل المثال).
RPZ (من الملف ، عبر AXFR أو IXFR) دعم. هذا يحمّل أكبر منطقة في Spamhaus في 5 ثوانٍ على أجهزتنا ، تحتوي على حوالي 2 مليون تعليمات.
يمكن الآن مسح جميع ذاكرات التخزين المؤقت على اللواحق ، وذلك بسبب الطلب الكنسي.
العديد والعديد من مقاييس الأداء ذات الصلة ، بما في ذلك قياسات الأداء الموثوقة الأولية ("هل أنا أو الشبكة بطيئة").
دعم EDNS Client Subnet ، بما في ذلك التعرف على ذاكرة التخزين المؤقت للإجابات المتغيرة للشبكة الفرعية.
DNSSEC:
كما هو مذكور في قسم الميزات أعلاه ، فإن PowerDNS Recursor أصبح الآن مزودًا بمعالجة DNSSEC التجريبية ودعم التحقق DNSSEC التجريبي. ﺗﻌﻨﻲ ﻣﻌﺎﻟﺠﺔ DNSSEC أن ﺧﺎدم اﻷﺳﻤﺎء ﺳﻮف ﻳﻌﺮض ﺳﺠﻼت RRSIG ﻋﻨﺪﻣﺎ ﻳﻄﻠﺐ ﻣﻨﻪ ذﻟﻚ اﻟﻌﻤﻴﻞ (ﻋﻦ ﻃﺮﻳﻖ DO-bit) وﺳﻴﺴﺘﺮﺟﻊ داﺋﻤﺎً RRSIGs ﺣﺘﻰ إذا ﻟﻢ ﻳﻄﻠﺐ اﻟﻌﻤﻴﻞ ذﻟﻚ. سيقوم بإجراء التحقق من الصحة وتعيين AD-bit في الاستجابة إذا طلب العميل التحقق من الصحة. في وضع DNSSEC الكامل ، سيقوم PowerDNS Recursor بالتحقق من صحة الإجابات وتعيين AD-bit في الإجابات التي تم التحقق من صحتها إذا طلب العميل ذلك وسيعرض SERVFAIL على إجابات وهمية لجميع العملاء.
يتم تمييز دعم DNSSEC تجريبيًا ، ولكنه فعال في الوقت الحالي ، نظرًا لأنه يحتوي على وحدتين:
تم التحقق من صحة الإجابات السلبية ولكن لم يتم فحص دليل NSEC بشكل كامل.
المناطق التي تحتوي على CNAME في القمة (وهذا هو "خطأ" على أي حال) التحقق من صحة كما Bogus.
إذا قمت بتشغيل باستخدام DNSSEC وملاحظة نطاقات محطمة ، فقم بتقديم مشكلة.
ما هو الجديد في الإصدار 3.7.2:
الجزء الأكثر أهمية في هذا التحديث هو إصلاح لـ CVE-2015-1868.
ما هو الجديد في الإصدار 3.6.2:
ارتكب ab14b4f: تعجيل إنشاء خدمة servfail لإخفاقات تشبه ezdns (يتم حذف الاستعلام بالكامل إذا وصلنا إلى أكثر من 50 طلبًا للخارج)
الالتزام 42025be: يستطلع PowerDNS الآن حالة الأمان للإصدار عند بدء التشغيل وبشكل دوري. يمكن العثور على مزيد من التفاصيل حول هذه الميزة وكيفية إيقاف تشغيلها في القسم 2 ، & quot؛ الاستقصاء الأمني & quot ؛.
الالتزام 5027429: لم نقل عنوان مأخذ التوصيل "المحلي" إلى Lua لـ TCP / IP الاستعلامات في recursor. بالإضافة إلى ذلك ، سنحاول البحث عن ملف منقذ لم يكن موجودًا في خريطة غير مؤمّنة يمكن أن تؤدي إلى حوادث. يغلق تذكرة 1828 ، شكرا Winfried للإبلاغ
الالتزام 752756c: مزامنة نسخة yahttp مضمنة. واجهة برمجة التطبيقات: استبدل مصادقة HTTP الأساسية بمفتاح ثابت في الرأس المخصص
الالتزام 6fdd40d: إضافة رقم مفقود # لتضمين channel.hh (يعمل هذا على البناء على OS X).
ما هو الجديد في الإصدار 3.5.3:
3.5 يحل محل طلب البحث ANY باستخدام A + AAAA للمستخدمين الذين تم تمكين IPv6 لديهم. أظهرت قياسات واسعة من دارين غامبل أن هذا التغيير كان له تأثير غير تافه على الأداء. نقوم الآن بإجراء استعلام ANY كما كان من قبل ، ولكن الرجوع إلى استعلامات A + AAAA الفردية عند الضرورة. تغيير في الالتزام 1147a8b.
تمت إضافة عنوان IPv6 لـ d.root-servers.net في الالتزام 66cf384 ، وذلك بفضل Ralf van der Enden.
نسقط الآن الحزم مع شفرة تشغيل غير صفرية (أي حزم خاصة مثل DNS UPDATE) في وقت سابق. إذا تم تمكين علامة استعلامات pdns-distributes-query ، فهذا الإصلاح يتجنب حدوث عطل. لم تكن الإعدادات العادية عرضة لهذا الانهيار. كود في ارتكاب 35bc40d ، يغلق تذكرة 945.
تم تحسين معالجة TXT إلى حد ما في الالتزام 4b57460 ، إغلاق تذكرة 795.
ما هو الجديد في الإصدار 3.3:
يعمل هذا الإصدار على إصلاح عدد من المشكلات الصغيرة ولكن الثابتة ، وتقريب دعم IPv6 ، ويضيف ميزة هامة للعديد من مستخدمي نصوص Lua .
بالإضافة إلى ذلك ، تم تحسين قابلية تطوير Solaris 10.
هذا الإصدار هو مماثل ل RC3.
ما هو الجديد في الإصدار 3.3 من RC3:
يعمل هذا الإصدار على إصلاح عدد من المشكلات الصغيرة ولكن الثابتة ، وتقريب دعم IPv6 ، وإضافة ميزة هامة للعديد من مستخدمي نصوص Lua.
بالإضافة إلى ذلك ، تم تحسين قابلية تطوير Solaris 10.
منذ RC2 ، تم إزالة رسالة غير ضارة ولكن مخيفة حول الجذر منتهية الصلاحية.
ما هو الجديد في الإصدار 3.3 من RC2:
يعمل هذا الإصدار على إصلاح عدد من المشكلات الصغيرة ولكن الثابتة ، وتقريب دعم IPv6 ، ويضيف ميزة مهمة للعديد من مستخدمي Lua البرامج النصية.
بالإضافة إلى ذلك ، تم تحسين قابلية تطوير Solaris 10.
منذ RC1 ، تم إصلاح التجميع على RHEL5.
لم يتم العثور على التعليقات