كيفية إعداد DNS Server محلي في الشبكة المنزلية

كيفية إعداد DNS Server محلي في الشبكة المنزلية

1. ما هو DNS ولماذا نحتاج إلى DNS Server منزلي؟

DNS أو Domain Name System هو التقنية التي تحول أسماء النطاقات مثل example.com إلى عناوين IP حقيقية تستطيع الأجهزة التعامل معها مثل 93.184.216.34. بدون DNS، يجب عليك أن تتذكر عناوين IP لكل موقع تريد زيارته، وهذا غير عملي.

عند استخدامك للإنترنت من المنزل، فإن جهاز الراوتر الخاص بك عادة ما يعتمد على DNS Servers خارجية — غالبًا التي توفرها شركة الإنترنت، أو DNS عالمي مثل Google DNS (8.8.8.8) أو Cloudflare (1.1.1.1). هذا يعمل بشكل جيد في معظم الحالات، ولكن هناك أسباب تدفعك لتشغيل DNS Server محلي داخل الشبكة المنزلية:

  • الخصوصية: الطلبات لا تمر على مزود الخدمة أو أطراف خارجية.

  • السرعة: يقل زمن الاستجابة في حل أسماء النطاقات، خصوصًا في الحالات المتكررة.

  • التحكم: تستطيع حجب مواقع معينة، أو تخصيص أسماء أجهزة داخل الشبكة مثل printer.local أو nas.local.

  • الفلترة: يمكنك منع الإعلانات والمواقع المزعجة تلقائيًا باستخدام أدوات مثل Pi-hole.

  • التعليم والتجربة: تعلم كيفية إدارة الشبكات والأنظمة داخليًا.

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

2. كيف يعمل DNS Server داخل الشبكة المحلية؟

عندما تقوم بتشغيل DNS Server في شبكتك المنزلية، فإنه يصبح الوسيط الذي يحل أسماء النطاقات لكل الأجهزة المتصلة بالشبكة. إليك كيف تجري العملية على المستوى العملي:

1. دورة الاستعلام داخل الشبكة:

عندما تحاول فتح موقع من هاتفك أو حاسوبك، فإن الجهاز يرسل طلبًا لحل الاسم (مثل youtube.com) إلى خادم DNS. إذا كنت قد أعددت DNS Server داخلي، فإن هذا الطلب يُرسل إليه بدلاً من الذهاب مباشرة إلى الإنترنت.

2. أنواع خوادم DNS ودورها:

هناك 3 أنواع من وظائف الـ DNS يمكن أن تؤديها داخل الشبكة:

  • Forwarding DNS: لا يقوم بحل النطاقات بنفسه، بل يمرر الطلب إلى DNS خارجي مثل Google أو Cloudflare ثم يعيد الرد للجهاز المحلي. هذا هو الأسلوب الأسهل والأكثر شيوعًا في الشبكات المنزلية.

  • Caching DNS: يحتفظ بنسخة مؤقتة من الردود التي حصل عليها مسبقًا، وبالتالي عندما يُطلب نفس النطاق مرة أخرى، يتم الرد محليًا بسرعة دون العودة للإنترنت.

  • Authoritative DNS: يُستخدم لتعريف نطاقات داخلية مثل printer.local أو nas.home. أنت من يحدد ما هي هذه الأسماء وإلى أين تؤدي داخل شبكتك.

3. مثال عملي على الدورة:

  • جهازك يطلب example.com.

  • DNS المحلي يبحث في ذاكرته المؤقتة (Cache).

  • إن لم يجد، يمرر الطلب إلى DNS خارجي.

  • يحصل على عنوان IP ويرده للجهاز.

  • يحفظ النتيجة مؤقتًا لتسريع الطلبات القادمة.

4. فائدة DNS محلي في الشبكة:

  • تقليل عدد الاتصالات الخارجية.

  • تحسين سرعة التصفح، خاصة للمواقع التي تزورها بكثرة.

  • إنشاء أسماء مفهومة لأجهزتك بدلاً من حفظ عناوين IP.

  • إمكانية مراقبة الطلبات ومعرفة المواقع التي تزورها الأجهزة المتصلة.

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

