انتشار DNS: چرا تغییرات DNS زمان می‌برد و چطور بررسی کنیم | Check Host

رکورد DNS را عوض کرده‌اید و بعضی‌ها هنوز قدیمی را می‌بینند؟ ببینید TTL و کش ریزالورها چطور باعث «انتشار» می‌شوند و چطور آن را در سراسر جهان بررسی کنید.

دامنه‌تان را به سرور جدید اشاره داده‌اید، اما نیمی از کاربران هنوز به سرور قدیمی می‌رسند. به این تأخیر انتشار DNS می‌گویند. در واقع چیزی منتشر نمی‌شود — پاسخ‌های قدیمی در کش‌های سراسر جهان نشسته‌اند و منتظرند منقضی شوند.

واقعاً چه اتفاقی می‌افتد

وقتی کسی دامنه شما را باز می‌کند، دستگاهش از یک ریزالور بازگشتی (مال ISP یا یک ریزالور عمومی مثل 1.1.1.1 یا 8.8.8.8) سؤال می‌کند. آن ریزالور یک بار از نیم‌سرورهای معتبر شما می‌پرسد و پاسخ را تا زمانی که TTL رکورد اجازه می‌دهد در کش نگه می‌دارد. تا وقتی TTL تمام نشود، هر کسی که از آن ریزالور استفاده کند پاسخ قدیمی و کش‌شده را می‌گیرد.

پس حداکثر تأخیر یک تغییر تقریباً برابر با TTL قبلی رکورد است. رکوردی با TTL برابر 86400 ثانیه ممکن است تا یک روز طول بکشد تا همه‌جا به‌روز شود؛ رکوردی با TTL برابر 300 حدود پنج دقیقه.

چطور تغییرات را سریع اعمال کنیم

  1. یک روز قبل از تغییر، TTL رکورد را به 300 ثانیه کاهش دهید.
  2. صبر کنید تا TTL طولانی قبلی منقضی شود.
  3. تغییر را اعمال کنید. حالا کش‌ها ظرف چند دقیقه تازه می‌شوند.
  4. وقتی همه چیز درست بود، TTL را دوباره بالا ببرید.

تغییر نیم‌سرورها بیشتر طول می‌کشد

تغییر نیم‌سرورهای یک دامنه (نزد ثبت‌کننده) پای سرورهای دامنه سطح بالا (TLD) را وسط می‌کشد که TTL رکوردهای NS آن‌ها معمولاً یک تا دو روز است. تا ۴۸ ساعت را در نظر بگیرید.

بررسی انتشار در سراسر جهان

جستجوی DNS رکورد شما را هم‌زمان از ریزالورهای کشورهای مختلف می‌پرسد، تا ببینید کدام مکان‌ها مقدار جدید را برمی‌گردانند و کدام‌ها هنوز مقدار قدیمی را. می‌توانید رکوردهای A، AAAA، CNAME، MX، TXT، NS، SOA و PTR را بپرسید و یک ریزالور خاص انتخاب کنید.

مواردی که معمولاً بعد از تغییر بررسی می‌شوند:

هنوز روی سیستم خودتان پاسخ قدیمی را می‌بینید؟

کامپیوتر و مرورگر شما هم DNS را کش می‌کنند. کش را پاک کنید (در ویندوز ipconfig /flushdns، در بیشتر لینوکس‌ها sudo resolvectl flush-caches، در macOS دستور sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder) یا با ریزالور دیگری تست کنید. سپس با یک بررسی سایت مطمئن شوید که خود سایت از سرور جدید پاسخ می‌دهد.