محلل DNS

البروتوكولات والمعايير
خادم يستقبل استعلامات DNS ويجلب إجاباتها من الخوادم الموثوقة.
← العودة إلى القاموس

ما هو محلل DNS؟

محلل DNS، ويُسمى أيضاً المحلل التكراري أو خادم DNS التكراري، هو خادم يستقبل استعلامات DNS من أجهزة العملاء ويبحث عن عنوان IP المرتبط باسم نطاق. يعمل المحلل وسيطاً بين العملاء وتسلسل DNS، ويتولى التكرار عبر خوادم الجذر وTLD وخوادم الأسماء الموثوقة.

كيف تعمل محللات DNS؟

عملية الحل

عندما تكتب «example.com» في متصفحك:

1. Client → Resolver: "What's the IP for example.com?"

2. Resolver checks cache

→ Cache hit: Return cached result

→ Cache miss: Begin recursion

3. Resolver → Root Server: "Where's .com?"

Root → Resolver: "Ask these .com nameservers"

4. Resolver → .com TLD: "Where's example.com?"

.com → Resolver: "Ask these nameservers"

5. Resolver → Authoritative NS: "What's example.com's IP?"

Auth NS → Resolver: "203.0.113.50"

6. Resolver → Client: "203.0.113.50"

(Also caches result based on TTL)

الاستعلامات التكرارية مقابل التتابعية

الاستعلام التكراري (العميل ← المحلل):
Client: "Give me the final answer for example.com"

Resolver: "Here's the IP: 203.0.113.50"

(Resolver does all the work)

الاستعلام التتابعي (المحلل ← خوادم الأسماء):
Resolver: "What's example.com?"

Root: "I don't know, ask .com servers"

Resolver: "What's example.com?"

.com: "I don't know, ask ns1.example.com"

Resolver: "What's example.com?"

ns1: "203.0.113.50"

أنواع المحللات

المحلل الوسيط Stub

يكون مدمجاً في أنظمة التشغيل والتطبيقات:

أمثلة: عميل DNS في نظام التشغيل، ومكتبات DNS في التطبيقات

المحلل التكراري

خادم كامل الوظائف ينفذ حل DNS بالكامل:

أمثلة: DNS لدى مزود الإنترنت، وGoogle (8.8.8.8)، وCloudflare (1.1.1.1)

المحلل المُمرِّر

يمرر الاستعلامات إلى محلل آخر بدلاً من تنفيذ التكرار:

Client → Corporate Resolver (forwarding) → ISP Resolver (recursive) → Internet

المحللات العامة الشائعة

المزودIPv4IPv6الميزات
Cloudflare1.1.1.1، 1.0.0.12606:4700:4700::1111سريع، يركز على الخصوصية، بلا تسجيل
Google8.8.8.8، 8.8.4.42001:4860:4860::8888موثوق، Anycast عالمي
Quad99.9.9.92620:fe::feتصفية أمنية وحظر التهديدات
OpenDNS208.67.222.2222620:119:35::35تصفية المحتوى وحماية من التصيد

تغيير المحلل

Windows:
Control Panel → Network → Adapter Settings

→ Properties → IPv4 → Use these DNS servers:

Preferred: 1.1.1.1

Alternate: 8.8.8.8

macOS:
System Preferences → Network → Advanced → DNS

→ Add: 1.1.1.1, 8.8.8.8

Linux (/etc/resolv.conf):
nameserver 1.1.1.1

nameserver 8.8.8.8

ميزات المحلل

التخزين المؤقت

تخزن المحللات استجابات DNS وفق TTL:

First query: example.com

→ Full recursion (50ms)

→ Cached for 300s (TTL)

Subsequent queries: example.com

→ Cache hit (1ms)

→ Served until TTL expires

غالباً ما تتجاوز إحصاءات التخزين المؤقت، أي معدلات إصابة الذاكرة، 80 إلى 90%.

التخزين المؤقت السلبي

تخزن المحللات أيضاً الاستجابات السلبية (NXDOMAIN):

Query: nonexistent.example.com

Response: NXDOMAIN

Cached: Based on SOA minimum TTL

يمنع ذلك تكرار الاستعلامات عن النطاقات غير الموجودة.

تقليل الاستعلامات

تقلل المحللات الحديثة إفشاء المعلومات:

الأسلوب التقليدي:
Query to .com: "What's www.blog.example.com?"

→ Exposes full subdomain structure

تقليل الاستعلامات (RFC 7816):
Query to .com: "What's example.com?"

Query to example.com NS: "What's blog.example.com?"

Query to blog.example.com NS: "What's www.blog.example.com?"

→ Reveals only necessary information at each level

التحقق من DNSSEC

تتحقق المحللات الواعية بالأمان من توقيعات DNSSEC:

Query: example.com (DNSSEC-signed)

→ Resolver validates signatures

→ Returns AD (Authentic Data) flag if valid

→ Returns SERVFAIL if signatures invalid

ميزات أمان المحلل

DNS عبر HTTPS (DoH)

يشفر استعلامات DNS عبر HTTPS:

Traditional DNS:

Client → Resolver (UDP port 53, plaintext)

DNS over HTTPS:

Client → Resolver (TCP port 443, encrypted)

