صرف نظر و مشاهده محتوا

خوش آمدید!

این تالار گفتگو در خصوص محصولات و خدمات تسهیل گستر و نرم افزار سازمان یار ( قدرت گرفته از Odoo ERP ) ایجاد شده است.

سوال بپرسید و به بحث و گفتگو بپردازید، مطالب و ایده های خود را به اشتراک بگذارید، پروفایل حرفه ای خود را ایجاد کنید، به دغدغه های مطرح شده در کیفی ترین شکل ممکن پاسخ دهید و شبکه ارتباطی خود را گسترش دهید.

این سؤال پرچم‌دار شده است

امروز سرور سایتمان را عوض کردیم و IP جدید را در رکوردهای DNS (مثلاً A Record یا نیم‌سرورها در Cloudflare/پنل دامنه) ثبت کردیم.

مسئله اینجاست که:

  • در پنل کلودفلر یا ثبت‌کننده دامنه، IP جدید ثبت شده است.
  • وقتی با موبایل یا اینترنت دیگری تست می‌کنم، سایت جدید باز می‌شود.
  • اما روی سیستم خودم یا کامپیوترهای داخل شرکت، سایت همچنان از روی سرور قبلی باز می‌شود یا حتی خطای اتصال می‌دهد!
  • بعضی از همکاران می‌گویند سایت باز می‌شود و بعضی می‌گویند باز نمی‌شود.

سؤالم این است که چرا انتشار DNS این‌قدر نامنظم است و چقدر طول می‌کشد؟ چطور می‌توانم بفهمم مشکل از کجاست و چطور کش DNS سیستم خودم را پاک کنم تا نسخه جدید را ببینم؟

تصویر پروفایل
صرف نظر
مؤلف

این اتفاق یکی از پایه‌ای‌ترین و در عین حال گیج‌کننده‌ترین مفاهیم شبکه و وب است که به آن DNS Propagation (انتشار سراسری DNS) می‌گویند.

وقتی شما یک رکورد DNS (مثل A Record یا CNAME) یا نیم‌سرورهای دامنه را تغییر می‌دهید، این تغییر به‌صورت آنی به تمام دنیا اعلام نمی‌شود. سیستم DNS در اینترنت به‌شدت وابسته به کشینگ (Caching) در لایه‌های مختلف است تا از میلیون‌ها درخواست تکراری به سرورهای اصلی جلوگیری کند.

اگر سایت برای شما هنوز روی سرور قدیمی باز می‌شود، یعنی درخواست شما در یکی از لایه‌های کش گیر افتاده است.

۱. لایه‌های کش DNS کجا قرار دارند؟

وقتی آدرس دامنه را در مرورگر تایپ می‌کنید، سیستم به این ترتیب عمل می‌کند:

مرورگر (Browser Cache) ──> سیستم‌عامل شما (OS DNS Cache) ──> مودم یا روتر محلی (Router Cache) ──> ارائه‌دهنده اینترنت شما (ISP DNS Cache) ──> سرورهای اصلی DNS (Authoritative DNS)

اگر هر کدام از این لایه‌ها قبلاً IP دامنه شما را ذخیره کرده باشند، تا زمان منقضی شدن آن، به سرور قدیمی ارجاع می‌دهند.

۲. نقش حیاتی TTL (Time To Live)

هر رکورد DNS یک مقدار به نام TTL بر حسب ثانیه دارد. این عدد مشخص می‌کند که سرورهای اینترنت تا چه مدت مجاز هستند پاسخ قبلی را در کش خود نگه دارند.

مثال:
  • اگر TTL روی 86400 ثانیه (۲۴ ساعت) تنظیم شده باشد، ارائه‌دهنده اینترنت (ISP) شما تا ۲۴ ساعت آینده اصلاً به سرور دامنه مراجعه نمی‌کند و همان IP قبلی را به شما تحویل می‌دهد.
  • اگر TTL روی 300 ثانیه (۵ دقیقه) باشد، تغییرات بسیار سریع‌تر در سطح اینترنت پخش می‌شوند.
یک نکته حرفه‌ای قبل از انتقال سرور:

همیشه ۲۴ تا ۴۸ ساعت قبل از جابجایی سرور، مقدار TTL رکوردهای دامنه را روی کمترین مقدار ممکن (مثلاً ۶۰ تا ۳۰۰ ثانیه یا حالت Auto در کلودفلر) بگذارید تا زمان تغییر سرور، انتشار DNS سریع‌تر انجام شود.

۳. تفاوت رفتار ISPها و اپراتورهای مختلف

گاهی اوقات روی اینترنت همراه (ایرانسل/همراه اول) سایت جدید باز می‌شود اما روی اینترنت ثابت (شاتل، مخابرات و…) هنوز سرور قدیمی لود می‌شود.

