DNS Flush على Linux: SystemD Resolved و NetworkManager و NSCD

نشرت: 2025-09-26

عندما يتصرف نظام Linux الخاص بك بشكل غريب أثناء الوصول إلى مواقع الويب - أو يحل المجالات غير الصحيحة - فقد يكون الوقت قد حان لطرد ذاكرة التخزين المؤقت DNS. مثل ذاكرة التخزين المؤقت الخاصة بالمتصفح ، تقوم DNS Cache بتخزين بيانات مؤقتة تساعد على تحسين سرعة تصفح الويب وتقليل الكمون. ومع ذلك ، عندما تصبح ذاكرة التخزين المؤقت هذه عفا عليها الزمن أو فاسد ، يمكن أن يؤدي إلى مشكلات الاتصال. هذا مهم بشكل خاص في سيناريوهات التطوير أو التواصل حيث تتغير أسماء النطاقات بشكل متكرر. في هذه المقالة ، سنستكشف كيفية مسح ذاكرة التخزين المؤقت DNS في أنظمة Linux التي تستخدمSystemD التي تم حلهاأوNetworkManagerأوNSCD(Name Service Cache Daemon).

فهم التخزين المؤقت لـ DNS في Linux

التخزين المؤقت DNS هو آلية تخزن عمليات البحث DNS محليًا. هذا يمنع الاستعلامات المتكررة لنفس اسم المجال من الاستياء إلى خوادم DNS ، والتي يمكن أن تعزز الأداء. ومع ذلك ، توزع Linux مسؤوليات دقة DNS بشكل مختلف اعتمادًا على مكونات النظام أو الخدمات المستخدمة.

في التوزيعات الحديثة ، من المرجح أن تواجه أحد أنظمة الحلول التالية:

  • تحل النظام: شائع في التوزيعات الأحدث مثل Ubuntu 18.04+ و Fedora.
  • NetworkManager: غالبًا ما يعمل مع SystemD الذي تم حله أو الواجهة الخلفية الأخرى.
  • NSCD(Name Service Cache Daemon): موجود في بعض أنظمة Linux التقليدية Unix و Enterprise.

كل من هذه الأنظمة يتعامل مع التخزين المؤقت DNS بشكل مختلف ، مما يعني أن طريقة مسح ذاكرة التخزين المؤقت تختلف أيضًا. دعنا نسير عبر كل واحد بالتفصيل.

ذاكرة التخزين المؤقت DNS Flushing في نظام SystemD

تم حل SystemDهي خدمة توفرهاSystemDلإدارة استفسارات DNS والتخزين المؤقت. لقد أصبح المعيار في العديد من توزيعات Linux السائدة. يمكنك التحقق مما إذا كان نظامك يستخدم SystemD عن طريق التشغيل:

 systemctl is-active systemd-resolved

إذا كان نشطًا ، فانتقل إلى مسح ذاكرة التخزين المؤقت DNS مع الأمر التالي:

 sudo systemd-resolve --flush-caches

لتأكيد تم مسح ذاكرة التخزين المؤقت ، أو عرض الإحصاءات الحالية ، يمكنك استخدام:

 systemd-resolve --statistics

يعرض هذا الأمر مقاييس مثل عدد إدخالات ذاكرة التخزين المؤقت والزيارات والمختلطة ، مما يساعدك على ضمان نجاح تدفق ذاكرة التخزين المؤقت.

التكوين الذي تم حله النظام وتصحيح الأخطاء

بالنسبة للمستخدمين المتقدمين ، يوجد تكوين الخدمة في /etc/systemd/resolved.conf . يمكنك ضبط الإعدادات مثل خوادم DNS أو سلوكيات العودة. إذا واجهت مشكلات DNS مستمرة ، فكر في التحقق من سجلات journalctl لـSystemD التي تم حلها:

 journalctl -u systemd-resolved

يمكن أن يكون هذا مفيدًا بشكل لا يصدق عند استكشاف مشاكل دقة المجال استكشاف الأخطاء وإصلاحها الناجمة عن سوء التكوين DNS أو تسمم ذاكرة التخزين المؤقت.

باستخدام NetworkManager لتحديث DNS

NetworkManager هي الأداة المساعدة التي تتعامل مع تكوين الشبكة تلقائيًا عبر العديد من توزيعات Linux ، بما في ذلك بيئات سطح المكتب مثل Gnome و KDE. على الرغم من أن NetworkManager نفسه لا يقوم بتخزين DNS ، إلا أنه يحدد غالبًا ما تتولى الخدمة (مثل SystemD Resired) DNS.

لتحديث إعدادات DNS باستخدام NetworkManager ، يمكنك إعادة تشغيل الخدمة:

 sudo systemctl restart NetworkManager

تقوم هذه الطريقة بشكل غير مباشر بإعادة استئناف DNS من خلال إعادة تشغيل الاتصالات والخدمات ذات الصلة. إذا كنت ترغب في الحصول على مزيد من الحبيبات ، فيمكنك أيضًا تعطيل واجهات شبكة محددة واضحة. على سبيل المثال:

 nmcli networking off nmcli networking on

أو لجهاز معين:

 nmcli device disconnect eth0 nmcli device connect eth0

هذه الطريقة مفيدة بشكل خاص عند التبديل بين الشبكات أو حل مشكلات انتشار المجال بعد تغييرات DNS.

فحص إعدادات DNS مع NMCLI

إذا كنت ترغب في فحص DNS التي يستخدمها NetworkManager ، فإن الأمر:

 nmcli dev show | grep DNS

سوف تسرد عناوين DNS النشطة حاليًا. يكون هذا مفيدًا عند التحقق من أن إعدادات DNS من DHCP أو العنوان الثابت يتم تطبيقها بشكل صحيح.

DNS Flushing with NSCD (اسم خدمة Cache Cache Service)

على الرغم من أنه أقل شيوعًا في أنظمة Linux الحديثة ، إلا أنNSCDلا يزال يستخدم في البيئات المؤسسية والإرثية. إنه يطلب من طلبات خدمة الأسماء تسريع دقة أسماء المضيف وكلمات المرور وكائنات قاعدة البيانات الأخرى. أولاً ، تأكد من تثبيته وتشغيله:

 sudo systemctl status nscd

إذا كان نشطًا ، فسيكون تنظيف ذاكرة التخزين المؤقت DNS واضحة:

 sudo nscd -i hosts

يخبر هذا الأمر NSCD بإبطال (-i) إدخالات ذاكرة التخزين المؤقت لأسماء المضيف. إذا كنت ترغب في مسح كل شيء ، وليس فقط إدخالات DNS ، استخدم:

 sudo nscd -I

سيؤدي ذلك إلى إعادة تحميل التكوين بأكمله وبيانات مخزنة مؤقتًا لجميع قواعد البيانات المدعومة.

تكوين ومراقبة NSCD

تم تكوين NSCD عبر /etc/nscd.conf . يمكنك تمكين أو تعطيل التخزين المؤقت لأنواع البيانات المختلفة مثل:

  • Passwd
  • مجموعة
  • المضيفين

الملف مصمم بشكل جيد ، مما يجعله ودودًا بشكل معقول. يتيح لك مراقبة سجلات عبر journalctl -u nscd مراقبة سلوكها وتحديد المشكلات المحتملة.

كيفية تحديد آلية التخزين المؤقت التي تستخدمها

لست متأكدًا من النظام الذي يعتمد عليه جهاز Linux الخاص بك في التخزين المؤقت DNS؟ فيما يلي بعض الشيكات السريعة:

  • هل systemd-resolve --status إخراج مفيد؟ إذا كانت الإجابة بنعم ، فمن المحتمل أن يستخدم نظامك نظام SystemD.
  • هل توفر nscd -g إدخالات الجدول؟ قد تستخدمNSCD.
  • هل يعمل resolvectl على نظامك؟ هذا هو جديلة جيدة لحلالنظام.
  • هل dnsmasq أو BIND ؟ يشير هذا إلى إعدادات أكثر تقدمًا تتطلب خطوات منفصلة.

يعد تحديد حل DNS قيد الاستخدام أمرًا بالغ الأهمية قبل محاولة تدفق أو تصحيح ذاكرة التخزين المؤقت DNS ، حيث لن يحل ذاكرة التخزين المؤقت الخطأ مشكلتك.

لماذا تدفق DNS بانتظام أمر مفيد

في حين أن التخزين المؤقت DNS يعزز الأداء ، فقد يكون أيضًا مشكلة. هذا هو السبب ومتى قد ترغب في مسحه:

  • بعد تغيير إدخالات DNS:قد تشير ذاكرة التخزين المؤقت غير المتدلية إلى خوادم IPS أو DNS القديمة.
  • استكشاف الأخطاء وإصلاحها مشكلات الاتصال:يؤدي ذاكرة التخزين المؤقت الفاسدة أو المسمومة إلى قرارات فاشلة.
  • سيناريوهات عصر التطوير:عند اختبار ترحيل المجال أو التبديل بين خوادم التدريج والإنتاج.

يساعد تنظيف ذاكرة التخزين المؤقت DNS بانتظام في الحفاظ على صحة النظام وتجنب مشاكل الوصول غير المتوقعة للموقع - وخاصة لمستخدمي الطاقة ومسؤولي النظام والمطورين.

نصائح وأدوات متقدمة

إذا كنت تعمل في بيئة معقدة أو تحتاج إلى مزيد من التحكم في دقة DNS ، فإليك بعض أدوات ونصائح المكافآت:

  • DNSMASQ:بمثابة توجيه DNS خفيفة الوزن مع قدرات التخزين المؤقت.
  • BIND (NOMED):خادم DNS على مستوى المؤسسة مع التخزين المؤقت للمنطقة القابلة للضبط والانتهاء المخصص.
  • dig و nslookup :أدوات تصحيح الأخطاء لاختبار سجلات DNS في الوقت الفعلي.
  • host :بسيط ومباشر للاستعلام عن سجلات DNS دون تعطيل ذاكرة التخزين المؤقت.
لماذا تغيير المفاتيح في البقاء على قيد الحياة 2؟

الأفكار النهائية

يعد تدفق ذاكرة التخزين المؤقت DNS في Linux مهمة واضحة - حيث تعرف الأداة أو الخدمة التي تعالج دقة DNS على نظامك. سواء كنت تستخدمنظام SystemDأوNetworkManagerأوNSCD، فإن فهم كيفية عمل كل عمل سوف يسلحك بالمهارات اللازمة لحل أي سيناريو استكشاف الأخطاء وإصلاحها المتعلقة بـ DNS بسرعة. إن الحفاظ على نظافة DNS نظيفة ليس مجرد نظافة جيدة - فهو ضروري لدقة اسم المجال الموثوقة والدقيقة في مشهد الشبكات الديناميكية اليوم.