3. متطلبات تشغيل DNS Server في المنزل

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

1. جهاز يعمل بشكل دائم في الشبكة:

يمكنك استخدام أحد الخيارات التالية:

  • حاسوب منزلي قديم: يمكن إعادة استخدامه كخادم صغير.

  • Raspberry Pi: مثالي لهذا النوع من الخدمات، صغير الحجم، يستهلك طاقة قليلة ويعمل بكفاءة.

  • جهاز افتراضي (Virtual Machine): إذا كنت تملك سيرفر منزلي أو تستخدم VirtualBox/VMware.

المهم أن يكون الجهاز متصلاً بالشبكة المنزلية طوال الوقت.

2. نظام تشغيل مناسب:

جميع أنظمة التشغيل تدعم تشغيل خادم DNS، لكن غالبًا ما يُستخدم:

  • Linux (Debian, Ubuntu, etc): خفيف، مستقر، ومفتوح المصدر.

  • Windows: ممكن، لكنه أقل شيوعًا لهذه المهمة.

  • OpenWRT أو DD-WRT: إذا كنت تستخدم راوتر متقدم يدعم تثبيت برمجيات خارجية.

3. اتصال إنترنت ثابت (اختياري):

ليس ضروريًا لعمل DNS المحلي داخل الشبكة، لكنه مهم إذا كنت ستقوم بتمرير الاستعلامات إلى DNS خارجي.

4. صلاحية الوصول إلى الراوتر:

لإعداد الشبكة بشكل صحيح، يجب أن تكون قادرًا على:

  • الدخول إلى إعدادات الراوتر (واجهة الويب غالبًا).

  • تعديل إعدادات DHCP أو DNS.

  • معرفة عنوان الجهاز الذي عليه خادم DNS وتثبيته كعنوان دائم (Static IP).

5. معرفة تقنية أساسية:

  • القدرة على تحرير ملفات إعدادات نصية.

  • استخدام سطر الأوامر (Terminal أو PowerShell).

  • فهم الشبكة المحلية (IP Address, Gateway, Subnet).

6. أدوات وأوامر للاختبار:

  • ping لاختبار الاتصال بالجهاز.

  • nslookup أو dig لاختبار طلبات DNS.

  • متصفح أو واجهة رسومية لمراقبة عمل الخدمة إذا كنت تستخدم أدوات مثل Pi-hole.

بتوفر هذه المتطلبات، يمكنك التقدم إلى الخطوة التالية: اختيار البرنامج الذي ستستخدمه لتشغيل خدمة DNS في شبكتك.

4. اختيار البرمجيات المناسبة لتشغيل DNS Server

هناك أكثر من برنامج يمكنك استخدامه لتشغيل DNS Server داخل شبكتك المنزلية، ويعتمد اختيار الأداة على هدفك الأساسي: هل تبحث عن تحكم شامل؟ أم عن وسيلة لحجب الإعلانات؟ أم فقط لتحسين سرعة تصفحك؟ فيما يلي مقارنة بين أبرز الأدوات المستخدمة:


1. BIND9

  • الوصف: أحد أقدم وأقوى برامج DNS، يُستخدم في المؤسسات ومزودي الخدمة.

  • الوظيفة: يقدم كل أنواع خوادم DNS (caching، forwarding، authoritative).

  • التحكم: تحكم دقيق جدًا في كل شيء، لكنه معقد للمبتدئين.

  • العيوب: صعب الإعداد ويتطلب فهم عميق لبنية ملفات المنطقة (zone files) وأوامر التكوين.

  • متى تستخدمه؟ إذا كنت تريد تعلم كيفية عمل DNS بالتفصيل، أو تشغيل نطاق داخلي خاص بشبكتك.


2. dnsmasq

  • الوصف: أداة خفيفة وصغيرة، تجمع بين خدمة DHCP وDNS.

  • الوظيفة: Forwarding DNS مع Cache داخلي، ويمكنه أيضًا إعطاء أسماء داخلية للأجهزة.

  • التحكم: سهل الإعداد من خلال ملف إعداد واحد فقط.

  • العيوب: محدود مقارنةً بـ BIND، ولا يدعم DNSSEC أو تقنيات متقدمة بشكل كامل.

  • متى تستخدمه؟ إذا كنت تريد DNS سريع وسهل الإعداد مع بعض التحكم المحلي.


3. Unbound

  • الوصف: DNS Resolver فقط، لا يعمل كـ DHCP أو Authoritative DNS.

  • الوظيفة: يعمل كمخزن (caching) ومحرك استعلام مباشر من الجذور بدون تمرير (recursive resolver).

  • التحكم: أكثر أمانًا، يدعم DNSSEC، وخفيف على الموارد.

  • العيوب: لا يدعم إدارة أسماء داخلية بشكل مريح مثل dnsmasq.

  • متى تستخدمه؟ إذا كنت تريد DNS خاص وآمن يقوم بكل شيء بنفسه دون الاعتماد على Google أو غيره.


4. Pi-hole

  • الوصف: أداة تعمل كـ DNS Server داخلي مع فلترة الإعلانات والبرمجيات الضارة.

  • الوظيفة: تقوم بتمرير الاستعلامات إلى DNS خارجي لكن تحجب آلاف المواقع تلقائيًا.

  • التحكم: واجهة ويب سهلة لإدارة كل شيء، من استثناءات الحجب إلى متابعة الاستعلامات.

  • العيوب: لا تدعم تشغيل نطاقات Authoritative بشكل افتراضي (لكن يمكن دمجها مع dnsmasq).

  • متى تستخدمه؟ إذا كان هدفك الأساسي هو حجب الإعلانات والتحكم في استهلاك الإنترنت في المنزل.


خلاصة:

الهدف الأداة الأنسب
تعلم معمق وإعداد احترافي BIND9
إعداد سريع وخفيف dnsmasq
الأمان والخصوصية Unbound
حجب الإعلانات وسهولة الإدارة Pi-hole

في الخطوة القادمة، سنأخذ مثالًا عمليًا باستخدام واحدة من هذه الأدوات، مثل dnsmasq أو Pi-hole، ونشرح كيفية تثبيتها وإعدادها خطوة بخطوة داخل الشبكة.

5. خطوات إعداد DNS Server باستخدام dnsmasq أو Pi-hole (مثال عملي)

في هذا القسم سنأخذ مثالين عمليين مبسطين لإعداد DNS Server في المنزل باستخدام طريقتين شهيرتين:


أولاً: إعداد dnsmasq على Ubuntu أو Raspberry Pi

1. تثبيت الحزمة:

sudo apt update
sudo apt install dnsmasq

2. إعداد ملف التكوين:

افتح الملف التالي لتحرير الإعدادات:

sudo nano /etc/dnsmasq.conf

أضف أو عدل الأسطر التالية:

# استخدم Google DNS أو أي DNS خارجي للتمرير
server=8.8.8.8
server=1.1.1.1

# تحديد أسماء داخلية
address=/printer.local/192.168.1.50
address=/nas.local/192.168.1.100

# منع DNS من العمل على جميع الشبكات إلا الداخلية
interface=eth0

# تفعيل التخزين المؤقت
cache-size=1000

ملاحظة: يمكنك تعديل eth0 إلى اسم الشبكة في جهازك (تحققه عبر ip a)

3. إعادة تشغيل الخدمة:

sudo systemctl restart dnsmasq

4. اختبار الخدمة:

من جهاز آخر على نفس الشبكة:

nslookup printer.local 192.168.1.10  # حيث أن هذا هو IP الجهاز الذي عليه dnsmasq

