DNS في Linux: فهم resolution وملف /etc/hosts عمليًا

DNS من أهم أجزاء الشبكات في Linux. كثير من أعطال الاتصال ليست مشكلة إنترنت، بل مشكلة ترجمة أسماء.

في هذا الدرس ستتعلم كيف تعمل Name Resolution وكيف تشخّص مشاكل DNS بسرعة.

ما هو DNS ولماذا هو مهم؟

  • يحوّل اسم النطاق إلى عنوان IP
  • يسهّل الوصول للخدمات بدون حفظ IPات
  • أي خلل فيه قد يوقف التطبيقات رغم أن الشبكة تعمل

كيف تتم Name Resolution في Linux؟

بشكل مبسط، النظام يبحث بالترتيب التالي غالبا:

  1. ملف /etc/hosts
  2. خوادم DNS المحددة في إعدادات resolver

ترتيب المصادر قد يتأثر بإعداد /etc/nsswitch.conf.

الأمر dig: أفضل أداة لاستعلام DNS

dig openai.com
dig +short openai.com
dig A openai.com
dig MX gmail.com
dig @8.8.8.8 openai.com
  • +short: نتيجة مختصرة
  • @8.8.8.8: استعلام عبر DNS server محدد

الأمر nslookup: فحص DNS سريع

nslookup openai.com
nslookup openai.com 1.1.1.1

بسيط وسريع، لكن dig غالبا أكثر تفصيلا في بيئات الإنتاج.

فهم ملف /etc/resolv.conf

cat /etc/resolv.conf

مثال:

nameserver 8.8.8.8
nameserver 1.1.1.1
search localdomain
السطر المعنى
nameserver عنوان DNS server المستخدم للاستعلام
search نطاق افتراضي إضافي للأسماء غير الكاملة

ملف /etc/hosts: ربط محلي يدوي

cat /etc/hosts

مثال سطر مخصص:

192.168.1.50   app.local

هذا مفيد للاختبار المحلي أو بيئات داخلية بدون DNS مركزي.

اختبار الترجمة باستخدام getent hosts

getent hosts openai.com
getent hosts app.local

أمر ممتاز لأنه يعكس سلوك resolver الفعلي في النظام.

نصيحة: إذا ping على IP يعمل لكن الاسم لا يعمل، ركّز مباشرة على DNS وhosts.

أخطاء شائعة في DNS على Linux

  • DNS servers غير متاحة في resolv.conf
  • مدخل خاطئ في /etc/hosts
  • تغيير إعدادات الشبكة بدون إعادة تحميل resolver
  • الاعتماد على cache قديم أثناء الاختبار

تمرين عملي: تشخيص DNS خطوة بخطوة

dig +short openai.com
nslookup openai.com
cat /etc/resolv.conf
getent hosts openai.com
grep -n "openai" /etc/hosts

إذا نتائج dig وgetent متسقة، فطبقة DNS تعمل بشكل سليم غالبا.

FAQ: أسئلة شائعة حول DNS وhosts في Linux

ما هو DNS في Linux؟

DNS هو النظام الذي يحول أسماء النطاقات مثل example.com إلى عناوين IP يمكن للشبكة التعامل معها.

ما دور ملف /etc/hosts؟

ملف /etc/hosts يوفّر ربطا محليا يدويا بين اسم نطاق وعنوان IP قبل الرجوع غالبا إلى DNS الخارجي.

كيف أتحقق من مشكلة DNS بسرعة؟

استخدم dig أو nslookup لاختبار الترجمة، ثم راجع resolv.conf وhosts لمعرفة مصدر المشكلة.

الخطوة التالية

في الدرس القادم سنتعلم أساسيات الجدار الناري في Linux.

التالي: Firewall Basics
المحرر الذكي

اكتب الكود وشاهد النتيجة فوراً

جرب الآن مجاناً
قناة ديف عربي

تابع أحدث الدروس والتحديثات مباشرة على واتساب

انضم الآن