يمكن أن يؤدي مسح ذاكرة التخزين المؤقت لنظام أسماء النطاقات المحلي إلى حل أخطاء HTTP وحمايتك من انتحال DNS. إليك كيف يمكنك القيام بذلك على Linux.
عند الوصول إلى موقع ويب باستخدام اسم المجال الخاص به ، يرسل نظامك طلبًا إلى خادم DNS للحصول على عنوان IP لهذا المجال. يتم حفظ هذا الزوج من عناوين IP للمجال في ذاكرة التخزين المؤقت لنظام أسماء النطاقات لاستخدامه لاحقًا حتى لا تضطر إلى إرسال طلبات إلى خادم DNS في كل مرة لإجراء اتصال.
لكن في بعض الأحيان ، تتلف ذاكرة التخزين المؤقت DNS المحلية وتتسبب في حدوث أخطاء HTTP. لحسن الحظ ، يعد مسح ذاكرة التخزين المؤقت DNS وإعادة بنائها على كمبيوتر Linux أمرًا سهلاً. هيريس كيفية القيام بذلك.
لماذا Flush DNS Cache على Linux؟
هناك عدة أسباب وراء رغبتك في إعادة إنشاء ذاكرة التخزين المؤقت لنظام أسماء النطاقات المخزنة على نظامك. ربما لديك سجل DNS قديم لموقع ويب وتريد إعادة جلبه من خادم DNS. أو ربما تم اختراق نظامك وتريد التأكد من عدم العبث بذاكرة التخزين المؤقت لنظام أسماء النطاقات ، المعروف باسم انتحال DNS.
عند مسح ذاكرة التخزين المؤقت لنظام أسماء النطاقات ، يتعين على النظام اختبار اتصال خادم DNS مرة أخرى والحصول على سجل عنوان IP للمجال الجديد منه ، وإزالة أي بيانات قديمة أو تم اختراقها في هذه العملية.
كيفية عرض ذاكرة التخزين المؤقت DNS المحلية على Linux
قبل نظام systemd ، لم يكن لدى معظم توزيعات Linux تخزين مؤقت لنظام أسماء النطاقات على مستوى النظام ، إلا إذا تم إعداد برنامج مثل dnsmasq أو nscd يدويًا. يأتي systemd مزودًا بحل systemd ، وهي خدمة تعمل على حل أسماء المجال إلى عناوين IP وتخزين إدخالات DNS مؤقتًا.
ستوجهك الأقسام التالية حول كيفية عرض محتويات ذاكرة التخزين المؤقت لنظام أسماء النطاقات التي تم إنشاؤها بواسطة systemd -olved و nscd و dnsmasq ، حتى تتمكن من فهم البيانات المخزنة مؤقتًا قبل أن تقرر مسحها.
عرض ذاكرة التخزين المؤقت لنظام أسماء النطاقات لحلها systemd
لعرض سجلات ذاكرة التخزين المؤقت التي تم حلها بواسطة النظام ، يلزمك أولاً إنهاء الخدمة مؤقتًا ، ثم تصدير سجلاتها إلى ملف.
ابدأ بإرسال إشارة SIGUSR1 لقتل خدمة حل النظام:
sudo killall -USR1 systemd-حل
يستخدم الأمر journalctl وعامل الإخراج القياسي لحفظ الإخراج في ملف نصي:
sudo journalctl -u systemd -olved> ~ / cache.txt
يمكنك بعد ذلك عرض محتويات الملف باستخدام محرر نصوص مثل Vim:
vim ~ / cache.txt
في الملف ، ابحث عن "CACHE:" بالضغط على يهرب، كتابة "/CACHE:"، والضرب يدخل. جميع سجلات DNS المدرجة تحت مخبأ: هي جزء من ذاكرة التخزين المؤقت DNS المحلية. يضعط ن للانتقال إلى المجموعة التالية من إدخالات DNS إذا كنت تستخدم Vim.
عرض ذاكرة التخزين المؤقت DNS المحلية لـ nscd
لعرض ذاكرة التخزين المؤقت المحلية التي تم إنشاؤها بواسطة nscd ، تحتاج إلى قراءة محتويات قاعدة بيانات مضيفي nscd باستخدام الأمر strings.
في التوزيعات المستندة إلى Debian و Ubuntu ، يوجد هذا الملف في /var/cache/nscd/hosts. قم بتشغيل الأمر التالي لعرض الملف:
sudo strings / var / cache / nscd / hosts | فريد
لعرض الإحصائيات العامة حول ذاكرة التخزين المؤقت لـ nscd DNS ، استخدم ملحق -g علَم:
sudo nscd -g
عرض ذاكرة التخزين المؤقت DNS التي تم إنشاؤها بواسطة dnsmasq
يقوم dnsmasq بتخزين ذاكرة التخزين المؤقت لنظام أسماء النطاقات في الذاكرة لذلك ليس من السهل الحصول على السجلات الدقيقة. ولكن يمكنك إرسال إشارة قتل إلى dnsmasq وتسجيل إخراجها للحصول على عدد استعلامات DNS التي تمت معالجتها.
للقيام بذلك ، أولاً ، تأكد من تشغيل dnsmasq وتشغيله بواسطة باستخدام الأمر systemctl:
حالة sudo systemctl dnsmasq
إذا ظهرت الحالة نشيطقم بتشغيل الأمر التالي لقتل الخدمة:
sudo pkill -USR1 dnsmasq
باستخدام الأمر journalctl ، استخرج سجلات dnsmasq واحفظها في ملف نصي:
sudo journalctl -u dnsmasq> ~ / cache.txt
أخيرًا ، اعرض محتويات الملف باستخدام أداة عرض الملفات مثل القطة أو أقل:
القط ~ / cache.txt
كيفية مسح ذاكرة التخزين المؤقت لـ DNS على نظام Linux
يعني مسح ذاكرة التخزين المؤقت لـ DNS إزالة سجلات DNS المخزنة مؤقتًا من جهاز الكمبيوتر الخاص بك. هذا يفرض عليه إرسال طلب إلى خادم DNS لاسترداد إدخالات DNS الجديدة.
إليك كيفية مسح ذاكرة التخزين المؤقت لنظام أسماء النطاقات على نظام Linux:
باستخدام systemd -olved
يمكنك استخدام الأمر resolvectl لمسح ذاكرة التخزين المؤقت لنظام أسماء النطاقات المخزنة بواسطة systemd -olved:
sudo resolvectl فلاش-مخابئ
إذا كنت تقوم بتشغيل Ubuntu 17.04 أو 18.04 ، فاستخدم الأمر systemd -olved لمسح ذاكرة التخزين المؤقت:
sudo systemd -olved - ذاكرة التخزين المؤقت
قم بمسح ذاكرة التخزين المؤقت لـ nscd DNS على نظام Linux
الطريقة الأكثر ملاءمة لإزالة ذاكرة التخزين المؤقت DNS لـ nscd هي ببساطة إعادة تشغيل الخدمة. يمكنك القيام بذلك عن طريق تشغيل:
إعادة تشغيل sudo /etc/init.d/nscd
إذا لم يفلح ذلك ، فتحقق أولاً مما إذا كانت ذاكرة التخزين المؤقت المحلية المخزنة على جهاز الكمبيوتر الخاص بك ثابتة. يمكنك استخدام ال -g علم للتحقق منه:
sudo nscd -g
إذا كان الأمر كذلك ، فاستخدم -أنا ضع علامة بالأمر nscd لمسح السجلات (أنا تمثل يبطل):
مضيف sudo nscd -i
قم بإزالة ذاكرة التخزين المؤقت DNS dnsmasq
يعد مسح ذاكرة التخزين المؤقت لنظام أسماء النطاقات الذي تم إنشاؤه بواسطة dnsmasq أمرًا بسيطًا. نظرًا لتخزين ذاكرة التخزين المؤقت في الذاكرة ، تؤدي إعادة تشغيل الخدمة إلى حذف جميع الإدخالات المخزنة.
لإعادة تشغيل dnsmasq ، قم بتشغيل أمر systemctl التالي:
إعادة تشغيل نظام sudo systemctl dnsmasq
أو قم بإصدار الأمر التالي:
إعادة تشغيل خدمة dnsmasq
أدخل كلمة مرور المسؤول إذا طُلب منك ذلك. سيتم إعادة تشغيل dnsmasq الآن وستتم إزالة جميع إدخالات DNS الحالية من ذاكرة التخزين المؤقت.
بعد مسح ذاكرة التخزين المؤقت لنظام أسماء النطاقات ، من الأفضل عرض إدخالات ذاكرة التخزين المؤقت المحلية والتحقق مما إذا تمت إزالة البيانات بنجاح. يمكنك استخدام حفر واحدة من العديد من أوامر استكشاف أخطاء الشبكة وإصلاحها في Linux، وتحقق من قيمة وقت الاستعلام في الإخراج. إذا كان أكثر من 0 مللي ثانية ، فقد تم مسح ذاكرة التخزين المؤقت بنجاح (0 مللي ثانية يعني أن سجل المجال لا يزال في ذاكرة التخزين المؤقت).
حفر google.com
امسح ذاكرة التخزين المؤقت لنظام أسماء النطاقات في Google Chrome
متصفح الويب الذي تستخدمه بشكل متكرر يخزن أيضًا سجلات DNS مؤقتًا. عند إدخال عنوان URL ، يبحث النظام عن إدخال ذاكرة التخزين المؤقت في ذاكرة التخزين المؤقت للمتصفح المحلي. إذا لم يتم العثور عليه ، فإنه يتحقق من السجلات في ذاكرة التخزين المؤقت للنظام المحلي. من الضروري مسح ذاكرة التخزين المؤقت لنظام أسماء النطاقات في متصفح الويب الخاص بك نظرًا لأنها تتمتع بأولوية أعلى من ذاكرة التخزين المؤقت على مستوى النظام.
للتوضيح ، دعنا نمسح ذاكرة التخزين المؤقت لنظام أسماء النطاقات في Google Chrome. هناك طرق للقيام بذلك على متصفحات أخرى أيضًا ، لذلك من الأفضل أن تقوم Google بعمل ذلك للمتصفح الذي تستخدمه.
للبدء ، اكتب "الكروم: // net-internals / # dns"في شريط URL واضغط على يدخل:
انقر مسح ذاكرة التخزين المؤقت للمضيف لمسح إدخالات DNS المخزنة في Google Chrome.
Linux هو أفضل نظام تشغيل لتعلم الشبكات
قد يبدو Linux معقدًا في البداية ، ولكن إذا استثمرت بعض الوقت في تعلم كيفية عمله ، فسوف تدرك بسرعة أنه رائع ، وربما أفضل من Windows أو macOS.
تعمل معظم الخوادم عبر الإنترنت بنظام Linux ، وهذا أحد الأسباب التي تجعل Linux مثاليًا إذا كنت تريد تعلم الشبكات ، أو ترغب في معرفة كيفية عمل أجهزة الكمبيوتر بشكل عام.