ثانيًا: إعداد Pi-hole لحجب الإعلانات وتقديم خدمة DNS داخلي

1. تثبيت Pi-hole:

يمكن تثبيته على أي نظام Debian-based (مثل Ubuntu أو Raspberry Pi OS). شغّل الأمر التالي:

curl -sSL https://install.pi-hole.net | bash

سيبدأ المثبّت التفاعلي ويطلب منك تحديد:

  • واجهة الشبكة (مثل eth0 أو wlan0)

  • DNS الخارجي (اختر Cloudflare أو Google)

  • هل تريد تشغيل DHCP؟ (يمكن تخطيه إذا كان الراوتر يديره)

  • تعيين Static IP للجهاز (يوصى به)

  • تعيين كلمة مرور لواجهة الويب

2. بعد التثبيت:

افتح واجهة الويب:

http://<IP الجهاز>/admin

سجّل الدخول باستخدام كلمة المرور التي ظهرت بعد التثبيت أو التي قمت بتعيينها.

3. تكوين الراوتر:

غيّر إعدادات DHCP في الراوتر ليجعل Pi-hole هو الـ DNS الافتراضي (IP جهاز Pi-hole).

4. تجربة الخدمة:

افتح أي موقع من متصفح جهاز آخر، وستلاحظ أن الإعلانات محجوبة، ويمكنك رؤية الاستعلامات مباشرة من لوحة التحكم.


ملاحظات مهمة:

  • لتقليل المشاكل، اجعل عنوان الجهاز الذي عليه DNS ثابتًا (Static IP).

  • إذا كنت تستخدم Pi-hole، يمكنك دمجه مع unbound لتحصل على DNS كامل وآمن دون الاعتماد على Google أو غيره.

  • يمكن لـ dnsmasq أن يعمل كـ DHCP أيضًا، لكن يفضل تفعيل ذلك فقط إذا أوقفت DHCP من الراوتر.

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

6. إعداد الراوتر لتمرير استعلامات DNS إلى السيرفر المحلي

بعد تثبيت وإعداد خادم DNS محلي (سواء باستخدام dnsmasq أو Pi-hole)، لن تستفيد منه فعليًا إلا إذا قمت بإخبار الأجهزة في الشبكة باستخدامه كمرجع أساسي لحل أسماء النطاقات. هذا يتم من خلال ضبط إعدادات الراوتر ليجعل DNS المحلي هو الافتراضي لكل الأجهزة.

إليك الخطوات بالتفصيل:


1. الدخول إلى واجهة الراوتر

  • افتح متصفح الويب، وادخل إلى عنوان الراوتر (غالبًا: 192.168.1.1 أو 192.168.0.1).

  • أدخل اسم المستخدم وكلمة المرور (عادة موجودة خلف الجهاز، أو تم تعديلها من قبل).


2. تحديد موقع إعدادات DHCP أو LAN

ابحث عن قسم يُسمى عادة:

  • LAN settings

  • DHCP Server

  • Network settings

  • أو في بعض الأجهزة: Advanced → Network


3. تعديل إعدادات DNS في DHCP

ابحث عن حقل يسمى:

  • Primary DNS Server

  • أو DNS 1

  • أو Static DNS

قم بتغييره ليكون عنوان الجهاز الذي يعمل عليه خادم DNS المحلي (مثلاً: 192.168.1.10).

لا تترك الحقل فارغًا، وإن كان لا يقبل تغيير DNS مباشرة، يمكنك تعطيل DHCP من الراوتر وتشغيله من الخادم المحلي (dnsmasq أو Pi-hole) بدلاً منه.


4. حفظ الإعدادات وإعادة تشغيل الأجهزة

  • بعد الحفظ، أعد تشغيل أحد الأجهزة في الشبكة أو فقط افصل الاتصال وأعده (Wi-Fi مثلًا).

  • الجهاز سيحصل على إعدادات الشبكة الجديدة ومن ضمنها DNS المحلي.


5. التأكد من أن الأجهزة تستخدم DNS المحلي

