فشل البحث عن نظام أسماء النطاقات (DNS) في دبيان 12: إصلاح systemd-resolved

إذا عرض نظام Debian 12 رسالة "فشل مؤقت في تحليل الاسم"، فتحقق من خدمة تحليل الاسم، ثم /etc/resolv.confالرابط، ثم خوادم نظام أسماء النطاقات (DNS) المدرجة resolvectl- بهذا الترتيب. إعادة تشغيل الخدمة مفيدة فقط في حالة توقفها؛ أما في حالة وجود رابط معطل أو خادم مصدر غير متاح، فيتطلب الأمر حلاً مختلفاً.

تنطبق هذه التعليمات على أنظمة دبيان 12 (بوكوورم) المُهيأة لاستخدام مُحلل أسماء النطاقات systemd-resolved. قامت دبيان بفصل هذا المُحلل إلى حزمة منفصلة ولم تجعله المُحلل الافتراضي، كما هو موضح في ملاحظات إصدار دبيان 12. إذا كان نظامك يستخدم مُدير DNS آخر، فاحتفظ بهذا المُدير مُتحكمًا بدلاً من فرض هذه الإعدادات عليه.

1. تحديد مواضع فشل تحليل اسم النطاق

ابدأ بتحديد مسار الشبكة والبحث عن اسم المضيف. شغّل الأوامر محليًا أو في نافذة طرفية تبقى مفتوحة في حال حدوث تغييرات في الشبكة.

ip -br address
ip route
ping -c 2 1.1.1.1
resolvectl status
resolvectl query debian.org
getent ahosts debian.org

يشير وجود مسار افتراضي واتصال IP رقمي فعال إلى قدرة الجهاز على الوصول إلى الشبكة دون الحاجة إلى نظام أسماء النطاقات (DNS). لا يُعدّ فشل اختبار الاتصال (ping) دليلاً قاطعاً على وجود خلل في المسار، إذ قد تحظر الشبكات ردود ICMP echo. إذا كانت الواجهة تفتقر إلى عنوان أو مسار، فقم بتصحيح اتصال الشبكة أولاً.

resolvectl statusيعرض خوادم نظام أسماء النطاقات (DNS) والنطاقات المخصصة عالميًا أو لواجهات فردية. resolvectl queryيختبر محلل systemd؛ getent ahostsويختبر مسار البحث عن اسم المضيف الذي تستخدمه تطبيقات Linux عادةً. يساعد هذا التمييز في تحديد العطل.

ملاحظةالتحقق التالي
لا يوجد عنوان أو مسار افتراضيقم بإصلاح إعدادات الواجهة أو البوابة أو بروتوكول DHCP قبل إعداد نظام أسماء النطاقات (DNS).
resolvectlلا يمكن الاتصال بخدمتهاتحقق مما إذا systemd-resolvedكان البرنامج مثبتًا ويعمل.
resolvectl queryينجح، getentيفشلقم بفحص /etc/resolv.confإعدادات مضيفي NSS.
فشلت كلتا عمليتي البحث مع وجود مسار صالحافحص عناوين نظام أسماء النطاقات (DNS) الخاصة بالخوادم الخارجية، وتوجيه نظام أسماء النطاقات، والوصول إلى جدار الحماية.
طرفية ديبيان مع أوامر ip route و resolvectl status و getent hosts للتحقق من اتصال DNS.
يعرض عرض الطرفية مسار الشبكة الافتراضي، وتعيين خادم DNS، والبحث عن اسم المضيف على مستوى التطبيق للتشخيص الأولي.

2. تأكد من تثبيت systemd-resolved وتفعيله

في نظام Debian 12، لا يضمن وجود systemd تثبيت حزمة محلل أسماء النطاقات المنفصلة. تحقق من الحزمة والوحدة قبل تغيير أي ملفات DNS.

dpkg-query -W -f='${Status}\n' systemd-resolved
systemctl status systemd-resolved --no-pager

إذا كانت الحزمة مثبتة ولكن الخدمة غير نشطة، فقم بتشغيلها وتمكينها لعمليات إعادة التشغيل المستقبلية:

sudo systemctl enable --now systemd-resolved
systemctl is-active systemd-resolved

يجب أن يُظهر الأمر الأخير رسالة خطأ active. في حال تعطل الوحدة، يُرجى مراجعة رسائل الخطأ الفعلية بدلاً من إعادة تشغيلها بشكل متكرر.

journalctl -u systemd-resolved -b --no-pager -n 60

إذا كانت الحزمة مفقودة، فقم بتثبيتها sudo apt install systemd-resolvedفقط بعد التأكد من إمكانية الوصول إلى مستودع الحزم. سيؤدي تثبيتها إلى تغيير التحكم في النظام /etc/resolv.conf، لذا راجع إعدادات NetworkManager أو VPN أو DNS الثابت أولاً. توثق دبيان هذا التغيير في الحزمة في ملاحظات ترقية Bookworm .

يعرض طرفية Debian حالة systemctl systemd-resolved مع Active: active (running).
توضح شاشة حالة الخدمة مكان البحث عن الوحدة المحملة، والحالة النشطة، ورسائل بدء التشغيل.

3. أصلح رابط المُحلِّل فقط إذا كان خاطئًا

systemd-resolvedيستمع البرنامج القياسي على 127.0.0.53. ملف التوافق الموصى به هو /run/systemd/resolve/stub-resolv.conf، والذي يمكن ربطه من /etc/resolv.conf. تحقق من وضعك الحالي أولاً:

ls -l /etc/resolv.conf
readlink -f /etc/resolv.conf
cat /etc/resolv.conf
resolvectl status

/run/systemd/resolve/resolv.confيُعدّ الربط بـ ` < ...

إذا كنت تستخدم الرابط المحلي عمدًا، وكانت الخدمة قيد التشغيل، ومستمع الرابط مُفعّلًا، وكان الرابط الحالي /etc/resolv.confمفقودًا أو معطلًا أو يشير إلى مُحلِّل قديم، فاستعد الرابط المُوصى به. أولًا، أنشئ نسخة احتياطية من ملف أو رابط موجود؛ تخطَّ عملية النسخ إذا لم يكن هناك ملف موجود.

sudo cp -a /etc/resolv.conf /etc/resolv.conf.dns-backup
sudo ln -sfn /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
cat /etc/resolv.conf

لا تُشغّل هذا الاستبدال على مضيف تُديره خدمة أخرى عمدًا /etc/resolv.conf. يتطلب الإدخال المحلي nameserver 127.0.0.53أيضًا مُستمعًا فرعيًا فعالًا؛ فمجرد كتابة هذا العنوان لا يُنشئ خدمة DNS. على جهاز بعيد، احتفظ بطريقة وصول ثانية قبل تعديل إعدادات المُحلِّل.

يعرض طرفية Debian الرابط الرمزي /etc/resolv.conf الذي يستهدف ملف stub-resolv.conf الذي تم حله بواسطة systemd.
يُظهر فحص الارتباط الرمزي الهدف المتوقع عندما يتم تكوين Debian عمدًا لاستخدام stub المحلي الذي تم حله بواسطة systemd.

4. تصحيح خادم DNS العلوي الغائب أو غير القابل للوصول

عندما resolvectl statusلا يظهر خادم DNS مناسب في المصدر، أو عندما يكون الخادم المُكوّن غير قابل للوصول، قم بتصحيح مصدر هذا التعيين. قد تأتي إعدادات DNS الديناميكية من DHCP أو NetworkManager أو systemd-networkd أو VPN. تحقق من الواجهة التي تحمل المسار الافتراضي وخادم DNS التابع لتلك الواجهة.

لإجراء اختبار تشخيصي سريع على شبكة تسمح باستخدام نظام أسماء النطاقات العام (DNS)، قم بتعيين خوادم DNS عامة معروفة لتلك الواجهة. استبدل ens33بالواجهة الفعلية من ip -br address:

sudo resolvectl dns ens33 1.1.1.1 1.0.0.1
resolvectl query debian.org

هذان العنوانان موثقان لدى Cloudflare كعنواني مُحلِّل DNS العامين . resolvectl dnsالتغيير هو إعداد وقت التشغيل؛ وقد يقوم مدير الشبكة باستبداله عند إعادة الاتصال. إذا نجح البحث الآن، فقم بإصلاح مصدر DNS الدائم بدلاً من الاعتماد على هذا الأمر المؤقت.

باستخدام NetworkManager، افحص الاتصال النشط nmcli connection show --activeوعدّل إعدادات DNS أو سلوك DHCP الخاص به. أما باستخدام systemd-networkd، فضع DNS=الإعدادات المطلوبة في الملف المناسب .network، ثم أعد تحميل الشبكة أو تهيئتها في وقت مناسب. راجع دليل Debian systemd.network ودليل تهيئة Debian NetworkManager . قد يؤدي إعادة الاتصال بواجهة مُدارة إلى مقاطعة جلسة SSH.

يُفضّل استخدام خوادم نظام أسماء النطاقات (DNS) الخاصة بالمؤسسة أو شبكة VPN للأسماء الداخلية. لا يُمكن افتراض أن خوادم DNS العامة تُجيب على النطاقات الخاصة؛ إذ قد يؤدي توجيه جميع الاستعلامات إليها إلى تعطيل نظام DNS المُجزأ أو الكشف عن أسماء المضيفين الداخلية. يُمكن أن تعمل DNS=الإدخالات العامة resolved.confجنبًا إلى جنب مع نظام DNS الخاص بكل رابط بدلاً من استبداله تلقائيًا؛ راجع دليل ملف resolved.conf الخاص بـ Bookworm .

5. امسح ذاكرة التخزين المؤقت وتأكد من أن مساري البحث يعملان.

بعد تصحيح الخدمة أو رابط المُحلِّل أو إعدادات المصدر، قم بمسح الإجابات المخزنة مؤقتًا وأعد الاختبار:

sudo resolvectl flush-caches
resolvectl query debian.org
getent ahosts debian.org
resolvectl status

تكون عملية الإصلاح فعّالة عندما resolvectl queryتُعيد عناوين IP getent ahostsوسجلات عناوين IP، وتبقى خوادم DNS المقصودة مرئية بعد إعادة الاتصال بالشبكة. يختبر الأمران واجهتين مختلفتين، لذا لا تعتبر نجاح أحدهما دليلاً على إصلاح جميع التطبيقات. يوثّق دليل Debian resolvectl الاستعلام والحالة ومسح ذاكرة التخزين المؤقت.

يعرض طرفية Debian استعلام resolvectl debian.org و getent ahosts debian.org الذي يُرجع سجلات العناوين، متبوعًا بـ flush-caches.
يعرض العرض النهائي للطرفية الفحصين اللذين يجب أن يعيدا سجلات العناوين بعد إصلاح تكوين نظام أسماء النطاقات (DNS).

إذا resolvectl queryنجحت العملية ثم getentفشلت مرة أخرى، فافحص grep "^hosts:" /etc/nsswitch.confوتأكد من وجود وحدة NSS مناسبة dnsأو مثبتة resolveفي مسار البحث. إذا استمر الفشل في كلتا الحالتين، فراجع سجل المُحلِّل وأي قيود جدار الحماية على حركة مرور DNS، ثم اختبر باستخدام عنوان DNS الفعلي للشركة أو جهاز التوجيه أو مزود الخدمة. لا يكفي نجاح عملية البحث بشكل منفرد: كرر عمليات الفحص بعد إعادة الاتصال وبعد إعادة التشغيل للتحقق من استمرار الإصلاح.

اترك تعليقاً

فشل البحث عن نظام أسماء النطاقات (DNS) في دبيان 12: إصلاح systemd-resolved

فشل البحث عن نظام أسماء النطاقات (DNS) في دبيان 12: إصلاح systemd-resolved

استعادة عمليات البحث عن نظام أسماء النطاقات (DNS) على Debian 12 عن طريق التحقق من systemd-resolved، وإصلاح resolv.conf عند الحاجة، والتحقق من نظام أسماء النطاقات (DNS) الخاص بالمصدر وحل التطبيقات.

هل تواجه مشكلة في عرض صوت HDMI في نظام أوبونتو 24.04؟ استعد الإخراج

هل تواجه مشكلة في عرض صوت HDMI في نظام أوبونتو 24.04؟ استعد الإخراج

قم بجعل نظام Ubuntu يتعرف على شاشتك أو تلفزيونك كمخرج صوت، وحدده في إعدادات الصوت، وتحقق من قائمة أجهزة الاتصال أو PipeWire إذا كان HDMI مفقودًا.

إصلاح أخطاء توقيع APT عن طريق إصلاح مفتاح المستودع

إصلاح أخطاء توقيع APT عن طريق إصلاح مفتاح المستودع

قم بحل تحذيرات توقيع Ubuntu APT بأمان عن طريق تحديد المصدر الفاشل، وتحديث مفتاحه الذي تم التحقق منه، والتحقق من النتيجة دون تعطيل الأمان.

كيفية تحويل الجهد والتيار ثلاثي الأطوار، و kW، و kVA، ومعامل القدرة

كيفية تحويل الجهد والتيار ثلاثي الأطوار، و kW، و kVA، ومعامل القدرة

تعلم صيغ التيار ثلاثي الأطوار المتوازنة وقم بتحويل جهد الخط والتيار و kW و kVA ومعامل القدرة خطوة بخطوة، مع مثال عملي وحدود للتحقق منها.

تحديد استخدام وحدة المعالجة المركزية والذاكرة لأمر ما باستخدام مجموعات التحكم (cgroups) في أوبونتو

تحديد استخدام وحدة المعالجة المركزية والذاكرة لأمر ما باستخدام مجموعات التحكم (cgroups) في أوبونتو

قم بتشغيل حمل عمل داخل نطاق systemd مع CPUQuota و MemoryMax، ثم تحقق من الحدود من خلال cgroup v2.

تشفير نظام أسماء النطاقات (DNS) الخاص بـ Pi-hole على خادم Ubuntu 24.04

تشفير نظام أسماء النطاقات (DNS) الخاص بـ Pi-hole على خادم Ubuntu 24.04

قم بإعداد dnscrypt-proxy كجسر DoH محلي لـ Pi-hole على Ubuntu 24.04، مع مستمع محلي فقط، واختيار محلل، وعمليات فحص قبل تبديل DNS.

تفعيل إيماءات لوحة اللمس في أوبونتو 24.04 على وايلاند

تفعيل إيماءات لوحة اللمس في أوبونتو 24.04 على وايلاند

تحقق من إعدادات لوحة اللمس في أوبونتو، وتأكد من تثبيت Wayland، واختبر خاصية التمرير المدمجة في GNOME قبل استكشاف أخطاء التطبيقات أو الأجهزة وإصلاحها.

قم بإنشاء مرآة RAID 1 لنظام Debian 12 باستخدام mdadm

قم بإنشاء مرآة RAID 1 لنظام Debian 12 باستخدام mdadm

قم بإنشاء مصفوفة بيانات Debian 12 RAID 1 ثنائية الأقراص والتحقق منها، وقم بتهيئتها بأمان، وقم بتكوينها للتجميع والتركيب بعد إعادة التشغيل.

تشفير ملف التبديل في دبيان 12 باستخدام مفتاح جديد عند كل عملية تشغيل

تشفير ملف التبديل في دبيان 12 باستخدام مفتاح جديد عند كل عملية تشغيل

قم بإعداد تشفير المفتاح العشوائي لقسم التبديل الحالي في Debian 12، وتحقق من تعيين dm-crypt النشط، وافهم المفاضلة المتعلقة بالسبات.

كيفية تقييد مستخدمي SSH بمجلدات محددة على نظام Ubuntu 24.04 (دليل SFTP Chroot)

كيفية تقييد مستخدمي SSH بمجلدات محددة على نظام Ubuntu 24.04 (دليل SFTP Chroot)

تقييد حسابات SSH في Ubuntu 24.04 إلى مجلدات SFTP المحددة باستخدام chroot والأذونات المناسبة وقواعد المطابقة والاختبارات الآمنة - دون منح الوصول إلى shell.