النقاط الرئيسية
- قد يساعد مسح ذاكرة التخزين المؤقتة لـ DNS على Ubuntu باستخدام “resolvectl flush-caches” في إصلاح مشكلات الاتصال وتحسين أداء الشبكة.
- يقلل تخزين DNS المؤقت من الوقت المستغرق لإرجاع طلبات DNS، ولكن الإدخالات القديمة أو التالفة ستسبب مشاكل.
- تذكر أيضًا مسح ذاكرة التخزين المؤقت لنظام أسماء النطاقات في متصفحات الإنترنت لديك للتأكد من مسح جميع البيانات المخزنة مؤقتًا لاستكشاف الأخطاء وإصلاحها.
يتم تمكين خدمة حل اسم النطاق افتراضيًا في Ubuntu. وهذا أمر جيد، فهي تؤدي خدمة مفيدة. ولكن الأمر يستحق تنظيف مخازنها المؤقتة بشكل دوري، خاصة إذا كنت تعاني من ضعف الاتصال.
ما هو التخزين المؤقت لـ DNS؟
تستهلك خدمة نظام اسم النطاق (DNS) الأسماء وتخرج أرقامًا. إنها الخدمة التي تتيح لنا التحدث عن أسماء الشبكات أو أسماء نطاقات الإنترنت، بدلاً من تعلم مجموعة كبيرة من عناوين IP. تترجم خدمة DNS أسماء نطاقات الإنترنت إلى عناوين IP بحيث يمكن توجيه طلبات الاتصال وحركة المرور على الشبكة نحو الخادم الصحيح. يُطلق على مطابقة الأسماء بعناوين IP اسم حل.
تتم عمليات البحث في DNS على الإنترنت بشكل متتابع من خلال تسلسل هرمي من الخوادم، المعروفة باسم خوادم DNS الأولية، وخوادم الأسماء الجذرية، وخوادم النطاقات ذات المستوى الأعلى، وخوادم الأسماء المعتمدة. عمليات البحث سريعة للغاية، لكنها ليست فورية.
لتقليل الوقت المستغرق لإرجاع إجابة على طلب DNS، تقوم خوادم DNS السابقة بتخزين أحدث استعلاماتها وإجاباتها في ذاكرة التخزين المؤقت. إذا قام شخص ما مؤخرًا بتقديم نفس طلب DNS، فيمكن للخادم إرجاع هذه القيمة إلى جهاز الكمبيوتر الخاص بك دون الحاجة إلى إشراك أي من الخوادم الأخرى.
من المحتمل أن يقوم جهاز التوجيه الخاص بك في المنزل بتخزين أسماء أجهزة الشبكة المحلية وعناوين IP، وقد يقوم أيضًا بتخزين الاستجابات من خوادم DNS الخارجية.
إذا تم العثور على إجابة لطلب DNS في ذاكرة التخزين المؤقتة للخادم السابق، فلن تكون هناك حاجة للاتصال بخوادم أخرى. يتم إرسال الإجابة مرة أخرى من ذاكرة التخزين المؤقتة. وبالمثل، إذا حاولت الاتصال بجهاز شبكة محلية باستخدام اسم جهاز الشبكة الخاص به، فسيوفر لك جهاز التوجيه عنوان IP.
قد يكون استخدام البيانات المخزنة مؤقتًا أسرع من البحث الكامل في DNS، ولكن هذا يعتمد على افتراض أن القيم المخزنة لا تزال صالحة. إذا تغير عنوان IP الخاص بموقع الويب أو جهاز الشبكة المحلية، فلن يتمكن جهاز الكمبيوتر الخاص بك من التواصل معه.
يضيف أوبونتو ذاكرة تخزين مؤقتة خاصة به إلى المجموعة. بشكل افتراضي، يتم تمكين خدمة systemd-resolved. تعمل هذه الخدمة على تخزين طلبات واستجابات DNS مؤقتًا. إذا تعرض إدخال ذاكرة تخزين مؤقتة واحد (أو ذاكرة التخزين المؤقت بالكامل للتلف)، فقد تواجه مشكلات في الاتصال بالخوادم البعيدة وموارد الويب والأجهزة المحلية.
ماذا يفعل مسح ذاكرة التخزين المؤقت DNS؟
يؤدي مسح ذاكرة التخزين المؤقتة لنظام أسماء النطاقات إلى إشعار جهاز الكمبيوتر الخاص بك بنسيان جميع أزواج الأسماء وعناوين IP المخزنة التي جمعها. وهذا يعني أن أي طلب اتصال يتطلب التحويل من اسم إلى عنوان IP يتطلب من جهاز الكمبيوتر الخاص بك الاستعلام عن مصدر خارجي مثل جهاز التوجيه المحلي أو خدمة DNS الخارجية. وسيتم تخزين الاستجابة مؤقتًا.
بمرور الوقت، سيتم ملء ذاكرة التخزين المؤقتة لنظام أسماء النطاقات لديك بإدخالات جديدة، ومن المرجح أن تكون بعضها إصدارات محدثة من إدخالات ذاكرة التخزين المؤقتة القديمة والقديمة. إنها عملية سهلة وآمنة. إذا واجهت أي مشاكل في الشبكات أو الإنترنت، فإن مسح ذاكرة التخزين المؤقتة لنظام أسماء النطاقات لديك يعد خطوة أولى جيدة في استكشاف الأخطاء وإصلاحها.
مسح ذاكرة التخزين المؤقت DNS على Ubuntu
في نظام التشغيل Ubuntu، تكون خدمة DNS قيد التشغيل افتراضيًا. إذا كان الأمر يتعلق بجهاز الكمبيوتر الخاص بك، وتعرف أنك لم تقم بإيقاف تشغيل الخادم الذي تم حل المشكلة، فسيتم تشغيل DNS. من السهل التحقق من ذلك، وهو أمر مفيد إذا كنت بحاجة إلى العمل على جهاز كمبيوتر شخص آخر، ولا يمكنه إخبارك ما إذا كان DNS قيد التشغيل أم لا.
الأمر الذي يجب استخدامه واضح ومباشر. نحن نستخدم الأمر systemctl لأننا نحتاج إلى التحقق من جزء من مجموعة أدوات systemd، أي systemd-resolved. هذا هو برنامج حل اسم systemd.
systemctl is-active systemd-resolved
ستكون الاستجابة إما “نشطة” أو “غير نشطة”.
للتأكد من أن مسح المخازن المؤقتة يؤدي إلى نتيجة فعلية، يمكننا إلقاء نظرة على عدد الإدخالات في ذاكرة التخزين المؤقتة. وسنتحقق من ذلك مرة أخرى، بمجرد مسح المخازن المؤقتة. هذه المرة، نستخدم الأمر solvectl للتعامل مع systemd-resolved بشكل مباشر.
resolvectl statistics
نظرًا لأن هذا تثبيت جديد لنظام التشغيل Ubuntu، فهناك عدد قليل نسبيًا من الإدخالات في ذاكرة التخزين المؤقت. بغض النظر عن ذلك، عندما نقوم بمسح مخازن DNS، نتوقع أن نرى هذا العدد ينخفض إلى الصفر.
resolvectl flush-caches
لقد عدنا بصمت إلى سطر الأوامر. عدم وجود إخراج يعني أن كل شيء سار على ما يرام. دعنا نرى ما هو حجم ذاكرة التخزين المؤقت لدينا الآن.
resolvectl statistics
حجم ذاكرة التخزين المؤقت لدينا هو صفر، تمامًا كما توقعنا.
لا تنسى ذاكرة التخزين المؤقت للمتصفح الخاص بك
تحتوي متصفحات الإنترنت لديك على ذاكرات تخزين مؤقتة خاصة بها. إذا كنت تقوم بمسح ذاكرات التخزين المؤقتة الخاصة بنظام أسماء النطاقات (DNS) لمحاولة إزالة مشكلة ما، فاحرص على القيام بنفس الشيء بالنسبة لمتصفحاتك.
مسح ذاكرة التخزين المؤقت DNS في Firefox
افتح علامة تبويب جديدة في Firefox، وأدخل النص التالي في شريط عنوان URL، واضغط على Enter:
about:networking
انقر على إدخال “DNS” في الشريط الجانبي.
يعرض لك متصفح Firefox أحدث الإدخالات المضافة إلى ذاكرة التخزين المؤقتة لنظام أسماء النطاقات. لمسح ذاكرة التخزين المؤقتة، انقر فوق الزر “مسح ذاكرة التخزين المؤقتة لنظام أسماء النطاقات”. اضطررت إلى تحديث الصفحة لرؤية التغيير، ولكن تم مسح ذاكرة التخزين المؤقتة بالتأكيد.
مسح ذاكرة التخزين المؤقت DNS في Google Chrome
لإجراء نفس العملية في Google Chrome، أدخل هذا في شريط عنوان URL واضغط على مفتاح الإدخال:
chrome://net-internals/#dns
انقر فوق الزر “مسح ذاكرة التخزين المؤقتة للمضيف”. لا توجد ملاحظات مرئية تخبرك بحدوث أي شيء بالفعل، ولكن في الكواليس حدث ذلك بالفعل. تم إفراغ ذاكرة التخزين المؤقتة لنظام أسماء النطاقات في متصفح Google Chrome.
تذكر مسح ذاكرة التخزين المؤقت لنظام أسماء النطاقات (DNS)
يمكن أن تكون إدخالات DNS الفاسدة أو الخاطئة السبب الجذري للعديد من سلوكيات الشبكة غير المرغوب فيها. إذا كنت تحاول عزل المشكلة، فإن مسح مخازن DNS الخاصة بك سيؤدي إلى إزالتها من قائمة الاحتمالات.
من السهل القيام بذلك، لذا فمن المنطقي القيام بذلك كخطوة أولى. ومع قليل من الحظ، قد يتم حل مشكلتك.