من أحد الأجهزة في الشبكة (حاسوب مثلًا):

في لينكس أو ماك:

cat /etc/resolv.conf

في ويندوز (PowerShell):

Get-DnsClientServerAddress

تأكد أن عنوان DNS الظاهر هو عنوان جهازك المحلي الذي عليه الخدمة.


6. فرض DNS حتى مع الأجهزة التي تتجاهل الإعدادات (اختياري)

بعض الأجهزة (مثل بعض هواتف أندرويد أو أجهزة IoT) تستخدم DNS خاص بها (مثل Google DNS) وتتجاهل إعدادات DHCP.

لحل هذا يمكن:

  • استخدام ميزة "DNS Hijacking" أو "DNS Redirect" في بعض أجهزة الراوتر المتقدمة.

  • أو إعداد قاعدة على مستوى الجدار الناري (Firewall) لإعادة توجيه أي طلب إلى DNS خارجي نحو الخادم المحلي (redirect all port 53 to local DNS IP).


الآن أصبحت جميع الأجهزة في شبكتك تستخدم خادم DNS المحلي، سواء للفلترة أو للتخزين المؤقت أو للتحكم في أسماء الأجهزة، مما يمنحك تحكمًا كاملاً في ما يجري داخل شبكتك. الخطوة التالية هي اختبار عمل الخدمة والتأكد من فعاليتها.

7. اختبار عمل DNS Server المحلي

بعد إعداد وتشغيل خادم DNS في شبكتك المنزلية وتوجيه الأجهزة إليه من خلال إعدادات الراوتر، من الضروري التحقق من أن الخدمة تعمل كما هو متوقع. الاختبار يشمل التأكد من:

  • أن الأجهزة تستخدم الـ DNS المحلي فعلًا.

  • أن الاستعلامات يتم معالجتها أو تمريرها بشكل صحيح.

  • أن أسماء الأجهزة أو النطاقات المحلية (إن وُجدت) يتم حلّها بشكل سليم.

إليك خطوات عملية لاختبار ذلك:


1. التأكد من أن الأجهزة تستخدم DNS المحلي

على أي جهاز متصل بالشبكة:

في لينكس أو ماك:

cat /etc/resolv.conf

يفترض أن ترى عنوان خادم DNS المحلي (مثلاً 192.168.1.10).

في ويندوز (CMD أو PowerShell):

nslookup google.com

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


2. اختبار استعلامات DNS العامة

من أي جهاز داخل الشبكة:

nslookup example.com

أو باستخدام:

dig example.com

النتيجة يجب أن تظهر:

  • وقت استجابة (Query time) صغير إذا كانت النتيجة مخزنة مؤقتًا.

  • العنوان الذي أُرسل إليه الطلب (يجب أن يكون عنوان جهازك المحلي).


3. اختبار أسماء داخلية

إذا كنت قد عرّفت أسماء داخلية في إعدادات dnsmasq مثل:

address=/printer.local/192.168.1.50

فجرب:

nslookup printer.local

يجب أن تظهر لك نتيجة بالعناوين التي قمت بتعيينها يدويًا.


4. التحقق من فلترة Pi-hole (إن كنت تستخدمه)

  • افتح لوحة تحكم Pi-hole على المتصفح:

http://<IP الجهاز>/admin
  • ادخل على قسم Query Log أو Dashboard.

  • تصفح بعض المواقع، وسترى الطلبات تُسجّل في الوقت الفعلي.

إذا كانت بعض المواقع محجوبة، سترى أنها "Blocked".
إذا كانت مسموحة، سترى أنها "OK".


5. اختبار الحجب اليدوي (في Pi-hole أو dnsmasq)

  • قم بإضافة سطر لحجب موقع معين:
    في Pi-hole: من لوحة التحكم → Blacklist.
    في dnsmasq:

    address=/facebook.com/0.0.0.0
    
  • أعد تشغيل الخدمة:

sudo systemctl restart dnsmasq
  • جرب فتح الموقع المحجوب من متصفح.

  • إذا لم يفتح (أو يعطي خطأ DNS)، فإن الحجب يعمل.


6. مراقبة وتحليل الأداء

  • تأكد أن وقت الاستجابة (Query time) منخفض (يفضل أقل من 20ms للمواقع المعروفة).

  • تابع عدد الاستعلامات المحفوظة في الكاش (cache hit rate).

  • راقب الطلبات المشبوهة أو الأجهزة التي تطلب مواقع غريبة (يفيد في الحماية).


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

8. سيناريوهات استخدام متقدمة لـ DNS Server في الشبكة المنزلية

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


1. حجب المواقع الضارة أو غير المرغوب بها

يمكنك إنشاء قائمة سوداء (Blacklist) بالمواقع التي لا تريد لأي جهاز في الشبكة الوصول إليها، مثل:

  • مواقع التواصل الاجتماعي خلال وقت معين.

  • مواقع إباحية أو غير أخلاقية.

  • مواقع معروفة بنشر برامج خبيثة أو احتيالية.

في Pi-hole: يمكنك إضافة المواقع يدويًا أو استخدام قوائم جاهزة لحجب آلاف النطاقات تلقائيًا.

في dnsmasq:

address=/badsite.com/0.0.0.0

2. تسمية الأجهزة بأسماء داخلية سهلة التذكر

بدلًا من التعامل مع عناوين IP، يمكنك تعيين أسماء مفهومة لكل جهاز:

address=/nas.local/192.168.1.100
address=/printer.local/192.168.1.50

ثم من أي جهاز في الشبكة يمكنك الوصول إلى http://nas.local أو الطباعة على printer.local بدون الحاجة لمعرفة عنوان IP.


3. تشغيل مراقبة لحركة DNS داخل الشبكة

في Pi-hole مثلًا، يمكن معرفة:

  • أي الأجهزة تطلب ماذا.

  • كمية الطلبات لكل موقع.

  • المواقع الأكثر زيارة.

  • تحليل سلوك الاستخدام.

هذا يفيد في:

  • معرفة إذا كان أحد الأجهزة مصابًا بفيروس يتصل بمواقع خارجية مريبة.

  • مراقبة استخدام الأطفال أو الأجهزة الذكية.


4. دمج Pi-hole مع Unbound لتوفير طبقة خصوصية أعلى

بدلًا من الاعتماد على Google أو Cloudflare لحل أسماء النطاقات، يمكنك إعداد Unbound ليقوم بهذه العملية من الجذر مباشرة (recursive resolver).

  • يعطيك خصوصية أعلى (لا أحد يرى استعلاماتك).

  • يقلل الاعتماد على جهات خارجية.

  • يمنع التتبع من مزودي DNS العام.


5. فرض استخدام DNS المحلي لجميع الأجهزة حتى إذا تجاهلت الإعدادات

بعض الأجهزة، مثل بعض هواتف أندرويد أو أجهزة التلفاز الذكية، تتجاهل إعدادات DHCP وتستخدم DNS خارجي مدمج (مثل 8.8.8.8). لحل هذا، يمكن:

  • إنشاء قاعدة على جدار الحماية (Firewall) أو الراوتر تعيد توجيه كل الطلبات على المنفذ 53 (DNS) إلى عنوان الخادم المحلي.

  • بهذا الشكل، أي محاولة للاتصال بـ DNS خارجي سيتم تحويلها تلقائيًا إلى DNS الداخلي.


6. إعداد نطاقات داخلية مخصصة (Internal Domains)

مثلًا:

address=/mycamera.home/192.168.1.55
address=/tv.livingroom/192.168.1.120

يمكنك إنشاء "نطاق افتراضي داخلي" مثل .home أو .lan والتحكم في جميع أجهزتك بهذه الطريقة.


7. استخدام سجلات DNS مخصصة

يمكنك إضافة أنواع مختلفة من السجلات، مثل:

  • سجلات A (لعناوين IP).

  • سجلات CNAME (لإعادة التوجيه).

  • سجلات MX (لخوادم البريد داخل الشبكة، إن وُجدت).

مثال:

cname=router.local,admin.gateway

8. تحديد أوقات الحجب أو التحكم بالجدول الزمني

في Pi-hole، يمكن حجب مواقع معينة خلال أوقات محددة (مثل وقت النوم للأطفال)، أو تعطيل DNS مؤقتًا تلقائيًا باستخدام أوامر مجدولة (cron).


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

9. مشاكل شائعة وكيفية حلها

عند إعداد وتشغيل DNS Server محلي في الشبكة المنزلية، من الطبيعي أن تواجه بعض المشاكل التقنية، سواء في البداية أو أثناء الاستخدام اليومي. هذه المشاكل غالبًا بسيطة ويمكن حلها بسهولة بمجرد معرفة السبب. إليك أبرز المشاكل الشائعة وطريقة التعامل معها:


1. الأجهزة لا تستخدم خادم DNS المحلي

السبب المحتمل:

  • لم يتم تعديل إعدادات DHCP في الراوتر بشكل صحيح.

  • الجهاز يستخدم DNS خارجي بشكل ثابت.

الحل:

  • تأكد أن الراوتر يوزع عنوان الـ DNS المحلي عبر DHCP.

  • تحقق من إعدادات الشبكة في الجهاز، خصوصًا في الحواسيب (قد يكون تم تحديد DNS يدويًا).

  • استخدم إعادة التوجيه الإجباري عبر الجدار الناري (Firewall redirect) لإجبار كل الطلبات إلى المنفذ 53 على المرور عبر خادمك.


2. استعلامات DNS لا تتم أو الإنترنت لا يعمل

السبب المحتمل:

  • الخدمة غير مفعلة.

  • لا يوجد DNS خارجي محدد في حال كنت تستخدم Forwarding.

  • مشكلة في ملف الإعداد.

الحل:

  • تأكد من أن الخدمة تعمل:

    sudo systemctl status dnsmasq
    
  • جرّب اختبار من الجهاز نفسه:

    dig google.com @127.0.0.1
    
  • راجع ملفات الإعداد (dnsmasq.conf أو إعدادات Pi-hole) وابحث عن أخطاء مطبعية أو إعدادات ناقصة.


3. الراوتر يرفض تغيير إعدادات DNS

السبب المحتمل:

  • بعض أجهزة الراوتر لا تسمح بتعديل DNS يدويًا، خاصة الأجهزة الرخيصة أو المزودة من مزود الإنترنت ISP.

الحل:

  • إذا كان الراوتر يدعم تثبيت Firmware بديل (مثل OpenWRT أو DD-WRT)، يمكنك استبداله.

  • أو: قم بإطفاء خدمة DHCP من الراوتر، وشغلها من الجهاز الذي عليه dnsmasq أو Pi-hole.

  • أو: استخدم قاعدة إعادة التوجيه من الجدار الناري.


4. التعارض بين DHCP في الراوتر و DHCP في Pi-hole أو dnsmasq

السبب المحتمل:

  • وجود خدمتين DHCP في الشبكة يؤدي إلى تشتت أو تضارب في توزيع IP.

الحل:

  • اختر أحد الخيارين:

    • إبقاء DHCP في الراوتر وتعطيله في Pi-hole/dnsmasq.

    • أو العكس: تعطيل DHCP في الراوتر وتشغيله من الخادم المحلي.

  • لا تترك النظامين يعملان في نفس الوقت.


5. أسماء الأجهزة لا تُحل بشكل صحيح

السبب المحتمل:

  • لم يتم تعريف الأسماء المحلية بشكل صحيح.

  • الجهاز لم يحصل على إعدادات DNS من DHCP.

الحل:

  • راجع تعيينات الأسماء في إعدادات dnsmasq أو Pi-hole.

  • جرّب:

    nslookup printer.local
    
  • تحقق من أن الجهاز الذي تُجرب منه حصل على إعدادات DNS الصحيحة.


6. بطء في حل أسماء النطاقات

السبب المحتمل:

  • خادم DNS المحلي لا يقوم بالتخزين المؤقت (cache) بشكل جيد.

  • لا يوجد upstream DNS خارجي موثوق في حال كنت تستخدم dnsmasq.

الحل:

  • تأكد من أن التخزين المؤقت مفعل:

    cache-size=1000
    
  • استخدم DNS خارجي سريع مثل Cloudflare (1.1.1.1) أو Google (8.8.8.8).

  • أو دمج Pi-hole مع Unbound ليكون الاستعلام مباشرًا من الجذر.


7. مشاكل بعد إعادة تشغيل الجهاز أو الشبكة

السبب المحتمل:

  • الجهاز يحصل على IP مختلف كل مرة، مما يؤدي إلى كسر إعدادات الشبكة.

الحل:

  • استخدم Static IP أو DHCP Reservation في الراوتر للجهاز الذي عليه DNS.

  • تأكد من أن عنوان الـ DNS لا يتغير.


هذه المشاكل تمثل أغلب ما قد تواجهه عند تشغيل DNS محلي. الخطوة الأخيرة هي الخاتمة، حيث نراجع بشكل سريع ما تم تحقيقه، ونحدد متى تكون هذه الخطوة مناسبة للمستخدم العادي ومتى تكون غير ضرورية.

10. خاتمة: هل فعلاً يستحق تشغيل DNS محلي في المنزل؟

تشغيل DNS Server محلي في الشبكة المنزلية ليس خطوة ضرورية للجميع، لكنه خيار ذكي ومفيد في عدة حالات، خاصة لمن يهتم بالتحكم الكامل، تحسين الأداء، وتعزيز الخصوصية.


متى يكون تشغيل DNS محلي خيارًا ممتازًا؟

  • إذا كنت تريد سرعة أكبر في تصفح المواقع التي تزورها باستمرار (بسبب التخزين المؤقت المحلي).

  • إذا كنت تبحث عن أداة فعالة لحجب الإعلانات والمواقع غير المرغوب فيها لكل الأجهزة دفعة واحدة.

  • إذا كنت تريد تسمية أجهزة شبكتك الداخلية بأسماء مفهومة بدل حفظ أرقام الـ IP.

  • إذا كنت تود مراقبة حركة الإنترنت في منزلك ومعرفة الأجهزة النشطة والمواقع المستهدفة.

  • إذا كنت تهتم بالخصوصية ولا ترغب بتمرير استعلامات DNS إلى مزودي الخدمة أو جهات خارجية.


متى يكون غير ضروري أو غير عملي؟

  • إذا كانت شبكتك صغيرة جدًا ولا تحتوي سوى على بضعة أجهزة.

  • إذا لم تكن مرتاحًا بالتعامل مع إعدادات الشبكة أو تحرير الملفات النصية.

  • إذا كنت تستخدم راوترًا بسيطًا لا يسمح بتغيير إعدادات DNS أو DHCP.

  • إذا كنت لا تحتاج إلى تحكم إضافي أو لا تهتم بحجب المحتوى.


الخلاصة

إنشاء DNS محلي في المنزل لا يتطلب معدات متطورة ولا معرفة متقدمة، ويمكن إنجازه على أي جهاز بسيط مثل Raspberry Pi أو حاسوب قديم. الأدوات مثل dnsmasq وPi-hole تجعل العملية في غاية البساطة، وتوفر واجهات مرئية وإعدادات مرنة.

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

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

حول المحتوى:

تعرف على كيفية تشغيل خادم DNS محلي في منزلك باستخدام أدوات مثل Pi-hole وdnsmasq. شرح مفصل للإعدادات، التحكم في الأسماء، حجب الإعلانات، وتسريع التصفح مع تحسين الخصوصية داخل شبكتك.