شرح ماهو نظام أسماء النطاقات DNS وكيف يعمل

- الإعلانات -

لكل حاسوب على الإنترنت عنوان مُوحد يميزه على الشبكة وتستخدمه الحواسيب الأخرى في التواصل معه بإرفاقه في كل حزمة من البيانات يتم إرسالها لتعمل الموجهات Routers على إيصالها، وتلك العناوين يتم تعيينها عبر بروتوكول رئيسي في شبكة الإنترنت وهو (Internet Protocol (IP وصيغة ذلك العنوان هي كالتالي x.x.x.x حيث x رقم يتراوح بين 0-255 وذلك في الإصدار الرابع IPV4 أما في الإصدار السادس IPV6 فيأخذ الشكل التالي FE80:CD00:0000:0CDE:1257:0000:211E:729C والذي لم يشع إستخدامه بعد.

وسط المقالة

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

شرح ماهو نظام أسماء النطاقات DNS وكيف يعمل

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

نظام أسماء النطاقات DNS هو للإنترنت بمثابة سجل الأسماء للهواتف، في سجل الهاتف يتم تعيين إسم لكل رقم مسجل لسهولة إيجاده وإستخدامه دون الإضطرار لحفظ الرقم وفي النهاية عندما تتصل بالإسم my customer مثلاً يطلب هاتفك الإتصال بالرقم المسجل لهذا الإسم وإن لم ينجح في إيجاد رقم مسجل له سيتعذر بدء الإتصال تماماً.

بالمثل DNS هو مجرد سجل يحتوي على عناوين الإنترنت IP address المصاحبة لكل إسم نطاق، عندما تطلب الإتصال بـ fb.com في البداية يتم البحث في سجلات DNS لإيجاد العنوان الحقيقي لذلك الخادم فإن تم إيجاده يبدأ الإتصال بنجاح ويمكنك تصفح الموقع، عملية البحث عن عنوان الخادم والإتصال به تتم في الخلفية دون أن يضجك الحاسوب بتفاصيلها إلا أن يحدث خطأ، وكما أنك تستطيع الإتصال بشخص بإستخدام رقمه مباشرة إن أردت دون إستخدام إسمه يمكنك أيضاً تصفح المواقع بإستخدام عناوينها مباشرة جرب زيارة http:// 102.132.97.35 مباشرة.

أين يتم حفظ سجلات DNS؟

يمكنك تعيين أسماء نطاقات لعناوين IP بشكل محلي على حاسوبك فقط بتعديل ملف hosts في نظامك.

مسار ملف hosts في نظام ويندوز هو c:\Windows\System32\Drivers\etc\hosts

المسار في لينكس هو /etc/hosts

وفي Mac OSX  /private/etc/hosts

وفي جميع الأنظمة ستجد محتوياته متماثلة ويمكنك تعيين عنصر جديد في هذا السجل المحلي بإضافة إسم نطاق بعد عنوان IP مباشرة في سطر جديد، جرب إضافة هذا السطر

102.132.97.35 thisisnotevenarealdomain.com

وستلاحظ بعد ذلك أن thisisnotevenarealdomain.com يقودك لفيسبوك وإذا قمت بحذفه وأعدت المحاولة ستحصل على رسالة خطأ بتعذر تحويل النطاق لعنوان إلا إن قام المتصفح بحفظ العنوان السابق بشكل مؤقت فعليك إعادة التحديث بشكل كامل (CTRL+F5) أو إستخدام متصفح مختلف للتحقق.

ولكن تذكر ملف hosts هو سجل محلي على نظامك الشخصي عندما تقوم بتعيين النطاقات بإستخدامه فقط الإتصالات الواردة من نظامك يمكنها إستخدامه وللأنظمة الأخرى ملف hosts يخصها وحدها أيضاً. هذا يشبه أن تسجل على هاتفك رقم ما بإسم “سعيد” بينما يتم تسجيله على هاتف آخر بإسم “عمر” وكلاهما لا يؤثر على الآخر فكلاهما سجل محلي يخص صاحبه فقط.

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

ماذا إن لم يجد خادم DNS الذي تستخدمه العنوان المطلوب؟

خوادم الـ DNS كثيرة جداً ذلك لأن إستخدام خادم DNS واحد فقط سيترتب عليه ورود كم هائل من الطلبات من كافة مستخدمي الإنترنت حول العالم وهو ما سيؤدي لبطئ إستجابة الخادم إن لم يكن حجبها مطلقاً.

لذلك يوجد ما يعرف بهيكل خوادم الـ DNS

شرح ماهو نظام أسماء النطاقات DNS وكيف يعمل
شرح ماهو نظام أسماء النطاقات DNS وكيف يعمل

حيث يتم تعيين خوادم تهتم فقط بحفظ المستوى الأعلى من أسماء النطاقات وأخرى تحتفظ بالمستويات الأقل واحداً تلو الآخر، وتسمى الخوادم في المستوى الأعلى بـ root dns servers وقد شهدت تلك الخوادم بضع هجمات في العقدين الماضيين في محاولة لشل حركة الإنترنت.

عندما يتعذر على خادم dns إيجاد العنوان الخاص بإسم النطاق المطلوب يستعين هو الآخر بخادم dns مختلف والذي سيستعين بآخر إن تعذر عليه إيجاد العنوان وهكذا حتى يتم إيجاده في خادم ما وتحتفظ الخوادم الفرعية بذلك العنوان لكي لا تضطر لاحقاً لإعادة طلبه من خادم آخر ومع الوقت تتوسع قواعد البيانات في كل خادم وتنخفض عدد الطلبات اللازمة للعثور على العناوين.

كيف يتم تسجيل نطاق عام في المقام الأول؟

عند تسجيل نطاق جديد في إحدى خوادم dns سيتم نسخه بمرور للوقت للخوادم الأخرى كما ذكرنا أما عملية إضافة هذا النطاق الجديد للخادم تتطلب التعامل مع المنظمات المعنية بهذا الأمر مثل ICANN في الواقع العديد من الشركات تتولى هذا الجانب وتوفر لك حجز نطاق بخطوات بسيطة مقابل مبالغ رمزية لمعظم أسماء النطاقات ومبالغ أكبر للأسماء المميزة مثل شركة جودادي.

على عكس الحرية التي تتمتع بها في سجل dns المحلي ستلاحظ أنك ممنوع من تسجيل العديد من أسماء النطاقات العامة لأن أحدهم قام بحجزها لعدة سنوات مسبقاً! بل أن بعض الشركات تمتهن هذا الأمر فتسجل العديد من أسماء النطاقات لصالحها ثم تعرضها بأضعاف أضعاف سعرها الحقيقي.

لماذا يستخدم بروتوكول IP العناوين الرقمية؟

ربما يتساءل البعض لماذا قمنا بتعيين عناوين رقمية من البداية للحواسيب على الشبكة ثم أنفقنا الوقت والجهد لإعداد خوادم dns تتعامل مع أسماء لتلك “الأرقام” بدلأً من تعيين عناوين نصية من البداية. لإستيعاب إجابة هذا السؤال بشكل كامل ينبغي أن تدرك بعض مفاهيم الشبكات وآلية عملها فبإستخدام العناوين الرقمية يمكننا فصل جزء منها لتحديد عنوان الشبكة network id وجزء آخر لتحديد عنوان الحاسوب host id ونتمكن من إجراء تقسيم الشبكة subneting وتعداد الحواسيب وتنفيذ DHCP وغيرها من المتطلبات التي يسهل إجرائها بإستخدام عناوين رقمية.

نظام أسماء النطاقات الديناميكي DDNS

الموجهات المنزلية عادة ما يتغير عنوانها على الشبكة بمجرد إعادة التشغيل فإن قمت بتعيين إسم نطاق x لعنوانك ثم حصلت على عنوان جديد فحينئذ سيشير النطاق x إلى عنوان غير صحيح أو الأسوء أن يذهب عنوانك القديم لموجه آخر فيشير النطاق x إليه وقد يتمكن أحدهم من إساءة إستخدام هذا الوضع.

من أجل ذلك هناك ما يعرف بنظام أسماء النطاقات الديناميكي ويعتمد على قراءة عنوان IP وتحديث النطاق بشكل دوري عبر عميل يتم تثبيته على أحد الأنظمة الموجودة على الشبكة الخاصة (كثير من الموجهات تدعم بروتوكول GNUHttp فيمكنها العمل كعميل ddns).

أمثلة على نظام أسماء النطاقات الديناميكي: NoipDyn

الحماية

خوادم dns قد تتعرض للإختراق نتيجة للأخطاء البرمجية أو المنطقية تماماً كأي نظام آخر، ونتيجة لذلك قد يتلاعب المتحكم في تلك الخوادم للرد ببيانات زائفة يستخدمها لخداع المستخدم فمثلاً عندما يطلب حاسوبك من خادم dns عن عنوان IP للنطاق z حيث النطاق z يمثل للمستخدم موقع البنك الذي يستخدمه، هنا قد يجيب الخادم المخترق بعنوان IP تابع للمهاجم لا للبنك والذي سيجعله يبدوا تماماً كموقع البنك الأصلي ودون أن تشعر تصبح كل بياناتك في الأيدي الخاطئة والأسوء من ذلك أن يقوم المهاجم بتحويل كل إجراءاتك للبنك الأصلي كي يتم تنفيذها فعلياً وتظل لأطول مدة تستخدم خادم مزيف دون أن تلاحظ.

السبيل الأضمن لتفادي هذا النوع من الهجمات هو إستخدام مواقع تدعم بروتوكول Https ففي هذه الحالة حتى وإن تلاعب المهاجم بعنوان الخادم لن يستطيع توفير شهادة ssl للخادم الأصلي وسينبهك المتصفح من إحتمالية وجود متطفل، ولكن لن يفيد هذا الأمر في حالة أن المهاجم إستطاع الوصول لشهادة ssl سواء بإقتحام الخادم الرئيسي أو المنظمات المعتمدة للشهادات Certificate authorities لكن هذا يتطلب جهد إضافي كبير من جانب المهاجم ومعدلات حدوثه منخفضة. للمزيد: HSTS/DNSSEC

ملاحظة: تأكد دوماً أن إعدادات الموجه router الخاص بك لا تسمح بفتح صفحة الإعدادات من خارج الشبكة، فحينئذ يمكن لأي شخص تعديل إعدادات dns بمجرد معرفة عنوان IP الخاص بك ويمكن أيضاً أن يكشف كلمة مرور الشبكة اللاسلكية والأسوء أن يتمكن من إستغلال الأنظمة الداخلية للشبكة. إن كان لابد من إتاحة الوصول لمن هم خارج الشبكة تأكد من تغيير كلمة المرور الإفتراضية.

ملاحظات:

–        يمكنك دوماً إختيار خادم dns مختلف لإستخدامه بدلاً من الخادم الذي يعطيه لك مزود الإنترنت بشكل إفتراضي وذلك إما من إعدادات الموجه نفسه لتنطبق دفعة واحدة على كافة الأجهزة المتصلة به أو من إعدادات كل نظام على حدى.

–        عند إعداد dns بشكل يدوي ستلاحظ أنه المطلوب عنوان أول وعنوان ثاني، بينما يتطلب النظام خادم dns واحد إلا أنه يطلب عنوان آخر تحسباً لإنقطاع الإتصال بالخادم الأول ويمكنك إستخدام خوادم dns الخاصة بشركة google بإستخدام العناوين 8.8.8.8 و 8.8.4.4.

–        يمكنك معرفة عنوان ip الخاص بإسم نطاق معين بإستخدام الأمر ping متبوعاً بإسم النطاق في سطر الأوامر وتعرف بعملية dns forward lookup.

–        يمكنك معرفة إسم النطاق المسجل لعنوان ip معين بإستخدام الأمر nslookup متبوعاً بعنوان IP في سطر الأوامر وتعرف بعملية dns reverse lookup.

–        لا يمكن معرفة النطاقات الفرعية مثل sub.arabefuture.com من خلال النطاق الأساسي بشكل مباشر ولكن ثمة بعض الأدوات التي تستخدم محركات البحث المختلفة لإيجادها مثل أداة sublist3r في كالي لينكس.

–        تستخدم خوادم dns القياسية المنفذ 53.

–        تستخدم بعض الشركات ما يعرف بـ vhost حيث تقوم بتعيين أسماء نطاقات مختلفة لخادم ويب واحد فقط بحيث يستضيف الخادم عدة مواقع ويستخدم إسم النطاق المطلوب لمعرفة أي المواقع التي يستضيفها يريدها الزائر ويترتب على ذلك أنه عند طلب الخادم بعنوان IP الخاص به مباشرة سيعجز عن فهم أي المواقع يقصدها الزائر وسيرد بصفحة خطأ، موقع عرب فيوتشر يستخدم إستضافة بلوجر من جوجل والتي تستخدم vhost لذلك عند إجراء forward lookup ثم إستخدام عنوان الخادم ستجد صفحة خطأ من جوجل.

التعليقات متوقفه

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More