در سیستم عامل مکینتاش اپل و ویندوز و لینوکس می‌توان کش DNS را خالی کرد تا سایت‌ها از IP Address یا شناسه‌ی آی‌پی جدید که به سرور جدید مربوط می‌شود، بارگذاری شوند. گاهی سرور سایت‌ها تغییر نکرده اما مشکلاتی در بارگذاری وجود دارد که به سادگی با پاکسازی DNS cache برطرف می‌شود.

در این مقاله به آموزش پاکسازی کش DNS که آدرس IP سرور سایت‌ها را نگه‌داری می‌کند، در سیستم عامل macOS اپل و ویندوز مایکروسافت و همین‌طور لینوکس می‌پردازیم.

هر وب‌سایت نامی آشنا و ساده دارد که به کمک سرورهای DNS به شناسه‌ی آی‌پی تبدیل می‌شود. شبکه‌های اینترنت و همین‌طور کامپیوترهای مختلف مثل سیستم ویندوزی، مک‌بوک و یا لپ‌تاپ لینوکسی، پس از اولین اتصال به سرور، شناسه‌ی آی‌پی سرور را در حافظه ذخیره می‌کنند و به عبارت دیگر آن را Cache می‌کنند تا در دفعات بعدی مراجعه، به محض تایپ کردن آدرس وب‌سایت، همان IP Address قبلی برای دسترسی به سایت استفاده شود. برای اطلاعات بیشتر به مقاله‌ی آموزش مقدماتی مفاهیم شبکه مراجعه فرمایید:

اگر فکر می‌کنید که سرور سایتی تغییر کرده و یا این احتمال وجود دارد که کش DNS مانع دسترسی صحیح به سایت‌ها شده باشد، می‌بایست آن را پاکسازی کنید.

چگونه کش DNS را در ویندوز پاکسازی کنیم؟

ابتدا کلید ترکیبی Windows + R‌ را فشار دهید تا منوی Run نمایان شود. اکنون دستور cmd را تایپ کنید و کلید اینتر را فشار دهید. در پنجره‌ی کامند پرامپت ویندوز، دستور زیر را تایپ کنید و کلید Enter را فشار دهید:

ipconfig /flushdns

در صورت موفقیت‌آمیز بودن پاکسازی کش DNS، پیام مربوطه نمایش داده می‌شود و بهتر است پس از این فرآیند، ویندوز را ری‌استارت کنید.

چگونه کش DNS را در macOS Sierra پاکسازی کنیم؟

ابتدا اپلیکیشن Terminal اپل که در فولدر Applications و سپس فولدر Utilities واقع شده را اجرا کنید. می‌توانید روی Go کلیک کنید و سپس Utilities و Terminal را انتخاب کنید.

دستور زیر را تایپ کنید و کلید Enter یا Return را فشار دهید:

sudo killall -HUP mDNSResponder;say DNS cache has been flushed

رمز عبور ادمین از شما سوال می‌شود. آن را وارد کنید. کمی صبر کنید تا پاکسازی کش انجام شود و پیام صوتی یا نوتیفیکیشن مربوطه نمایش داده شود.

پس از پاکسازی کش، می‌بایست اپلیکیشن‌هایی مثل مرورگرها که با اینترنت و سرورها سروکار دارند را از نوع اجرا کنید. لذا Safari، گوگل کروم، موزیلا فایرفاکس و همین‌طور اپلیکیشن‌های sFTP و SSH را از نو اجرا کنید. بد نیست پس از پاکسازی کش، سیستم عامل را به کلی ری‌استارت کنید.

اگر با استفاده از دستور فوق، کش DNS پاکسازی نشده و همچنان آدرس IP سرور سایت‌ها مثل قبل است، از دستورات زیر استفاده کنید:

برای macOS Sierra 10.12.0:

sudo killall -HUP mDNSResponder

برای OS X 10.11.0:

sudo killall -HUP mDNSResponder

برای OS X 10.10.4:

sudo killall -HUP mDNSResponder

برای OS X 10.10.0 الی OS X 10.10.3:

sudo discoveryutil mdnsflushcache

برای OS X 10.9 و OS X 10.8 و OS X 10.7:

sudo killall -HUP mDNSResponder

برای OS X 10.5  و OS X 10.6:

sudo dscacheutil -flushcache

می‌توان دستورات فوق را به صورت پشت‌سر‌هم و با ; جدا کرد و در قالب یک دستور جامع، اجرا کرد.

چگونه کش DNS‌ را در لینوکس پاکسازی کنیم؟

برای پاکسازی کش DNS در لینوکس، بسته به اینکه از کدام توزیع و نسخه‌ی Linux استفاده می‌کنید، دو دستور ساده وجود دارد. یکی از این دو دستور را در ترمینال لینوکس تایپ کرده و کلید اینتر را فشار دهید تا پاکسازی انجام شود.

/etc/init.d/named restart

/etc/init.d/nscd restart

اگر رمز عبور ادمین درخواست شد، آن را وارد کنید و ادامه دهید تا پاکسازی کش انجام شود.

روش دیگر این است که ابتدا با حساب کاربری root وارد شویم و سپس دستور پاکسازی را اجرا کنیم. به این منظور دستورات زیر را تایپ و اجرا کنید و به جای PASSWORD، رمز عبور حساب روت را قرار دهید:

user@host:~$ su 

Password: PASSWORD

و حالا دستور زیر را در ترمینال اجرا کنید:

root@host: /etc/init.d/nscd restart