مقارنة بين أنواع الخواديم في نظام DNS: كيفية اختيار الإعداد المناسب للخادوم


محمد أحمد العيل

مقدِّمة

نظام أسماء النطاقات Domain Name System، أو DNS اختصارًا، جزء متكامل من آلية ربط مختلف الأنظِمة التي تعمل على شبكة الإنترنت. ستحتاج الحواسيب والأشخاص الذين يستعملونها - في غياب نظام DNS - إلى استخدام العناوين المكوَّنة من أرقام، المعروفة باسم عناوين IP (بالإنجليزية IP Addresses).

يُسبِّب الاعتمادُ على عناوين IP - وحدَها - للتواصل على الإنترنت العديد من المشاكل. أولها المُشكل البديهي المتمثِّل في العدد الكبير من الأرقام المُعقَّدة المطلوبة لإجراء المهامّ، مهما كانت بساطتها. ينضاف إلى ذلك مشكلُ نقل موقع إلكتروني إلى مقدِّم استضافة Hosting provider جديد، أو تبديل مكان تواجد خواديمك إلى موقع مُغايِِر؛ سيتوجَّب عليك في الحالتين إعلامُ كل واحد من زبنائك بالموقع الجديد.

تمتلك خواديم DNS - وهي الحواسيب التي تشكِّل معًا النظام الذي يمكِّننا من استخدام أسماء للعنونة - القدرة على تأديّة وظائف عديدة تُساهِم كل واحدة منها في إمكانية النفاذ إلى خواديمك بأسماء بدلَ أرقام.

تحدّثنا في مقال سابق عن مفاهيم ومُصطلَحات نظام أسماء النّطاقات الأساسية؛ نفترض هنا معرفة هذه المُصطلحات والمفاهيم. سنناقش في هذا المقال بعض أنواع إعدادات خواديم DNS: ميزات وحالات استخدام وخصائص كل واحد منها.

مسار استعلام DNS path query - DNS

أول ما يتوجّب على برنامج عميل Client يرغب في الوصول إلى خادوم عن طريق اسم النطاق القيامُ به، هو ترجمة اسم النّطاق إلى عنوان يُمكن توجيه الاستعلامات إليه. هذه المعلومة مطلوبة حتى يتسنى للعميل إرسال معلومات إلى الخادوم أو استقبالها منه.

تحتفِظ بعض البرامج، كما هي حال أغلب متصفِّحات الوب، بنسخ مخبَّأةCache من الاستعلامات الأخيرة. تفتّش هذه التطبيقات بدءًا في النُّسخ المخبَّأة لديها بحثًا عن عنوان IP النطاق؛ فإن لم تجِد الإجابة التي تبحث عنها تلجأ إلى أداة الحلّ Resolver الموجودة في نظام التّشغيل.

يُقصَد بأداة الحلّ أي عنصر يوجد في جانب العميل ويُشارِك في استعلام DNS. تقوم مكتبة الحلّ Resolving library بهذا الدّور في نظام التشغيل الذي يستخدمها للبحث عن إجابة لاستعلامات DNS. فنيَّا مكتبة الحلّ هي مجموعة من الدّوال Functions للترجمة بين أسماء النّطاقات وعناوين IP. أداة الحل في نظام التشغيل هي العامل المحفِّز لعملية البحث عن عنوان IP؛ فكل ما تقوم به هو النّظر في بضع ملفات موجودة على نظام التشغيل (مثل etc/hosts/ في نظام غنو/لينوكس) أو تحويل الطّلب إلى أداة حلّ أخرى.

يمر الاستعلام من البرنامج العميل إلى أداة الحلّ الموجودة في نظام التشغيل؛ التي تُرسلها إلى خادوم أسماء ليبحثَ عن عنوان IP المطلوب. يُسمَّى خادوم الأسماء في هذه الحالة خادوم DNS تكراري، Recursive DNS server. خادوم DNS تكراري هو خادوم مضبوط لمواصلة إرسال طلبات إلى خواديم DNS الأخرى بحثا عن العنوان الذي يُحيل إليه اسم النّطاق حتى يجد الإجابة. بعد عملية البحث يُحوِّل الخادوم التكراري الإجابة - أو رسالة الخطأ في حال تعذر الحصول على عنوان IP - إلى العميل (أداة الحلّ في نظام التّشغيل التي بدورها تمرِّرها إلى البرنامج).

تحتفظ الخواديم التكرارية هي الأخرى - غالبًا - بنُسخ مخبَّأة من الاستعلامات. تبدأ هذه الخواديم عند وصول استعلام جديد بالبحث أولا في النسخ المُخبَّأة لديها، فإن لم توجد الإجابة في تلك النُّسخ؛ تنظُر إذا ما كانت تعرِف عنوان IP النطاق الأعلى لاسم النطاق قيدَ البحث. على سبيل المثال: إذا كان الاستعلام يتعلَّق بالنطاق www.example.com ولم يجد الخادوم التكراري نسخة مخبّأة بالنتيجة؛ فالخطوة الموالية هي العثور على خواديم أسماء النّطاق example.com، وفي حالة عدم معرفتها يبحث عن خواديم النطاق العلوي Top-level domain - TLD، أي com في هذا المثال. المبدأ هو أن يُرسِل الخادوم التكراري الاستعلام إلى خادوم الأسماء الأكثر تحديدا من بين خواديم الأسماء التي يعرفها للحصول على معلومات عن النّطاق.

يحدُث ألا يعرف الخادوم التكراري عنوانَ أي من عناصر اسم النّطاق، في هذه الحالة يتوجّب عليه البدء من أعلى التسلسل الهرمي بإرسال استعلام إلى خواديم الجذر Root servers. تعرِف خواديم الجذر عناوين كل خواديم الأسماء التي تُدير النطاقات العلوية (TLD) مثل com. و net. و org. وغيرها. يُجيب الخادوم الجذر عند تلقي الاستعلام عن www.example.com بعنوان IP خواديم أسماء النطاق العلوي com.

يستمر الخادوم التكراري في تتبع إحالات كل خادوم أسماء عن أجزاء اسم النّطاق التي تقع تحت سُلطته حتى يصِل إلى خادوم الأسماء الذي يعرف الإجابة الكاملة، ثم يحتفظ بنسخة مُخبَّأة من هذه الإجابة ويُرسِلها إلى العميل.

رأينا في المثال السابق أنه توجد أنواع عديدة من الخواديم يقوم كل منها بدورِ مُختلِف. سنتعرف في الفقرات المُقبلة على خصائص كل واحد من أنواع خواديم DNS.

الفروق الوظيفية Functional differences

تختلف خواديم DNS في الوظائف التي تؤديها؛ فأغلب الخواديم التي تدخل في إطار نظام أسماء النطاقات تتخصّص في وظائف محدَّدة. يعتمِد نوع خادوم DNS الذي تستخدمه على حاجاتك وطبيعة المشاكل التي تريد إيجاد حلول لها.

الخواديم المُقتصِرة على منطقة السلطة Authoritative-Only DNS Servers

خادوم مقتصِر على منطقة السلطة هو خادوم يُجيب فقط عن الاستعلامات حول النطاقات التي هو مسؤول عنها. تتميّز الخواديم المُقتصِرة على السلطة بالسرعة والقدرة على التعامل مع العديد من الاستعلامات بكفاءة، يُساعدها في ذلك أنها لا تتدخّل في الإجابة على طلبات تتعلَّق بنطاقات خارجَ سُلطتها.

لدى الخواديم المُقتصِرة على منطقة السلطة الخصائص التالية:

  • سريعة جدًّا في الإجابة على استعلامات عن نطاقات تقع ضمن سُلطتها. يمتلك هذا النوع من الخواديم كل المعلومات عن النطاق الذي هو مسؤول عنه، كما أن لديه معلومات الإحالة إلى خواديم أسماء أخرى إذا كان لديها تفويض بالسلطة على موارد (نطاقات فرعية أو مُستضيفات) تابعة للنطاق.

  • لا تُجيب على الاستعلامات التكرارية. التّعريف الّدقيق لخادوم مقتصر على منطقة السلطة هو أنه خادوم لا يتعامل مع الاستعلامات التكرارية. تعني هذه الخاصية أن الخادوم المُقتصِر على السّلطة لا يقوم أبدًا بدور عميل في نظام DNS. الاستعلامات التي تصِل إلى هذا الخادوم تأتي في الغالب من خادوم أسماء حالّ Resolving name server تلقى إحالة إلى الخادوم المُقتصر على السّلطة، وهو ما يعني أن هذا الأخير إما لديه الإجابة الكاملة أو لديه إحالة إلى خادوم أسماء مُفوَّض من طرفه بإدارة بعض موارد النّطاق.

  • لا يحتفظ بأي نُسَخ مخبَّأة. توجد كل المعلومات التي يحتاجها الخادوم المُقتصِر على السّلطة في نظام الملفّات لديه، وبما أنه لا يُرسِل استعلامات إلى خواديم أخرى فهذا يعني أنه لا يوجد لديه داعٍ لحفظ نُسخ مخبَّأة.

