
- بواسطة x32x01 ||
الـ DNS (Domain Name System) هو زي دفتر عناوين الإنترنت
، وظيفته يحوّل أسماء النطاقات القابلة للقراءة (زي example.com) إلى عناوين IP رقمية (زي
من غير الـ DNS، المستخدمين هيبقوا محتاجين يحفظوا أرقام IP لكل موقع يزوروه
.
ازاي بيحصل الاستعلام على DNS؟
عملية حل الاسماء (DNS resolution) بتحصل كده خطوة خطوة:
ملاحظة: لو فيه forwarder أو cached answer، العملية ممكن تكون أسرع وتتجاوز بعض الخطوات
.
أنواع خوادم DNS ووظائفها
Public DNS Servers - وليه تستخدمهم؟
خوادم DNS عامة متاحة لأي حد على الإنترنت. أشهر الأمثلة:
مميزاتها:
عيوب/اعتبارات:
Private / Internal DNS Servers - ايه ومين يستخدمهم؟
خوادم DNS داخلية للشبكات المحلية، مش متاحة للعامة.
وظائفها:
مميزاتها:
عيوبها:
Split-Horizon / Split-View DNS
يعني نفس الاسم ممكن يرجع نتيجة مختلفة حسب مصدر الطلب:
أمان الـ DNS
تصميم عملي للمؤسسات
أوامر وأدوات للفحص والتشخيص
BIND options:
Zone file (مبسط):
Windows/AD DNS:

93.184.216.34
) والعكس صحيح.من غير الـ DNS، المستخدمين هيبقوا محتاجين يحفظوا أرقام IP لكل موقع يزوروه

ازاي بيحصل الاستعلام على DNS؟
عملية حل الاسماء (DNS resolution) بتحصل كده خطوة خطوة:- جهازك (stub resolver) يطلب اسم زي:
www.example.com
من recursive resolver (غالبًا عند مزود الإنترنت أو سيرفر داخلي). - لو الـ recursive resolver عنده النتيجة في الكاش، يرد على طول. لو لأ، يبدأ سلسلة استعلامات:
- يسأل root server → يدي مرجع لـ TLD servers (.com, .org…)
- يسأل TLD server → يدي مرجع لـ authoritative name server للنطاق.
- يسأل authoritative server → يرجع الـ A/AAAA/CNAME record.
- الـ recursive resolver يخزّن النتيجة في الكاش حسب الـ TTL ويرجعها لجهازك.
ملاحظة: لو فيه forwarder أو cached answer، العملية ممكن تكون أسرع وتتجاوز بعض الخطوات

أنواع خوادم DNS ووظائفها
- Root servers: أعلى مستوى، يوجّه الاستعلامات للـ TLD.
- TLD servers: تدير نطاقات المستوى الأعلى (.com, .org…).
- Authoritative name servers: المصدر الرسمي لسجلات النطاق (مثل
example.com
). - Recursive/caching resolvers: يبحثوا، يخزنوا النتائج، ويردوا للمستخدمين.
- Forwarders: خوادم داخلية تبعت الاستعلامات لسيرفرات خارجية بدل ما تعمل كل الاستعلام من الصفر.
- Stub resolvers: العميل على جهازك، يرسل الطلب للـ recursive resolver.
Public DNS Servers - وليه تستخدمهم؟
خوادم DNS عامة متاحة لأي حد على الإنترنت. أشهر الأمثلة: Code:
Google Public DNS: 8.8.8.8 , 8.8.4.4
Cloudflare DNS: 1.1.1.1 , 1.0.0.1
OpenDNS (Cisco): 208.67.222.222 , 208.67.220.220
مميزاتها:
- سرعة عالية
وموثوقية كبيرة (CDN وتقنيات كاش متقدمة).
- سهلة الإعداد: غير IP الـ resolver على جهازك أو الراوتر.
- بعضهم يوفر حماية: تصفية، مكافحة تصيّد، دعم DoT/DoH لتشفير الاستعلامات
.
عيوب/اعتبارات:
- الخصوصية: بعض المزودين يسجلوا الاستعلامات (logs).
- ممكن يتعارض مع سياسات الشركة الداخلية.
- لا يستطيع حل أسماء داخلية مثل
server.corp.local
.
Private / Internal DNS Servers - ايه ومين يستخدمهم؟
خوادم DNS داخلية للشبكات المحلية، مش متاحة للعامة.وظائفها:
- حل أسماء داخلية (زي dc01.corp.local).
- تكامل مع Active Directory (AD DNS) للخدمات زي Kerberos وGPO.
- إدارة سجلات داخلية واستخدام split-horizon لتقسيم الرؤية الداخلية والخارجية.
مميزاتها:
- تحكم كامل بالـ namespace والسياسات والسجلات.
- أمان أعلى، RPZ لحظر الدومينات الخبيثة.
- منع تسرب أسماء داخلية للعالم الخارجي.
عيوبها:
- مسؤولية إدارة، باك أب، تحديثات.
- لو مش معمول لها forwarders صح، ممكن تكون بطيئة للوصول للعالم الخارجي.
Split-Horizon / Split-View DNS
يعني نفس الاسم ممكن يرجع نتيجة مختلفة حسب مصدر الطلب:- داخل الشبكة:
app.example.com
→10.0.0.5
- من الإنترنت:
app.example.com
→ public IP
أمان الـ DNS
- DNSSEC: يضمن صحة البيانات ويمنع تزوير الاستجابات.
- TSIG: توقيع عمليات نقل النطاق بين الخوادم.
- تعطيل recursion على authoritative servers لو مش محتاجينها.
- Rate limiting لمنع هجمات DDoS عبر DNS.
- تشفير الاستعلامات: DoT وDoH لتحسين الخصوصية.
- RPZ: فلترة أو حظر أسماء خبيثة.
تصميم عملي للمؤسسات
- خوادم DNS داخلية للمستخدمين الداخليين (recursive resolvers).
- Conditional forwarding للنطاقات الخاصة بالسحابة أو البائعين.
- توجيه لمزودين موثوقين مثل
1.1.1.1
/8.8.8.8
. - منع zone transfers للعامة واستخدام TSIG بين master وslaves.
- تمكين سجلات ومراقبة لتحليل نشاط DNS.
- استخدام أسماء عامة للنطاق بدل .local لتحسين التوافق مع SSL وcloud.
أوامر وأدوات للفحص والتشخيص
Bash:
dig @8.8.8.8 example.com A +trace # تتبع المسار من root للـ authoritative
dig example.com @<internal-resolver> # استعلام خادم معين
nslookup example.com
host example.com
tcpdump -n port 53 # لمشاهدة حزم DNS
أمثلة تكوين بسيطة
BIND options:
Code:
options {
directory "/var/named";
recursion yes;
allow-query { localhost; 192.168.0.0/24; };
allow-transfer { none; };
forwarders { 1.1.1.1; 8.8.8.8; };
};
zone "corp.internal" IN {
type master;
file "corp.internal.zone";
allow-update { none; };
};
Zone file (مبسط):
Code:
$TTL 86400
@ IN SOA ns1.corp.internal. admin.corp.internal. (
2025092001 ; serial
3600 ; refresh
900 ; retry
604800 ; expire
86400 ) ; minimum
ns1 IN A 192.168.1.10
www IN A 192.168.1.20
Windows/AD DNS:
- افتح DNS Manager → New Zone → Primary zone → اضف سجلات A/PTR.
- للـ branch servers استخدم Conditional Forwarder لمزود DNS الداخلي.
التعديل الأخير: