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

به عنوان مثال، به جای رفتن به www.google.com، مرورگر شما ممکن است شما را به آدرس IP یک وب سایت مخرب هدایت کند که مهاجم در سوابق DNS سیستم شما درج کرده است. یا حتی ممکن است تعداد زیادی خطای 404 دریافت کنید.

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

در این مقاله، شما نحوه ریست کردن کش DNS را در سیتم عامل های لینوکس و ویندوز یاد میگیرید.

dns cache iranicaserver


 

کش DNS چیست؟

 

لینوکس، ویندوز و سایر سیستم عامل ها اطلاعات name را در قالب کش DNS ذخیره می کنند. این امر زمان بارگذاری پروژه را افزایش می دهد. زیرا حافظه پنهان حاوی آدرس های IP برای دامنه های درخواستی است. به جای نیاز به مسیریابی مجدد به سرورهای DNS، سیستم به درخواست ها از حافظه پنهان یا همان کش پاسخ می دهد.

کش DNS حاوی اطلاعات زیر است:

  • Resource data (اطلاعات منابع)
  • Record type
  • Record name
  • TTL (time to live)
  • Class
  • Resource data length (طول اطلاعات منابع)

 

نحوه ریست حافظه پنهان DNS در ویندوز

پاک کردن کش DNS یک فرآیند آسان و سریع است. این روش تقریباً برای تمام نسخه های ویندوز یکسان است. در مثال زیر، ما از ویندوز 10 استفاده خواهیم کرد.

1. با فشردن دکمه های Win+R پنجره Run را باز کنید. سپس عبارت cdm را تایپ کنید و اینتر را بزنید تا Command Prompt اجرا شود.

2. زمانی که پنجره Command Prompt باز شد، خط زیر را در آن تایپ کنید:

ipconfig /flushdns

dns cache iranicaserver

 

3. فرآیند باید فقط چند ثانیه طول بکشد. پس از اتمام، باید پیام تأیید “DNS Resolver Cache” را مشاهده کنید:

dns cache iranicaserver

دیتابیس کش DNS در رایانه شما اکنون پاکسازی شده است. دفعه بعد که دستگاه شما یک درخواست DNS ارسال کند، باید نقشه IP صحیح و به روز را از سرورهای DNS دریافت کنید.


 

نحوه ریست کش DNS در لینوکس

 

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

بستگی به این دارد که کدام سرویس در توزیع خود دارید و اینکه آیا به طور پیش فرض فعال است یا خیر. برخی از آنها شامل NCSD ، dnsmasq و BIND هستند.

از هر توزیع لینوکسی که استفده میکنید، برای شروع باید یک پنجره ترمینال باز کنید. Ctrl+Alt+T را روی کیبورد خود فشار دهید و از دستور مربوطه برای پاک کردن کش DNS برای سرویسی که سیستم لینوکس شما در حال اجرا است استفاده کنید.

 

ریست DNS برای سرویس NCSD

از این دستور برای حذف کش DNS برای سرویس NCSD در دستگاه لینوکس خود استفاده کنید:

sudo /etc/init.d/nscd restart

در صورت لزوم پسوورد خود را وارد کنید. با اتمام فرایند سرویس NCSD در عرض چند ثانیه راه اندازی می شود.

 

ریست DNS برای سرویس dnsmasq

در صورت استفاده از سرویس دی ان اس dnsmasq خط زیر را در ترمینال خود وارد کنید:

sudo /etc/init.d/dnsmasq restart

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

 

ریست DNS برای سرویس BIND

اگر از BIND برای سرویس DNS استفاده می کنید، چند دستور وجود دارد که می توانید برای حذف کش DNS آن استفاده کنید. ممکن است لازم باشد رمز عبور خود را برای تکمیل فرآیند وارد کنید.

sudo /etc/init.d/named restart
sudo rndc restart
sudo rndc exec

توجه: BIND همچنین به شما اجازه می دهد تا دامنه های خاصی را هنگام انجام یک ریست DNS هدف قرار دهید. مانند مثال زیر:

sudo rndc flushname phoenixnap.com

 

جمع بندی

در این آموزش نحوه حذف DNS را در سیستم عامل های ویندوز و لینوکس یاد گرفتید.

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

 

نظر شما درباره این پست چه بود ؟

دسته بندی شده در: