تا به حال با این مشکل مواجه شده اید که اینترنت شما وصل است، اما صفحات وب باز نمیشوند یا با خطای “This site can’t be reached” روبرو میشوید؟ یا بعد از یک قطعی طولانی اینترنت وصل شده اما سیستم شما هنوز به خوبی سایت ها را باز نمیکند؟ یکی از رایجترین دلایل این مشکل، خراب شدن یا قدیمی شدن کش DNS در ویندوز ⚠️ است.
سیستم عامل ویندوز برای افزایش سرعت دسترسی به وبسایت ها، آدرسهای اینترنتی را در حافظه موقت خود ذخیره میکند. گاهی اوقات این اطلاعات خراب میشوند و مانع از اتصال صحیح میشوند. در این مطلب مجله خبری آی تی و دیجیتال، به آموزش ریست کش DNS و خالی کردن آن در ویندوز برای حل مشکل قطعی اینترنت می پردازیم.
آموزش کار با دستور flushdns برای ریست کش DNS ویندوز
How to Reset Windows Cache with Flush DNS Command
DNS یا سیستم نام دامنه، مانند دفترچه تلفن اینترنت عمل میکند که نام وب سایت ها (مثل google.com) را به آدرسهای IP عددی ترجمه میکند. ویندوز برای اینکه هر بار نیاز به پرسیدن این آدرس از سرور نداشته باشد، پاسخها را در کش DNSط ذخیره میکند. این کار باعث میشود سایت هایی که قبلا باز کردهاید، بار دوم بسیار سریع تر لود شوند.
مشکل زمانی پیش میاید که یک سایت آدرس IP خود را تغییر دهد (که اتفاقی رایج در سرویس های میزبانی وب مخصوصا سرویس های ایرانی در هنگام اختلال است)، اما ویندوز همچنان به دنبال آدرس قدیمی در کش خود بگردد. همچنین بدافزارها، تغییرات دستی در فایل hosts یا قطعی ناگهانی اینترنت میتوانند باعث خرابی این کش شوند. در این صورت، حتی اگر اینترنت شما کاملا سالم باشد، مرورگر نمیتواند وبسایت ها را پیدا کند. پاک کردن این کش، ویندوز را مجبور میکند تا اطلاعات جدید و صحیح را از سرور DNS بگیرد.
۱- استفاده از دستور flush dns در CMD (سریع ترین و استانداردترین روش)
بهترین و مطمئن ترین راه برای خالی کردن کش DNS، استفاده از خط فرمان ویندوز یا Command Prompt یا CMD است. این روش در تمام نسخههای ویندوز (از ۷ تا ۱۱ و سرورها) کاربرد دارد و نیاز به نصب هیچ برنامهای ندارد.
دستور ipconfig flushdns چیست؟ این دستور تمام دی ان اس های ساخته شده در حافظه پنهان ویندوز را پاک میکند.
برای شروع، کلیدهای Win + R را روی کیبورد فشار دهید تا پنجره Run باز شود. در کادر باز شده، عبارت cmd را تایپ کنید و دکمه Enter را بزنید. علاوه بر این میتوانید در منوی استارت عبارت CMD را جستجو کرده و با کلیک راست گزینه Run as administrator را انتخاب کنید تا با دسترسی ادمین باز شود.

حتما باید دسترسی ادمین یا Administrator باشد.
در پنجره سیاه رنگ خط فرمان، دستور زیر را به دقت تایپ کرده و اینتر بزنید:
ipconfig /flushdns

پس از زدن اینتر، پیام Successfully flushed the DNS Resolver Cache ظاهر شود که به معنای موفقیت آمیز بودن عملیات است.
اگر دسترسی شما ادمین نباشد پیغام زیر نمایش داده میشود:
‘ipconfig’ is not recognized as an internal or external command,
operable program or batch file.
حالا پنجره CMD را ببندید و مرورگر خود را مجددا باز کنید، احتمالا مشکل اتصال برطرف شده است.
پیشنهاد میکنیم بعد از انجام اینکار برای آزاد کردن آی پی آدرس های اختصاص داده شده ابتدا دستور زیر را اجرا کنید.
ipconfig /release

سپس برای تازه سازی آی پی ها و اختصاص مجدد دستور زیر را نیز وارد و اینتر کنید.
ipconfig /renew

۲- استفاده از Windows PowerShell (جایگزین مدرنتر)
در ویندوزهای جدیدتر (۱۰و ۱۱)، PowerShell ابزار قدرتمندتری نسبت به CMD محسوب میشود. اگر به هر دلیلی با CMD مشکل داشتید، میتوانید از این روش استفاده کنید.
منوی استارت را باز کنید و عبارت Windows PowerShell را جستجو کنید.
روی آن کلیک راست کرده و گزینه Run as administrator را انتخاب کنید. در پنجره باز شده، دستور زیر را وارد کنید:
Clear-DnsClientCache
بعد اجرا موفقیت آمیز فقط به خط بعدی میرود و پیامی نمی بینید.
دکمه Enter را بزنید. برخلاف CMD که پیام تایید میدهد، در PowerShell معمولا پس از اجرای دستور، خط جدیدی ظاهر میشود و بدون پیام خطا یعنی عملیات موفق بوده است.
این دستور دقیقا همان کار پاک کردن کش DNS را انجام میدهد اما با ساختار برنامه نویسی مدرنتر پاورشل ویندوز.
۳- ریستارت سرویس DNS Client (برای مشکلات پیشرفته تر)
گاهی اوقات مشکل فقط در داده های کش نیست، بلکه سرویس مسئول مدیریت DNS در ویندوز دچار اختلال شده است. در این حالت، حتی با پاک کردن کش، مشکل ممکن است برگردد. ریستارت کردن این سرویس میتواند مشکل را به طور ریشهای حل کند.
کلیدهای Win + R را بزنید، عبارت services.msc را تایپ کرده و OK کنید. در پنجره سرویس ها، به دنبال گزینهای بگردید که نام آن DNS Client است. روی آن دوبار کلیک کنید (یا کلیک راست کرده و Properties را بزنید).