خادوم DNS مُخبِّئ Caching DNS Server

يتعامل خادوم DNS المخبِّئ مع الاستعلامات التكرارية التي يُرسلها العملاء. الخواديم التي تتّصل بها أداة الحلّ الموجودة في نظام التشغيل هي في العادة خواديم DNS مُخبِّئة. تتميّزالخواديم المُخبِّئة بقدرتها على الإجابة على طلبات العملاء التّكرارية.

تُعتَبر الخواديم المُقتصِرة على منطقة السلطة، من وجهة نظر معلومات نطاق محدَّد، مثالية؛ إلا أن الخواديم المخبِّئة أكثر فائدة من وجهة نظر العميل الذي قد يكون مجرَّد واجهة رسومية بسيطة، تتيح له الخواديم المُخبِّئة الوصول إلى كامل نظام DNS.

تقوم الخواديم المخبِّئة بالاحتفاظ بنسخ من الإجابات على الاستعلامات الأخيرة لتقديمها عند الحاجة مقلّلةً بذلك من عدد الطّلبات التي ترسلها إلى خواديم الأسماء الأخرى، وهو ما يُساعد في تحسين الأداء ويُتيح لها الوصول إلى قاعدة عريضة من معلومات نظام DNS (كل معلومات DNS المتوفِّرة بشكل مفتوح) مع القدرة على الاستجابة السّريعة للطّلبات التي مرّت بها حديثًا.

لدى الخواديم المُخبِّئة الخصائص التاليّة:

  • إمكانية الوصول إلى كل معلومات نظام DNS المُتاحة للعموم؛ إذ أن الخواديم المُخبِّئة تستطيع الحصول على كل معلومات النّطاقات الموجودة لدى خواديم الأسماء المرتبِطة بالترتيب الهرمي لنظام DNS التي يُتاح الوصول إليها بشكل عام. تعرف الخواديم المُخبِّئة عناوين خواديم الجذر وتستطيع تتبّع الإحالات بذكاء أثناء حصولها على البيانات.

  • القدرة على التّدرج في إرسال البيانات إلى العملاء محدودي الموارد (الذاكرة Memory، المُعالِج Processor، ..إلخ). تقوم أغلب نُظُم التّشغيل الحديثة بتوكيل عملية تعيين أسماء النطاقات إلى خواديم تكرارية مُتفرِّغة لهذا الغرض، وذلك عن طريق مكتبة الحلّ. كل ما تقوم به مكتبة الحلّ هو إرسال استعلام ثم انتظار الحصول على إجابة كاملة. لدى الخادوم المُخبِّئ الإمكانات اللازمة بالضبط لتلبية طلب هذه المكتبات. يعني قبول الخواديم المُخبّئة للاستعلامات التكرارية أنها تضمن إما إرسال إجابة إلى العميل أو إبلاغه برسالة خطأ.

  • تحتفظ بنسخ من البيانات المطلوبة في الاستعلامات الأخيرة. تُنشئ هذه الخواديم نسخ من بيانات DNS الأخيرة التي حصلت عليها أثناء البحث عن استعلامات العملاء. تعتمد سرعة الحصول على إجابة من طرف خادوم مخبّئ على عوامل أهمها عدد عملاء الخادوم، وسعة ذاكرة التخبئة Cache memory وقيمة TTL الموجودة في سجلاّت خادوم اسم النطاق المطلوب.

خادوم إعادة التوجيه Forwarding DNS Server

يُشكِّل خادوم إعادة التوجيه بديلًا عن إنشاء نُسَخ مخبَّأة على الحواسيب العميلة. تُضيف هذه المقاربة حلقةً جديدة في مسار استعلام DNS عن طريق تشغيل خادوم إعادة توجيه تتلخَّص مهمته في تمرير كل استعلامات DNS إلى خادوم لديه القدرة على التعامل مع الطلبات التكرارية (خادوم مُخبِّئ على سبيل المثال). تُعطي هذه الطّريقة ميزة الحصول على نُسخ مخبَّأة يُمكن الوصول إليها من الشبكة المحلية Local network دون الحاجة لعمل الاستعلامات التكرارية (قد تستأثر الاستعلامات التكرارية بمواردة مُعتبرة في الخواديم التي لديها حركة اتصالات فائقة).

