لقد قمت بتحديث سجل. خادمك الجديد قيد التشغيل. تنتقل إلى نطاقك — ولا يزال بإمكانك رؤية الموقع القديم. أو أن شخصًا ما في بلد آخر يرى الموقع الجديد ولكنك لا ترى ذلك. أو كلاهما يحدث في وقت واحد لمستخدمين مختلفين.
هذا هو انتشار DNS. إنه ليس خطأ وليس أن المسجل الخاص بك بطيء. إليك بالضبط ما يحدث وكيفية إدارته.
ما هو انتشار DNS؟
DNS (نظام اسم المجال) هو قاعدة بيانات موزعة عالميًا تقوم بتعيين أسماء النطاقات إلى عناوين IP. إنه ليس خادمًا واحدًا، بل هو عبارة عن تسلسل هرمي لآلاف من وحدات الحل، يقوم كل منها بتخزين الإجابات مؤقتًا لفترة من الوقت.
عندما تقوم بتحديث سجل DNS، فإنك تقوم بتغيير البيانات الموجودة على جهازك خادم الأسماء الرسمي — الذي يتحكم فيه المسجل أو مزود DNS الخاص بك. لكن بقية الإنترنت لا تستعلم عن خادمك الرسمي مباشرة. يسألونهم محلل عودي محلي (يتم تشغيله عادةً بواسطة مزود خدمة الإنترنت أو خدمة DNS عامة مثل 1.1.1.1 أو 8.8.8.8)، والتي تحتوي على نسخة مخبأة خاصة بها من السجل الخاص بك.
النشر هو عملية انتهاء صلاحية تلك النسخة المخزنة مؤقتًا واستبدالها بسجلك الجديد.
سلسلة محلل DNS الكاملة
الفهم لماذا يستغرق النشر وقتًا ويتطلب فهم كيفية عمل استعلام DNS فعليًا:
الخطوة 1 — يتحقق متصفحك من ذاكرة التخزين المؤقت المحلية الخاصة به. تقوم المتصفحات الحديثة بتخزين نتائج DNS بشكل مستقل عن نظام التشغيل. يقوم Chrome بالتخزين المؤقت لمدة 60 ثانية؛ فايرفوكس يصل إلى قيمة TTL. chrome://net-internals/#dns يعرض ذاكرة التخزين المؤقت الحالية لمتصفح Chrome.
الخطوة 2 — يقوم محلل نظام التشغيل لديك بالتحقق من ذاكرة التخزين المؤقت الخاصة به. تحتفظ أنظمة التشغيل Windows وmacOS وLinux بذاكرة تخزين مؤقت محلية لنظام أسماء النطاقات (يتم مسحها باستخدام ipconfig /flushdns, dscacheutil -flushcacheأو resolvectl flush-caches على التوالي).
الخطوة 3 - يتم الاستعلام عن محلل التكرار الخاص بك. هذا هو عادةً محلل مزود خدمة الإنترنت الخاص بك، 1.1.1.1, 8.8.8.8أو خادم DNS للشركات. لديه ذاكرة تخزين مؤقت خاصة به، منفصلة عن ذاكرة التخزين المؤقت الخاصة بك، ومشتركة بين جميع مستخدميه. إذا كان 10000 شخص يستخدمون نفس محلل مزود خدمة الإنترنت، فإن إجابة واحدة مخزنة مؤقتًا تخدمهم جميعًا.
الخطوة 4 - يسير المحلل العودي في التسلسل الهرمي (إذا كانت ذاكرة التخزين المؤقتة فارغة). فهو يطلب خادم أسماء جذر لـ TLD، وخادم TLD لخادم الأسماء المعتمد، ثم الخادم المعتمد لسجلك. يقوم بتخزين الإجابة باستخدام TTL الذي حددته.
الانتشار بطيء للأسباب التالية: الخطوة 4 تعمل فقط عند انتهاء صلاحية ذاكرة التخزين المؤقت للمحلل. وحتى ذلك الحين، فإنه يقدم الإجابة القديمة المخزنة مؤقتًا — بغض النظر عما قمت بتغييره على الخادم المعتمد.
TTL: الرقم الذي يتحكم في كل شيء
TTL (مدة البقاء) هي القيمة التي تحددها في كل سجل DNS، ويتم قياسها بالثواني. إنه يخبر المحللين بمدة تخزين السجل الخاص بك في ذاكرة التخزين المؤقت قبل إعادة الاستعلام عن الخادم المعتمد.
قيم TTL الشائعة:
| تل | ثواني | الاستخدام النموذجي |
|---|---|---|
| 1 دقيقة | 60 | الهجرات النشطة والاختبار |
| 5 دقائق | 300 | ما قبل الهجرة (ضبط قبل 24 ساعة) |
| 15 دقيقة | 900 | السجلات التي يتم تغييرها بشكل متكرر |
| 1 ساعة | 3600 | قياسي لمعظم السجلات |
| 4 ساعات | 14400 | سجلات مستقرة |
| 24 ساعة | 86400 | الافتراضي للعديد من مقدمي الخدمة |
| 48 ساعة | 172800 | سجلات خادم الأسماء (NS). |
يحدد TTL الذي قمت بتعيينه الحد الأقصى نافذة الانتشار. ولكن هناك صيد.
السر القذر حول TTL: يتجاهل العديد من مزودي خدمات الإنترنت قيم TTL المنخفضة. لا يستطيع المحلل الذي يخدم ملايين المستخدمين إعادة الاستعلام كل 60 ثانية عن النطاقات ذات حركة المرور العالية. يفرض البعض الحد الأدنى لوقت التخزين المؤقت وهو 5 دقائق بغض النظر عما تعلنه. وهذا يعني أن مدة البقاء (TTL) المنخفضة جدًا (60-300 ثانية) تتصرف بشكل أشبه بمدة البقاء (TTL) لمدة 5 دقائق في الممارسة العملية بالنسبة لجزء من وحدات الحل.
TTL لمدة 24 ساعة يعني أن بعض المستخدمين قد يرون سجلك القديم لمدة 24 ساعة كاملة بعد إجراء التغيير - حتى إذا قمت بتغييره مباشرة بعد انتهاء صلاحية TTL السابقة.
ما المدة التي يستغرقها نشر DNS فعليًا؟
مع TTL القياسي لمدة ساعة واحدة، إليك ما يمكن توقعه:
- جهازك المحلي: شبه فوري بعد مسح ذاكرة التخزين المؤقت
- أجهزة الحل من نفس المدينة: 5–30 دقيقة (استعلامات المحلل موثوقة عند انتهاء صلاحية ذاكرة التخزين المؤقت الخاصة به)
- DNS العام الرئيسي (8.8.8.8، 1.1.1.1): عادة 10-60 دقيقة
- الانتشار العالمي: 1-4 ساعات لمعظم المستخدمين
- مزودو خدمة الإنترنت البطيئون/الخارجون: حتى 8-12 ساعة
الرقم "حتى 48 ساعة" الذي تراه في كل مكان ممكن من الناحية الفنية ولكنه نادر بشكل متزايد بالنسبة لسجلات A وCNAME مع TTLs العادية. إنه أكثر دقة بالنسبة لتغييرات سجل NS (خادم الأسماء)، التي تحتوي على TTLs أطول وتنتشر عبر طبقة الجذر/TLD.
لماذا 48 ساعة تحديداً؟ غالبًا ما تحتوي سجلات NS على TTLs تم تعيينها بواسطة السجل (وليس أنت)، عادةً من 24 إلى 48 ساعة. عندما تقوم بتغيير خوادم الأسماء الخاصة بك لدى المسجل الخاص بك، فإنك تنتظر تحديث سجل TLD - وينتشر هذا التحديث عبر خوادم الجذر في جميع أنحاء العالم. يستغرق هذا المسار وقتًا أطول من تغيير السجل البسيط داخل خادم أسماء ثابت.
النهج الاحترافي: قم بخفض مدة البقاء (TTL) مسبقًا
أكبر خطأ يرتكبه الأشخاص في عمليات ترحيل DNS: تغيير السجلات دون خفض TTL أولاً.
العملية الصحيحة للهجرات المخططة:
- 48 ساعة قبل الهجرة: خفض مدة البقاء (TTL) إلى 300 ثانية (5 دقائق) على جميع السجلات التي تخطط لتغييرها
- انتظر TTL الحالي الكامل قبل نافذة الترحيل (امنح المحللين وقتًا لالتقاط TTL القصير الجديد)
- قم بإجراء تغييرات على السجل الخاص بك — يستغرق النشر الآن 5 دقائق كحد أقصى بدلاً من 24 ساعة
- بعد استقرار الهجرة: رفع TTL مرة أخرى إلى 3600 أو أعلى
هذا هو الفرق بين نافذة انتشار مدتها 5 دقائق ونافذة انتشار مدتها 24 ساعة. يقوم كل متخصص في DNS بذلك. يتعلم معظم المبتدئين بالطريقة الصعبة.
كيفية التحقق من انتشار DNS الآن
الطريقة الأسرع: استخدم مدقق انتشار DNS — يستعلم عن نطاقك من مواقع جغرافية متعددة في وقت واحد ويوضح ما إذا كانت كل منطقة تقوم بإرجاع سجلك القديم أو الجديد.
ما الذي تبحث عنه:
- أخضر / عناوين IP المطابقة: تلك المناطق ترى رقمك القياسي الجديد
- عنوان IP القديم لا يزال يظهر: هؤلاء المحللون لم تنته صلاحية ذاكرة التخزين المؤقت الخاصة بهم بعد
- نتائج مختلطة: طبيعي أثناء الانتشار — ترى بعض المناطق الجديد وبعضها القديم
التحقق عبر سطر الأوامر إذا كنت تريد التحقق من الإجابة الرسمية مباشرة (تجاوز أي ذاكرة تخزين مؤقت):
# Query a specific DNS server directly (bypasses your local cache)
nslookup example.com 8.8.8.8
nslookup example.com 1.1.1.1
# On Linux/macOS — dig gives more detail
dig example.com @8.8.8.8
dig example.com @1.1.1.1
# Check the TTL of your current record
dig example.com | grep -i ttl
# Query the authoritative nameserver directly (no cache)
dig example.com @ns1.yourprovider.com
إذا dig @ns1.yourprovider.com يظهر الرقم القياسي الجديد الخاص بك ولكن dig @8.8.8.8 لا يزال يعرض القديم، تغييرك صحيح — أنت فقط تنتظر انتهاء صلاحية ذاكرة التخزين المؤقت للمحلل العودي.
امسح ذاكرة التخزين المؤقت لنظام أسماء النطاقات المحلي لديك للتوقف عن رؤية البيانات القديمة على جهازك الخاص:
# Windows
ipconfig /flushdns
# macOS (Sequoia / Sonoma)
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
# Linux (systemd-resolved)
sudo resolvectl flush-caches
# Chrome browser cache only
# Navigate to: chrome://net-internals/#dns → click "Clear host cache"
ملاحظة: لا يساعد مسح ذاكرة التخزين المؤقت المحلية إذا كان محلل مزود خدمة الإنترنت الخاص بك لا يزال يحتفظ بالإجابة القديمة مؤقتًا. سيقوم جهازك بإعادة الاستعلام عن محلل مزود خدمة الإنترنت الخاص بك وسيحصل على الإجابة القديمة مرة أخرى.
سيناريوهات انتشار DNS الشائعة
السيناريو 1: ترحيل موقع الويب إلى خادم جديد
أنت تنتقل من المضيف القديم → المضيف الجديد. سجل قديم: 203.0.113.10. جديد: 198.51.100.20.
ماذا يحدث أثناء الانتشار: مستخدمًا لديهم سجل قديم مخبأ على الخادم القديم. يرى المستخدمون الذين تم تحديث وحدات الحل الخاصة بهم الخادم الجديد. يجب أن يتم تشغيل كلا الخادمين وتقديم نفس المحتوى حتى اكتمال النشر. إذا قمت بإيقاف تشغيل الخادم القديم في وقت مبكر جدًا، فسيحصل المستخدمون الذين لديهم ذاكرة تخزين مؤقت قديمة على أخطاء.
التخفيف: إبقاء الخادم القديم على قيد الحياة لمدة TTL كاملة واحدة على الأقل بعد التغيير. إذا كانت مدة البقاء الأصلية 24 ساعة، فاحتفظ بالخادم القديم لمدة 24 ساعة بعد التغيير.
السيناريو 2: ترحيل موفر البريد الإلكتروني (سجل MX)
تؤثر تغييرات سجل MX على مكان تسليم البريد الإلكتروني الوارد. قد تصل رسائل البريد الإلكتروني المرسلة أثناء النشر إلى خادم البريد القديم أو الجديد اعتمادًا على سجل MX الذي حله خادم الإرسال.
المخاطر: يتم تسليم رسائل البريد الإلكتروني إلى الخادم القديم بعد توقفك عن مراقبتها. إصلاح: قم بتكوين خادم البريد القديم لإعادة التوجيه إلى خادم جديد لمدة أسبوع بعد الترحيل، أو اجعل صناديق البريد القديمة قابلة للوصول أثناء نافذة TTL.
السيناريو 3: CDN أو قطع موازن التحميل (تغيير CNAME)
عادةً ما يتم نشر سجلات CNAME التي تشير إلى CDN أو موازن التحميل بشكل أسرع من سجلات A - يقوم CNAME نفسه بالتخزين المؤقت، ولكن يمكن أن يتغير عنوان IP الأساسي الذي ترجعه CDN بسرعة دون التأثير على نشر السجل الخاص بك.
احترس من: تسطيح CNAME. يقوم بعض موفري DNS "بتسوية" سجلات CNAME في قمة المنطقة (استبدال CNAME بالسجل A الذي يحل له). يمكن أن يتسبب هذا في حدوث سلوك غير متوقع أثناء عمليات الترحيل إذا قام الموفر بتخزين عنوان IP المسطح مؤقتًا.
السيناريو 4: تغيير خادم الأسماء (سجل NS).
أبطأ أنواع الانتشار. يتم تخزين سجلات خادم الأسماء على مستوى تسجيل TLD (.com, .net، وما إلى ذلك) مع TTLs التي تم تعيينها بواسطة السجل، عادةً من 24 إلى 48 ساعة. لا يمكنك التحكم في TTL هذا.
عندما تقوم بتغيير خوادم الأسماء لدى المسجل الخاص بك:
- يقوم المسجل الخاص بك بإخطار سجل TLD
- يقوم السجل بتحديث التفويض
- ينتشر تحديث التسجيل عبر خوادم الأسماء الجذرية في جميع أنحاء العالم
توقع 12-48 ساعة للانتشار الكامل. لا توجد خدعة مسبقة لخفض TTL تساعد هنا.
قائمة التحقق من استكشاف الأخطاء وإصلاحها
1. تأكد من صحة السجل الجديد على <strong>الخادم المعتمد</strong>: <code>dig example.com @ns1.yourprovider.com</code><br> 2. تحقق مما تراه وحدات الحل العامة المتعددة: <a href="/dns-propagation.php">أداة نشر DNS →</a><br> 3. امسح ذاكرة التخزين المؤقت المحلية (الأوامر أعلاه) - ربما تكون كذلك رؤية ذاكرة التخزين المؤقت القديمة الخاصة بك<br> 4. تحقق من TTL الخاص بك: <code>dig example.com | grep TTL</code> - إذا كان 86400، فأنت تنتظر ما يصل إلى 24 ساعة<br> 5. إذا أظهر المخوَّل أنه صحيح ولكن أدوات الحل لا تظهر: انتظر حتى انتهاء صلاحية TTL - فلا يوجد شيء آخر يمكنك فعله<br> 6. إذا أظهر المخوَّل سجلًا خاطئًا: فقد أجريت التغيير في الموفر الخطأ، أو لم يحفظه
نشر DNS مقابل تكرار DNS: الفرق
غالباً ما يتم الخلط بين هؤلاء. إنها مرتبطة ولكنها متميزة:
نشر DNS = انتظار انتهاء صلاحية ذاكرة التخزين المؤقت للمحلل العودي وإعادة الاستعلام. هذا هو التأخير الذي تواجهه كمستخدم. لا يمكنك إجباره. لا يمكنك تقليله إلا عن طريق خفض TTL مسبقًا.
نسخ DNS = المزامنة بين خوادم أسماء موثوقة متعددة لنفس المنطقة (على سبيل المثال، ns1.provider.com و ns2.provider.com). يقوم معظم موفري DNS بالنسخ المتماثل في غضون ثوانٍ. إذا قمت بإجراء تغيير ولم يظهر على خوادم الأسماء الخاصة بمزود الخدمة الخاص بك في غضون 5 دقائق، فهذه مشكلة من جانب المزود - اتصل بالدعم.
الأدوات
- مدقق انتشار DNS → — تحقق من السجل الخاص بك من مناطق متعددة
- بحث DNS → — الاستعلام عن أي نوع سجل (A، AAAA، MX، TXT، CNAME، NS)
- ما هو خادم DNS الخاص بي → — ابحث عن برنامج التحليل الذي يستخدمه جهازك
- شرح DNS عبر HTTPS → — كيف يعمل DNS المشفر الحديث
- دليل مسح ذاكرة التخزين المؤقت لنظام أسماء النطاقات → — أوامر مسح ذاكرة التخزين المؤقت الخاصة بالمنصة