المزودون: Cloudflare (https://cloudflare-dns.com/dns-query)، وGoogle

DNS عبر TLS (DoT)

يشفر استعلامات DNS عبر TLS:

Client → Resolver (TCP port 853, encrypted)
الفائدة: لا يستطيع مزودو الإنترنت رؤية استعلامات DNS أو تعديلها.

تصفية البرمجيات الخبيثة والتصيد

تحظر بعض المحللات النطاقات الخبيثة المعروفة:

Quad9 (9.9.9.9): يحظر النطاقات المرتبطة بالبرمجيات الخبيثة والتصيد. Cloudflare للعائلات: يحظر البرمجيات الخبيثة (1.1.1.2)، أو البرمجيات الخبيثة والمحتوى للبالغين (1.1.1.3).

تقييد المعدل

يحمي من هجمات تضخيم DNS:

If source IP sends > threshold queries/second:

→ Temporarily rate limit or block

التحقق من المحلل الحالي

Windows:
ipconfig /all | findstr "DNS Servers"
macOS وLinux:
cat /etc/resolv.conf
أدوات الإنترنت: يعرض browserleaks.com/dns المحلل الذي يستخدمه متصفحك. اختبار الحل:
dig example.com

# Look at "SERVER:" in output

أداء المحلل

أهمية الكمون

يؤثر زمن استجابة المحلل في أداء الويب:

المحللالكمون المتوسطالأثر
مزود الإنترنت المحلي10-30msسريع لكنه متغير
Cloudflare10-20msسريع باستمرار، بفضل Anycast
Google20-40msموثوق وعالمي
محلل بطيء100-200msيؤخر تحميل الصفحة بوضوح

توجيه Anycast

تستخدم المحللات الكبرى Anycast لخفض الكمون:

1.1.1.1 anycast IP

→ Routed to nearest Cloudflare datacenter

→ New York query → New York datacenter

→ London query → London datacenter

→ Result: Global low-latency resolution

قياس أداء المحلل

باستخدام Namebench (اختبار آلي):
# Tests multiple resolvers with your actual query patterns

namebench

اختبار يدوي:
# Test Cloudflare

time dig @1.1.1.1 example.com

# Test Google

time dig @8.8.8.8 example.com

# Test ISP (current)

time dig example.com

مشكلات المحلل الشائعة

تسميم DNS

يحقن المهاجمون سجلات زائفة في ذاكرة المحلل:

التخفيف:

اختطاف المحلل

يعيد مزودو الإنترنت أو البرمجيات الخبيثة توجيه استعلامات DNS:

العرض: تظهر إعلانات مزود الإنترنت في نتائج البحث أو تحدث عمليات إعادة توجيه غير متوقعة. الحل:

ذاكرة مؤقتة قديمة

يحتفظ المحلل بسجلات قديمة:

العرض: لا تظهر تغييرات DNS. الحل:

حظر المحلل

تحظر بعض الشبكات المحللات الخارجية:

العرض: تعذر الوصول إلى 8.8.8.8 أو 1.1.1.1. الحل:

إعداد محلل محلي

استخدام Unbound

# Install Unbound (Linux)

sudo apt install unbound

# Basic config (/etc/unbound/unbound.conf)

server:

interface: 127.0.0.1

do-ip4: yes

do-udp: yes

do-tcp: yes

# Enable DNSSEC

auto-trust-anchor-file: "/var/lib/unbound/root.key"

# Privacy (query minimization)

qname-minimisation: yes

# Start service

sudo systemctl start unbound

sudo systemctl enable unbound

استخدام Pi-hole

محلل DNS يحظر الإعلانات على مستوى الشبكة كلها:

# Install Pi-hole

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

# Configure devices to use Pi-hole as resolver

# Set router DHCP to provide Pi-hole IP as DNS

أفضل الممارسات

1. استخدم محللات عامة موثوقة: Cloudflare أو Google أو Quad9 للموثوقية.

2. فعّل DoH أو DoT: شفّر الاستعلامات للخصوصية والأمان.

3. راعِ ميزات المحلل: اختر وفق احتياجات الخصوصية أو السرعة أو الأمان.

4. راقب أداء المحلل: اختبر الكمون دورياً.

5. وفّر محللات احتياطية: اضبط DNS ثانوياً للتكرار.

6. استخدم محللات تتحقق من DNSSEC: احمِ من تسميم الذاكرة المؤقتة.

7. افهم سياسات المحلل: بعض المحللات تصفي المحتوى وأخرى تسجل الاستعلامات.

8. اختبر بعد التغييرات: تحقق من أن حل DNS يعمل بصورة صحيحة.

9. وثّق اختيار المحلل: سجّل سبب اختيار محلل محدد.

10. حدّث resolv.conf بحذر: قد يؤدي الإعداد الخاطئ إلى تعطيل DNS بالكامل.

المحلل مقابل خادم الأسماء الموثوق

الميزةالمحللخادم الأسماء الموثوق
الدوريجيب عن استعلامات العملاءيحتفظ بسجلات DNS الفعلية
التكرارنعم، يستعلم من خوادم أخرىلا، يجيب فقط عن مناطقه
التخزين المؤقتنعم، يخزن الاستجاباتلا، بيانات موثوقة
يستخدمهالعملاء والمستخدمون النهائيونالمحللات أثناء التكرار
أمثلة8.8.8.8 و1.1.1.1ns1.example.com

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

استفد من هذه المعرفة

استخدم API الخاص بـ DomScan للتحقق من توفر النطاقات وصحتها والمزيد.