نحوه پاک کردن کش DNS در لینوکس
در مقاله قبلی نحوه پاک کردن کش DNS در ویندوز را به شما آموختیم. پاک کردن کش DNS در لینوکس (Linux) و مک (macOS) نسبت به ویندوز تا حدودی متفاوت است که در ادامه با آن آشنا میشوید.
در ابتدا به نظر میرسد پاک کردن حافظه پنهان DNS در لینوکس پیچیده و سخت است. اما بسیار آسانتر از آن است که فکر کنید. اگر طبق این آموزش به صورت قدم به قدم پیش بروید به راحتی میتوانید این کار را انجام دهید. در این مطلب خواهید آموخت که DNS Cache چیست، چرا باید کش دی ان اس را پاک کنید و چگونه باید کش DNS را در لینوکس و مک پاک کنید؟
DNS Cache یا همان کش دی ان اس چیست؟
کش DNS یک دیتابیس موقت است که اطلاعات مربوط به DNSجستجوی قبلی را ذخیره میکند. به عبارت دیگر هر زمانی که از یک وبسایت بازدید میکنید، مرورگر شما یک رکورد از دامنه و IP آدرس صفحه ذخیره میکند. به این ترتیب احتیاجی به درخواست تکراری برای سرور DNS نیست و سایت مورد نظر با سرعت بیشتری باز میشود.
با این وجود در برخی مواقع مانند مشکلات شبکه باید حافظه پنهان DNS را پاک کنید. با این کار اطلاعات DNS ذخیره شده پاک میشوند و جستجوی بعدی برای باز کردن دامنه با dns جدید انجام میشود. برای آشنایی بیشتر با نحوه کار DNS، پیشنهاد میکنیم مقاله DNS چیست را مطالعه کنید.
چرا باید کش DNS را پاک کنیم؟
اکثر سیستم عاملها DNS Caching را انجام میدهند. تا زمانی که اطلاعات کش یا همان حافظه پنهان درست باشد بدون درخواست از سرور DNS به درخواستها پاسخ داده میشود. اما با این وجود استفاده از اطلاعات قدیمی کش دی ان اس ممکن است باعث بروز خطا یا مشکلات امنیتی شود. بنابراین پیشنهاد میکنیم که حافظه پنهان DNS خود را هر چند وقت یک بار پاک کنید.
چند دلیل برای این که حافظه پنهان DNS خود را به صورت دورهای پاک کنید:
- جلوگیری از ردیابی رفتار جستجو
ذخیره کش DNS پیش بینی تاریخچه مرورگر شما را برای هکرها آسان میکند.
- امنیت
با استفاده از هک DNS اطلاعات مهم کاربر مانند اطلاعات ورود به سیستم و یا دادههای شخصی در معرض خطر قرار میگیرد.
- حل مشکلات فنی
ممکن است با پاک کردن کش DNS مشکلات و یا خطاهایی که با آن روبرو میشوید حل شود.
چگونه کش DNS را در لینوکس پاک کنیم؟
هر توزیع از سیستم عامل لینوکس از سرویس متفاوتی برای کش DNS استفاده میکند. شما باید خودتان بررسی کنید که سیستمتان از چه سرویسی استفاده میکند. اکثر توزیعهای لینوکس از “systemd-resolve”، “nscd” یا “dnsmasq” استفاده میکنند. البته ممکن است سیستم شما از “BIND” استفاده کند.
به هر صورت نحوه پاک کردن کش DNS بسته به توزیع لینوکس و سرویس ذخیره سازی شما مربوط است. در ادامه آموزش پاک کردن حافظه پنهان DNS را در هر توزیع لینوکس به شما آموزش میدهیم.
Systemd-resolve
توزیعهای Debian مانند اوبونتو (Ubuntu) معمولاً از Systemd-resolve استفاده میکنند. برای خالی کردن کش DNS ابتدا وارد Terminal شوید. سپس دستور زیر را وارد کنید و اینتر بزنید.
sudo systemd-resolve --flush-caches
به این ترتیب کش DNS پاک میشود. برای این که مطمئن شوید آیا دستور به درستی وارد شده است کد زیر را وارد کنید. اگر میزان Cache Size صفر باشد یعنی عملیات به درستی انجام شده است.
sudo systemd-resolve –statistics
dnsmasq
معمولاً برخلاف سیستمهای دسکتاپی، سرورهای لینوکسی از dnsmasq استفاده میکنند. برای خالی کردن کش DNS دستور زیر را در ترمینال وارد کنید:
sudo systemctl restart dnsmasq
nscd
توزیع Arch Linux معمولا از nscd استفاده میکند. برای پاک کردن حافظه پنهان DNS کد زیر را وارد کنید و سرویس را ریستارت کنید.
sudo systemctl restart nscd
به این ترتیب میتوانید کش دی ان اس را پاک کنید.
جمع بندی
اگر هنگام مرور در اینترنت و باز کردن یک وبسایت با مشکل یا خطا مواجه شدید، ممکن است سیستم شما کش DNS منسوخ شده را ذخیره کرده باشد. با پاک کردن کش DNS در سیستم عامل لینوکس و از طریق کد دستور، میتوانید به راحتی مشکل را حل کنید.
در این مطلب نحوه خالی کردن کش DNS را به شما آموختیم. اگر با پاک کردن حافظه پنهان دی ان اس مشکل شما حل نشد، میتوانید از مقاله پاک کردن کش مرورگر نیز کمک بگیرید. امیدواریم که این آموزش به شما کمک کرده باشد. در صورتی که در این باره سوالی دارد در بخش نظرات از ما بپرسید.