دلیل این است که برخی ISPها استانداردهای TTL را نادیده می‌گیرند و برای کاهش مصرف پهنای باند و ترافیک بین‌الملل خود، رکوردهای DNS را طولانی‌تر از زمان تعیین‌شده کش می‌کنند.

۴. مراحل عملی پاک کردن کش DNS در سیستم خودتان

اگر مطمئن هستید که رکورد در پنل دامنه درست است، مراحل زیر را انجام دهید تا کش محلی پاک شود:

الف) پاک کردن کش DNS سیستم‌عامل (Windows)

منوی استارت را باز کنید، cmd را به‌صورت Run as Administrator اجرا کرده و دستور زیر را بزنید:

ipconfig /flushdns

برای سیستم‌های Mac:

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

برای سیستم‌های Linux (systemd-resolved):

sudo resolvectl flush-caches

ب) پاک کردن کش DNS داخلی مرورگرها

مرورگرهایی مثل Google Chrome و Edge کش DNS اختصاصی دارند که مستقل از سیستم‌عامل کار می‌کند.

  • در کروم آدرس زیر را باز کنید:chrome://net-internals/#dns
  • روی دکمه Clear host cache کلیک کنید.
  • سوکت‌ها را هم ریست کنید:chrome://net-internals/#sockets و کلیک روی Flush socket pools.
ج) تغییر DNS Resolver سیستم به سرویس‌های عمومی

اگر ISP شما تغییرات را کند منتشر می‌کند، DNS کارت شبکه سیستم یا مودم خود را به DNSهای سریع مثل گوگل یا کلودفلر تغییر دهید:

  • Cloudflare DNS: 1.1.1.1 و 1.0.0.1
  • Google DNS: 8.8.8.8 و 8.8.4.4
۵. چطور بفهمیم رکورد دامنه در دنیا منتشر شده یا نه؟

برای اینکه مطمئن شوید مشکل فقط از سیستم شماست یا هنوز در سراسر جهان تغییر نکرده، از ابزارهای آنلاین چک کردن DNS استفاده کنید:

در این سایت‌ها نام دامنه و نوع رکورد (مثلاً A) را وارد کنید. این ابزارها وضعیت دامنه را از ده‌ها سرور در نقاط مختلف جهان تست می‌کنند و با تیک سبز یا ضربدر قرمز نشان می‌دهند که کدام کشورها IP جدید را دریافت کرده‌اند.

۶. راهکار موقت برای دسترسی فوری بدون انتظار DNS (فایل Hosts)

اگر در حال توسعه هستید و باید فوراً سایت روی سرور جدید را ببینید و منتظر DNS نمانید، می‌توانید فایل hosts سیستم‌عامل خود را دستکاری کنید:

  1. در ویندوز فایل زیر را با Notepad (به‌صورت Run as Administrator) باز کنید:C:\Windows\System32\drivers\etc\hosts
  2. یک خط جدید در انتهای فایل اضافه کنید:

192.0.2.1 example.com www.example.com

(به‌جای IP بالا، IP سرور جدید و به‌جای example.com، دامنه خودتان را بنویسید)

  1. فایل را ذخیره کنید. اکنون مرورگر شما بدون توجه به DNS مستقیماً به سرور جدید متصل می‌شود.

(نکته: بعد از انتشار سراسری DNS، این خط را حتماً حذف کنید).

جمع‌بندی

عدم باز شدن سایت جدید بعد از تغییر DNS به دلیل فرآیند طبیعی DNS Propagation و وجود کش در مرورگر، سیستم‌عامل، مودم و ISP است. تغییر نیم‌سرورها معمولاً بین ۱۲ تا ۴۸ ساعت و تغییر رکوردهای تکی (مثل A Record) بسته به TTL بین چند دقیقه تا چند ساعت زمان می‌برد. با استفاده از ابزارهای آنلاین مثل DNSChecker و خالی کردن کش سیستم با ipconfig /flushdns می‌توانید روند انتقال را دقیق‌تر پیگیری کنید.

تصویر پروفایل
صرف نظر

پاسخ شما

سعی کنید یک پاسخ اساسی ارائه کنید. اگر می‌خواهید در مورد سؤال یا پاسخ نظر دهید، کافیست از ابزار نظردهی استفاده کنید. به خاطر داشته باشید که همیشه می‌توانید پاسخ‌های خود را اصلاح کنید - نیازی نیست یک سؤال را دوبار پاسخ دهید. همچنین رأی دادن را فراموش نکنید - این کار کمک می‌کند بهترین سؤال و جواب‌ها را انتخاب کنیم!

پست‌های مرتبط پاسخ‌ها بازدید فعالیت
۰
مرداد 26
190
1
شهریور 26
80
1
مرداد 26
114
1
مرداد 26
426
1
مرداد 26
549