
مدت زمان تغییر dns | ست شدن DNS ها چقدر زمان می برد؟
تغییر DNS دامنه یکی از کارهایی است که دیر یا زود هر وبمستر یا صاحب وبسایتی با آن سروکار پیدا میکند. اما سوالی که همیشه مطرح میشود این است که این تغییرات چقدر زمان میبرد تا در سراسر اینترنت اعمال شود؟
تفاوتی ندارد؛ اگر قصد طراحی وبسایت خبری دارید یا میخواهید با استفاده از یک فروشگاه ساز اینترنتی مانند شاپفا، کسبوکار آنلاین خود را راهاندازی کنید، در هر صورت باید در قدم اول دامنه خود را به سرویس میزبانی یا پلتفرم خود متصل کنید. این کار معمولاً از طریق تغییر نیم سرورهای دامنه انجام میشود. این فرایند که به آن انتشار DNS یا ست شدن DNS گفته میشود، میتواند از چند دقیقه تا چند روز طول بکشد و درک عوامل موثر بر آن، برای مدیریت بهتر وبسایت ضروری است.
DNS چیست و چرا تغییر آن زمانبر است؟
سیستم نام دامنه یا DNS (Domain Name System) مانند دفترچه تلفن اینترنت عمل میکند. وقتی شما آدرس وبسایتی مانند www.example.com را در مرورگر خود وارد میکنید، مرورگر برای پیدا کردن آدرس IP سروری که آن وبسایت روی آن میزبانی میشود، باید از DNS کمک بگیرد. سرورهای DNS در سراسر جهان پراکنده هستند و وظیفه ترجمه نامهای دامنه قابلفهم برای انسان به آدرسهای IP قابلفهم برای ماشین را بر عهده دارند.
هنگامی که شما نیم سرورهای (Nameservers) دامنه خود را تغییر میدهید (مثلاً هنگام تغییر شرکت هاستینگ)، این اطلاعات جدید باید در سرورهای DNS مختلف در سراسر جهان بهروزرسانی شود. این بهروزرسانی یکباره و آنی نیست، بلکه فرایندی تدریجی است که به آن انتشار DNS (DNS Propagation) میگویند. دلیل زمانبر بودن این فرایند، وجود مکانیزم کشینگ (Caching) در سطوح مختلف شبکه اینترنت است.
نقش کشینگ (Caching) در زمان انتشار DNS
برای افزایش سرعت دسترسی به وبسایتها و کاهش بار روی سرورهای DNS اصلی، اطلاعات DNS برای مدت زمان مشخصی در حافظههای موقت یا کش (Cache) ذخیره میشوند. این کشینگ در سطوح مختلفی اتفاق میافتد:
- کش مرورگر: مرورگر وب شما اطلاعات DNS وبسایتهایی که اخیراً بازدید کردهاید را برای دسترسی سریعتر ذخیره میکند.
- کش سیستمعامل: سیستمعامل کامپیوتر شما نیز یک کش DNS محلی دارد.
- کش روتر: روتر خانگی یا اداری شما ممکن است اطلاعات DNS را کش کند.
- کش سرورهای DNS بازگشتی (Recursive DNS Servers): مهمترین سطح کشینگ مربوط به سرورهای DNS شرکت ارائهدهنده اینترنت (ISP) شماست. این سرورها به تعداد زیادی کاربر سرویس میدهند و برای بهبود عملکرد، رکوردهای DNS را برای مدت طولانیتری کش میکنند.
وقتی شما DNS دامنه خود را تغییر میدهید، سرورهای DNS مختلف در سراسر جهان بلافاصله از این تغییر مطلع نمیشوند. هر سرور DNS (بهخصوص سرورهای بازگشتی ISPها) تا زمانی که مدت زمان اعتبار کش (معروف به TTL) رکورد قبلی به پایان نرسد، همچنان از اطلاعات قدیمی استفاده میکند.
TTL یا Time To Live چیست؟
TTL (Time To Live) یک مقدار زمانی (معمولاً به ثانیه) است که برای هر رکورد DNS تعریف میشود. این مقدار به سرورهای DNS این پیام را میفرستد:
قبل از استعلام دوباره برای دریافت نسخه بهروز شده از سرور DNS معتبر (Authoritative DNS Server)، چه مدت میتوانند آن رکورد را در کش خود نگه دارند.
مقدار TTL توسط مدیر دامنه یا هاستینگ تنظیم میشود. مقادیر رایج TTL عبارتند از:
- 3600 ثانیه (1 ساعت): مقدار رایج برای بسیاری از رکوردها.
- 14400 ثانیه (4 ساعت): مناسب برای رکوردهایی که کمتر تغییر میکنند.
- 86400 ثانیه (24 ساعت): برای رکوردهای بسیار پایدار.
- 600 ثانیه (10 دقیقه) یا کمتر: معمولاً قبل از انجام تغییرات مهم DNS تنظیم میشود تا سرعت انتشار افزایش یابد.
هرچه مقدار TTL کمتر باشد، سرورهای DNS زودتر اطلاعات کش شده را کنار گذاشته و اطلاعات جدید را درخواست میکنند و در نتیجه، انتشار DNS سریعتر اتفاق میافتد. با این حال، TTL خیلی پایین میتواند باعث افزایش بار روی سرورهای DNS معتبر شود.
مدت زمان معمول انتشار یا تغییر DNS چقدر است؟
به طور کلی، فرایند کامل انتشار DNS میتواند بین چند دقیقه تا 72 ساعت طول بکشد. اما در بیشتر موارد، این تغییرات طی 4 تا 24 ساعت در بخش عمدهای از اینترنت منتشر میشود.
عوامل اصلی تعیینکننده این زمان عبارتند از:
- مقدار TTL رکوردهای DNS قدیمی: مهمترین عامل است. اگر TTL رکورد قبلی 24 ساعت بوده، ممکن است برخی ISPها تا 24 ساعت همچنان اطلاعات قدیمی را نشان دهند.
- تنظیمات کشینگ ISPها: برخی ISPها ممکن است تنظیمات کش خود را طوری پیکربندی کنند که TTL را نادیده گرفته و رکوردها را برای مدت طولانیتری نگه دارند. این موضوع میتواند باعث تأخیر بیشتر در مشاهده تغییرات برای کاربران آن ISP خاص شود.
- موقعیت جغرافیایی: کاربران در نقاط مختلف جهان ممکن است با سرعتهای متفاوتی تغییرات را مشاهده کنند، زیرا بهروزرسانی در سرورهای DNS جهانی به صورت تدریجی انجام میشود.
- نوع دامنه (برای دامنههای خاص مانند .ir): برخی کارگزاران ثبت دامنه، مانند ایرنیک برای دامنههای .ir، قوانین خاصی برای زمانبندی بهروزرسانی DNS دارند.
بیشتر بخوانید: آموزش ساخت سایت با دامنه ir
انتشار DNS برای دامنههای ir
در مورد دامنههای ملی ایران (ir)، پایگاه فیزیک نظری (ایرنیک) به عنوان مرجع ثبت، زمانبندی مشخصی برای اعمال تغییرات DNS دارد. برخلاف دامنههای بینالمللی که تغییرات معمولاً به محض ثبت توسط رجیسترار، شروع به انتشار میکنند، برای دامنههای ir بهروزرسانی DNS فقط در ساعات مشخصی انجام میشود.
طبق اطلاعات موجود، این بهروزرسانیها معمولاً در ساعات 10، 14، 18 و 22 هر روز صورت میگیرد. این بدان معناست که اگر شما DNS دامنه ir خود را مثلاً در ساعت 9 صبح تغییر دهید، این تغییر تازه در ساعت 10 صبح توسط ایرنیک اعمال و سپس فرایند انتشار آن در سطح اینترنت آغاز میشود. اگر تغییر را ساعت 10:30 صبح انجام دهید، باید تا ساعت 14 منتظر بمانید تا اعمال شود. این زمانبندی میتواند به کل زمان انتشار DNS برای دامنههای ir بیفزاید.
چگونه وضعیت انتشار DNS را بررسی کنیم؟
ابزارهای آنلاین مختلفی وجود دارند که به شما کمک میکنند وضعیت انتشار DNS دامنه خود را از نقاط مختلف جهان بررسی کنید. این ابزارها با استعلام از سرورهای DNS متعدد در سراسر دنیا، نشان میدهند که آیا اطلاعات DNS جدید در آن مناطق منتشر شده است یا خیر.
برخی از ابزارهای محبوب عبارتند از:
- DNSChecker.org: یکی از معروفترین ابزارها که وضعیت رکوردهای مختلف (A, CNAME, MX, NS) را از سرورهای متعدد جهانی نشان میدهد.
- whatsmydns.net: مشابه DNSChecker، وضعیت انتشار را به صورت گرافیکی نمایش میدهد.
- intodns.com: ابزاری جامع برای بررسی کامل تنظیمات DNS و سلامت دامنه، شامل بررسی نیم سرورها، رکوردهای MX و موارد دیگر.
- Google Public DNS (Flush Cache): گوگل ابزاری برای پاک کردن کش رکوردهای خاص از سرورهای DNS عمومی خود (8.8.8.8 و 8.8.4.4) ارائه میدهد که میتواند به تسریع مشاهده تغییرات برای کاربرانی که از این DNSها استفاده میکنند، کمک کند.
استفاده از این ابزارها به شما دید بهتری نسبت به پیشرفت فرایند انتشار میدهد و کمک میکند بفهمید آیا مشکل عدم مشاهده سایت از سمت شماست یا فرایند انتشار هنوز کامل نشده است.
نکاتی برای کاهش زمان انتظار و عیبیابی
اگرچه کنترل کاملی بر سرعت انتشار DNS ندارید، اقداماتی وجود دارد که میتوانید برای به حداقل رساندن زمان انتظار و مشکلات احتمالی انجام دهید:
۱. کاهش TTL قبل از تغییر
بهترین کار این است که حداقل 24 تا 48 ساعت قبل از تغییر نیم سرورها یا رکوردهای مهم دیگر، مقدار TTL آنها را به عدد پایینی (مانند 300 یا 600 ثانیه) کاهش دهید. این کار باعث میشود سرورهای DNS اطلاعات قدیمی را زودتر کنار بگذارند. پس از تکمیل انتشار، میتوانید TTL را دوباره به مقدار بالاتری برگردانید.
۲. بررسی صحت تنظیمات DNS
قبل و بعد از تغییر، مطمئن شوید که نیم سرورها و سایر رکوردها را به درستی در کنترل پنل دامنه و هاستینگ خود وارد کردهاید. یک غلط املایی کوچک میتواند کل فرایند را مختل کند.
۳. پاک کردن کش محلی
اگر پس از گذشت چند ساعت هنوز سایت جدید را مشاهده نمیکنید، کش مرورگر و کش DNS سیستمعامل خود را پاک کنید. گاهی اوقات مشکل فقط در سیستم شماست. دستورات رایج برای پاک کردن کش DNS سیستمعامل:
- ویندوز: در Command Prompt دستور `ipconfig /flushdns` را اجرا کنید.
- مک: در Terminal دستور `sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder` را اجرا کنید (دستور ممکن است بسته به نسخه macOS کمی متفاوت باشد).
- لینوکس: معمولاً با ریاستارت کردن سرویس network-manager یا systemd-resolved انجام میشود (مثلاً `sudo systemctl restart systemd-resolved`).
۴. تست با DNSهای عمومی
به طور موقت DNS کامپیوتر خود را روی DNSهای عمومی مانند Google (8.8.8.8, 8.8.4.4) یا Cloudflare (1.1.1.1, 1.0.0.1) تنظیم کنید. این سرورها معمولاً سریعتر بهروز میشوند و اگر با این DNSها سایت جدید را مشاهده کردید، یعنی مشکل از کش ISP شماست.
۵. راهاندازی مجدد مودم/روتر
گاهی اوقات یک راهاندازی مجدد ساده مودم و روتر میتواند به پاک شدن کش DNS آنها کمک کند.
۶. صبور باشید
مهمترین نکته صبر است. همانطور که گفته شد، انتشار کامل ممکن است تا 72 ساعت طول بکشد.
۷. تماس با پشتیبانی
اگر پس از 72 ساعت هنوز مشکل پابرجاست و ابزارهای آنلاین نیز نشان میدهند که انتشار در اکثر نقاط کامل نشده، با پشتیبانی هاستینگ یا ثبتکننده دامنه خود تماس بگیرید تا تنظیمات را بررسی کنند.
در نهایت تغییر DNS یک فرآیند تدریجی و زمانبر است که مدیریت آن نیازمند درک مکانیزمهای کشینگ و TTL است. هرچند کنترل کاملی بر سرعت انتشار سراسری وجود ندارد، اما با انجام اقدامات پیشگیرانه مانند کاهش TTL قبل از تغییر، بررسی دقیق تنظیمات، و استفاده از ابزارهای آنلاین برای رصد وضعیت، میتوان زمان انتظار را به حداقل رساند و از بروز اختلالات احتمالی جلوگیری کرد. در نهایت، صبر و شکیبایی کلید اصلی در مدیریت موفقیتآمیز این فرآیند است.