ما هو BIND وكيف يدير خدمة أسماء النطاقات؟

الكاتب: تاريخ النشر

باختصار: BIND (Berkeley Internet Name Domain) برنامج خادم DNS مفتوح المصدر، يُستخدم أساسًا في أنظمة Linux وUnix. يمكنه نشر معلومات النطاقات أو البحث عن إجابات DNS نيابةً عن المستخدمين. يفيد حين تحتاج إلى التحكم في تشغيل DNS، لكن خدمة DNS التي يديرها مزوّد الخدمة تكفي عادةً لتشغيل موقع ويب عادي.

ما وظيفة BIND؟

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

تتولى منظمة Internet Systems Consortium (ISC) تطوير BIND. والسلسلة الحالية من البرنامج هي BIND 9، أما عملية الخادم الرئيسية فيه فتُسمّى named. وتتضمن الحزمة أيضًا أدوات إدارية تُستخدم، من بين أمور أخرى، لفحص الإعدادات وتشخيص استجابات DNS.

لا يخزّن BIND ملفات الموقع، ولا يحل محل خادم WWW، ولا يسجّل النطاقات. تتمثل مهمته في تقديم استجابات DNS التي تتيح للمتصفح أو لأي تطبيق آخر تحديد الوجهة التي يتصل بها للوصول إلى الخدمة المطلوبة.

دوران مختلفان: الخادم الموثوق والمحلّل التكراري

الخادم الموثوق يقدّم البيانات المرجعية للنطاقات التي يتولى خدمتها. يحدّد المسؤول هذه البيانات ضمن منطقة DNS، وهي جزء محدّد من فضاء الأسماء. وقد تضم هذه المنطقة سجلات A وAAAA التي تشير إلى عناوين IP، وسجلات MX التي توجّه البريد، وسجلات TXT التي تخزّن معلومات نصية.

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

يستطيع BIND أداء الدورين، لكن متطلبات الوصول تختلف بينهما. ينبغي للخادم الموثوق المتاح للعامة أن يجيب عن الاستعلامات المتعلقة بالمناطق التي يخدمها. أما محلّل الشركة، فينبغي أن يقبل الاستعلامات التكرارية من العملاء المصرّح لهم فقط، مثل الأجهزة المتصلة بالشبكة المحلية أو عبر VPN.

عند إتاحة الخدمة للعامة، يُستحسن عادةً فصل هذين الدورين. فهذا يسهّل تطبيق قواعد أمان مختلفة، ويحدّ من آثار أخطاء الإعداد.

كيف تُدار خدمة النطاق عمليًا؟

لنفترض أن شركة تنقل موقعها إلى خادم جديد، لكنها تُبقي البريد لدى مزوّدها الحالي. إذا كان BIND يخدم منطقة النطاق، يغيّر المسؤول سجل A، وكذلك سجل AAAA عند استخدام IPv6. وتبقى سجلات MX دون تغيير، لأن طريقة تسليم البريد لم تتغيّر.

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

يمكن أن يعمل BIND أيضًا خادمًا أساسيًا أو ثانويًا للمنطقة. الخادم الأساسي هو مصدر بيانات المنطقة، والثانوي يجلب نسخة منها عبر نقل المنطقة. ولا يعني ذلك تقسيمًا إلى خادم «نشط» وآخر «احتياطي»؛ فكلاهما يستطيع الرد على الاستعلامات بصورة طبيعية.

تشغيل BIND وحده لا ينقل خدمة النطاق إلى بنيتك التحتية. فلا بد أيضًا من إعداد التفويض الصحيح، أي تحديد خوادم الأسماء في المنطقة الأعلى، عادةً عبر لوحة تحكم مسجّل النطاق.

ما الذي ينبغي تأمينه وفحصه؟

تتطلب إدارة BIND أكثر من مجرد تعديل السجلات. ومن أهم الجوانب:

يدعم BIND آلية DNSSEC لتوقيع بيانات DNS والتحقق من أصالتها. ولا تقوم DNSSEC بتشفير الاستعلامات أو إخفاء أسماء النطاقات التي تزورها. ويتطلب تطبيقها إدارة صحيحة للمفاتيح وربط المنطقة الموقّعة بالمنطقة الأعلى.

قبل تطبيق التغييرات، يمكن فحص صحة صياغة الإعدادات بأداة named-checkconf، وفحص ملف المنطقة بأداة named-checkzone. وبعد التطبيق، تتيح أداة dig فحص استجابات كل خادم على حدة. لكن صحة الصياغة لا تضمن صحة التفويض أو إمكانية الوصول إلى الخدمة من الإنترنت.

متى تختار BIND ومتى تختار خدمة مُدارة؟

يكون BIND خيارًا مناسبًا عندما تحتاج المؤسسة إلى بنية تحتية خاصة بها لخدمة DNS، أو مناطق محلية، أو تحكم تفصيلي في الوصول، أو تكامل مع إدارة الأنظمة القائمة. ويفيد أيضًا في تعلّم DNS، إذ يتيح لك إعداد منطقة بنفسك ومراقبة استجابات الخادم.

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

لذلك حدّد أمرًا واحدًا قبل التثبيت: هل تحتاج فقط إلى تعديل سجلات النطاق، أم تحتاج فعلًا إلى تشغيل خادم DNS وصيانته؟ إذا كانت حاجتك تقتصر على السجلات، فابدأ باستكشاف إمكانات لوحة DNS الحالية؛ فتشغيل BIND بنفسك يعني تحمّل مسؤولية إضافية عن التوافر والتحديثات والأمان.

اقرأ أيضًا

تعرّف على كيفية معالجة PHP-FPM لطلبات PHP، والفرق بينه وبين خادم الويب، وكيفية ضبط عملياته وفق حركة الزيارات وموارد الاستضافة.
تعرّف إلى سجل REGON ورقم التعريف فيه في بولندا، والفرق بينه وبين NIP وKRS، وكيفية التحقق من بيانات المنشآت وحدود ما يثبته السجل.
تعرّف على أهم ترويسات الأمان ودورها في حماية الموقع، وكيفية فحصها وتطبيقها تدريجياً دون تعطيل النماذج والمدفوعات والوظائف الضرورية.