در پنجره باز شده، روی دکمه Stop کلیک کنید تا سرویس متوقف شود. چند ثانیه صبر کنید و سپس روی دکمه Start کلیک کنید تا سرویس دوباره راه اندازی شود.
همچنین میتوانید نوع Startup را روی Automatic تنظیم کنید تا در هر بار روشن کردن ویندوز، این سرویس به طور خودکار اجرا شود. این کار باعث میشود حافظه کش و سرویس های مربوطه کاملا ریست شوند.
۴- تغییر DNS سرور (Google DNS یا Cloudflare)
اگر پس از خالی کردن کش DNS، همچنان سرعت اینترنت پایین است یا برخی سایت ها باز نمیشوند، مشکل ممکن است از سرور DNS ارائه دهنده اینترنت شما (ISP) باشد. تغییر DNS میتواند تاثیر چشمگیری داشته باشد.
برای تغییر DNS، به Control Panel بروید و وارد بخش Network and Sharing Center (مسیر Control Panel\Network and Internet\Network Connections) شوید.
روی اتصال فعلی خود (Ethernet یا Wi-Fi) کلیک کنید، سپس روی Properties کلیک کنید. در لیست، گزینه Internet Protocol Version 4 (TCP/IPv4) را انتخاب کرده و دوباره روی Properties کلیک کنید.

حالا گزینه Use the following DNS server addresses را انتخاب کنید.

در قسمت Preferred DNS server، عدد ۸.۸.۸.۸ (گوگل) و در قسمت Alternate DNS server، عدد ۸.۸.۴.۴ را وارد کنید. (یا برای امنیت بیشتر از ۱.۱.۱.۱ و ۱.۰.۰.۱ کلودفلر استفاده کنید).
OK را بزنید و مجددا کش DNS را طبق روش اول پاک کنید.
جمع بندی
خالی کردن کش DNS ویندوز ۱۱ یا ۱۰ یکی از اولین و ساده ترین اقدامات عیب یابی بعد از قطعی طولانی مدت است که هر کاربر ویندوزی باید آن را بلد باشد. این کار تنها چند ثانیه زمان میبرد و با دستور ipconfig /flushdns انجام میشود اما میتواند مشکلاتی مانند عدم باز شدن سایتها، خطای ۴۰۴ و کندی اینترنت را که ناشی از اطلاعات قدیمی ذخیره شده است، برطرف کند. اگر با انجام این مراحل مشکل شما حل نشد، احتمالا مشکل از فایروال، آنتی ویروس یا تنظیمات مودم است که نیاز به ریست و بررسی بیشتر دارد.
سوالات متداول
آیا خالی کردن کش DNS باعث حذف تاریخچه مرورگر میشود؟
خیر، کش DNS کاملا جدا از تاریخچه (History) و کوکی های مرورگر است. پاک کردن کش DNS فقط آدرسهای IP ذخیره شده در ویندوز را پاک میکند و تاریخچه بازدید شما در کروم، فایرفاکس یا مرورگرهای دیگر باقی میماند.
چرا باید دستور را با Run as administrator اجرا کنم؟
اگرچه دستور ipconfig /flushdns معمولا با دسترسی عادی هم کار میکند، اما اجرای آن با دسترسی ادمین تضمین میکند که ویندوز اجازه کامل برای دسترسی به سیستمعامل و پاک کردن تمام فایلهای سیستمی مربوط به DNS را داشته باشد و با خطا مواجه نشوید.
چند وقت یک بار باید کش DNS را خالی کنم؟
نیازی نیست به صورت دوره ای این کار را انجام دهید. کش DNS به صورت خودکار مدیریت میشود و خودش اطلاعات قدیمی را پس از مدتی حذف میکند. شما فقط زمانی باید این کار را انجام دهید که با مشکل اتصال به اینترنت بعد از یک مدت طولانی دارید یا خطاهای DNS مواجه میشوید.
آیا این روش برای ویندوز ۱۰ و ۱۱ یکسان است؟
بله، دستورات و مراحل تقریبا یکسان است. در ویندوز ۱۱ ممکن است ظاهر پنجرهها کمی مدرن تر باشد، اما عملکرد CMD و PowerShell دقیقا مشابه ویندوز ۱۰ است و دستور ipconfig /flushdns در هر دو به درستی کار میکند.
نظرات و پیشنهاد شما؟
آیا شما تا به حال با مشکل خراب شدن کش DNS مواجه شدهاید؟ آیا روشهای دیگری برای ریست کش DNS ویندوز می شناسید؟ اگر سوال یا تجربهای در مورد تنظیمات شبکه ویندوز بعد از قطعی دارید دارید، لطفا در بخش نظرات این پست آن با ما و سایر کاربران به اشتراک بگذارید.
نظرات کاربران