لدى خواديم إعادة التوجيه الخصائص التالية:

  • القدرة على الإجابة على الاستعلامات التكرارية دون أن يكون هو نفسه من يتتبع إحالاتِها. الخاصية الأساسية في خادوم إعادة التوجيه هي أنه يمرِّر الطلبات إلى عميل آخر يقوم بالبحث عن الإجابة عنها. يُمكن لخادوم إعادة التوجيه منح قيمة مُضافة كبيرة بموارد محدودة، وذلك اعتمادًا على النُّسخ المخبَّأة التي يحتفظ بها.

  • توفير تخبِئة بالقرب من الشبكة المحلية. يستطيع خادوم إعادة التوجيه طلب خواديم DNS تكرارية متاحة للعموم وهو ما يُغنيك إن لم تكن لديك القدرة على إنشاء وصيانة وتأمين خدمة DNS كاملة. إتاحة تخبئة قريبة من الشبكة المحلية تعني التقليل من الوقت اللازم للإجابة على الاستعلامات.

  • زيادة المرونة عن طريق تعريف فضاء محلي لأسماء النطاقات. يستطيع خادوم إعادة التوجيه إضافة شروط على وجهة الاستعلامات وذلك للتأكد من أن الطلبات المحلية تُوجَّه إلى خواديم خاصة بينما تُرسل الطّلبات الخارجية إلى خواديم DNS عامّة.

الحلول التجميعية

تطرّقنا في الفقرات السّابقة إلى خواديم DNS مُصمَّمة لتلبية حاجات محدَّدة. في بعض الأحيان يكون مُفيدًا إعدادُ خادوم DNS بطريقة تسمح له بدمج ميزات كل نوع من الخواديم معًا.

يُمكن على سبيل المثال إعداد خادوم للعمل كمخبِّئ بالنسبة لعدد محدّد من عملاء الشبكة المحلية في حين أنه يتعامل مع بقية العملاء بوصفه خادوما يقتصِر على منطقة السلطة. هذا الإعداد شائع جدًا إذ يسمح لك بالإجابة عن الاستعلامات الخارجية المتعلّقة بنطاقك وفي نفس الوقت يمكن للحواسيب على الشبكة المحلية اللجوء لنفس الخادوم لحل الاستعلامات التكرارية.

تُصَمَّم أغلب برمجيات DNS لإنجاز وظيفة معيَّنة. توجد رغم ذلك تطبيقات تتمتع بالمرونة للعمل على دمج عدة وظائف. Bind أحد هذه التّطبيقات. يؤدي توفير عدة خدمات (وظائف) DNS على نفس الخادوم عادةً إلى تدهور في الأداء، لكن الأمر يختلف بالنسبة للمؤسسات ذات البنية التحتية الصغيرة التي يكون فيها تحمل إدارة وصيانة خادوم "كل في واحد" أكثر جدوائية.

الفروقات الارتباطية Relational Differences

من المهم الانتباه للفروق في العلاقة بين الخواديم. فبالرغم أن أغلب الفروق بين إعدادات الخواديم هي فروق وظيفية إلا أن الاختلافات في طبيعة العلاقة بين الخواديم مهمة جدًّا هي الأخرى.

الخواديم الرئيسة والخواديم التابعة Primary and Slave Servers

تعمَد الكثير من أنظمة DNS المسؤولة عن نطاق معيَّن إلى تضمين نُظُم احتياطية مكوَّنة من عدة خواديم لضمان الوصول إلى الخدمات التي توفّرها. تأتي العلاقة بين الخواديم في هذه النّظم على عدّة أشكال، لكن الخادوم - في الغالب - إما أن يكون رئيسًا Primary أو تابِعًا Slave. لدى كل من الخادوم الرئيس والتابع السّلطة على النطاق المسؤول عنه ولا يوجد فرق منه هذه الناحية. الفرق الوحيد بين خادوم أسماء رئيس وآخر تابِع هو المكان الذي يقرأ منه ملفات النطاق: يقرأ الخادوم الرئيس ملفات النطاق من القرص الصّلب لديه. يُضيف مديرو النُّظُم ملفات النطاق إلى نظام الملفات الموجود على الخادوم الرئيس. عند تحرير أو نقل ملفات النطاق فإن ذلك يتم على مستوى الخادوم الرئيس.

يستقبل الخادوم التابِع ملفات النطاق من أحد الخواديم الرئيسة ثمّ يحفظ نسخًا منها لديه في ذاكرة التخبِئة. في حال إعادة تشغيل الخادوم الرئيس فإنه يتحقق من كون ملفات النطاق محدَّثَة Up-to-date ويقوم بتحديث معلوماته من الخادوم الرئيس إن تطلّب الأمر ذلك.

ليسَ مفروضًا على الخادوم أن يكون رئيسًا (أو تابِعًا) في جميع نطاقات سُلطته. يُخصَّص وضع الخادوم (رئيس أو تابِع) لكل واحد من النطاقات التي هو مسؤول عنها دون أن يُؤثِّر ذلك على وضعه بالنسبة لبقية النطاقات؛ أي أنه يُمكن أن يكون رئيسًا بالنسبة لبعض النطاقات وتابِعا بالنسبة لنطاقات أخرى.

يوجد عادةً خادوما أسماء لكل نطاق في نظام DNS. في حال كان النطاق يُوجه إلى نطاقات عامة على شبكة الإنترنت فيتوجّب أن يكون لديه في هذه الحالة خادوما أسماء على الأقل. تمتلك بعض النطاقات عدة خواديم أسماء لتوزيع الحِمل Load بينها.

الخواديم العامّة والخواديم الخاصّة Public vs Private Servers

تستخدم المؤسسات نظام DNS في شبكاتها الدّاخلية والخارجية على السّواء، وتختلف البيانات المُرسلة بشدّة في الحالتين. يُمكن لمنظّمةٍ ما مثلًا توفير خادوم مُقتصر على نطاق السّلطة يتعامل مع استعلامات DNS عامّة (خارجية)، وفي نفس الوقت تستعمل خادوما منفصِلًا (خاصا) يحوي معلومات النّطاق التي يوفّرها الخادوم العام إضافةً إلى معلومات إضافية عن مستضيفات وخدمات موجّهة لمستخدمي الشّبكة المحليّة، مثل أن يكون الخادوم مخبِّئا ويتعامل مع الاستعلامات التكرارية ولكن فقط عندما تكون آتية من الشبكة المحلية.

ذكرنا أثناء الحديث عن الحلول التجميعية أنه يُمكن لخادوم واحد التّعامل مع وظائف عديدة مع التفريق بين الخدمات الموجَّهة للعموم والأخرى الموجَّهة لمستخدمي الشّبكة الدّاخلية. هذه المُقاربة واردة؛ إلا أن توزيع العمل بين خادومين منفصليْن - عامّ وخاص - لا يعلمُ أي منهما شيئا عن الآخر يخفِّف حِمل العمل كما أنه أفضَل من وجهة نظر أمنية حيثُ لا وجود لسجلّات records عن الجزء الخاص لدى الخادوم العام. يعني هذا أن الخادوم العام لا يملك في ملفات النّطاق لديه أي سجلات من نوع NS عن خواديم الأسماء الخاصّة بالشبكة الدّاخلية.

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

من الجيّد في هذا الإطار حذف أي مرجِع للخادوم الخاصّ من ملفّات إعداد الخادوم العامّ. يشمل هذا الأمر، إضافةً إلى إبقاء الخادوميْن منفصليْن كما ذكرنا سابِقًا، مسح أي تفاصيل عن نقل أو إشعار أو إعدادات الخادوم الرئيس؛ بحيثُ تبقى خواديم أسماء الشّبكة الداخلية محميةً حتى في حال تعرّض الخواديم العامّة للاختراق.

خاتمة

تُدرك الآن وجود قدر لا بأس به من المرونة في خيارات إعداد DNS. يعتمد الخيار المُناسِب على حاجات مؤسستك: هل تمنح الأولوية لإعداد نظام DNS سريع لعدد محدّد من العملاء (خواديم مخبّئة أو خواديم إعادة التوجيه)، أم لتوفير خدمة تعيين نطاقاتك على الإنترنت بأكملها (خواديم مُقتصِرة على السّلطة). المقاربات التجميعية شائعة ويجب أخذ طريقتَي عمل DNS السّالفتي الذِّكر بالحسبان.

سنوضّح لك في المقالات اللّاحقة كيف تبدأ مع بعض هذه الإعدادات؛ حيثُ سنقوم أولا بضبط خادوم ليعمل إما كمخبِّئ أو لإعادة التوجيه، ثم نأتي بعد ذلك لإعداد خادومَيْ DNS يقتصران على نطاق السلطة. 

 

ترجمة -وبتصرّف- للمقال: A Comparison of DNS Server Types: How To Choose the Right DNS Configuration





تفاعل الأعضاء


لا توجد أيّة تعليقات بعد



يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن