أثناء استخدام Linux، قد تواجه خطأ "temporary failure in name resolution" عند محاولة الوصول إلى مواقع الويب، أو تحديث الحزم، أو تنفيذ أي مهمة تتطلب اتصالاً بالإنترنت. يشير هذا الخطأ إلى أن النظام لا يستطيع تحليل اسم النطاق إلى عنوان IP، مما يمنع اكتمال عمليات الشبكة.
يعود هذا الخطأ في الغالب إلى مشكلات في الاتصال بالإنترنت أو أخطاء في إعداد DNS. تشخيص هذا الخطأ وإصلاحه أمر مباشر وبسيط. في هذا الدليل، سنشرح كل ما تحتاج إلى معرفته لحل هذا الخطأ عبر توزيعات Linux المختلفة، مع تغطية إصلاحات محددة لـ Ubuntu 22.04 و 24.04.
ماذا يعني "Temporary Failure In Name Resolution"؟
يحول خطأ "temporary failure in name resolution" دون تمكُّن نظام Linux من الاتصال بالإنترنت بصورة صحيحة. عند حدوثه، لن تتمكن من الوصول إلى المواقع أو استخدام التطبيقات التي تستلزم اتصالاً نشطاً بالإنترنت.
يعمل هذا الخطأ كرسالة عامة لـ DNS تعني "أعِد المحاولة". قد يكون الفشل في أي حلقة من حلقات السلسلة: خللٌ محلي، أو انتهاء مهلة الخادم الأعلى، أو مشكلة في التحقق.
يظهر هذا الخطأ عادةً عند محاولة إرسال ping إلى موقع ويب:

ping google.com
ping: google.com: Temporary failure in name resolution
كيفية إصلاح خطأ "Temporary Failure in Name Resolution"
ثمة عدة طرق لحل هذا الخطأ تبعاً لسببه الجذري. دعنا نستعرض الحلول الرئيسية.
الحل الأول: التحقق من الاتصال بالإنترنت
تحقق من جهاز التوجيه وأجهزة الشبكة للتأكد من صحة الإعداد. جرِّب فتح تطبيقات أخرى للتحقق من إمكانية الاتصال بالإنترنت عبرها.
يمكنك اختبار الاتصال الأساسي بإرسال ping مباشرةً إلى عنوان IP:
ping -c 4 8.8.8.8
يُرسل هذا الأمر أربع حزم إلى خادم DNS العام لـ Google. إذا تلقيت ردوداً، فهذا يعني أن اتصالك بالإنترنت يعمل بشكل سليم.
إذا ظهرت لك رسالة «Request timed out» أو «Network unreachable»، فأنت تواجه مشكلة اتصال عامة لا علاقة لها بـ DNS.

إذا كانت التطبيقات تتصل بالإنترنت بنجاح، انتقل إلى الحل التالي.
الحل الثاني: ملف resolv.conf مُهيَّأ بشكل خاطئ
الـ /etc/resolv.conf يحتوي هذا الملف على قائمة خوادم DNS التي يستخدمها نظامك. إذا تضمّن عناوين IP غير صحيحة، فلن تتمكن من الوصول إلى المواقع.
في كثير من أنظمة Ubuntu، هذا الملف هو رابط رمزي إلى ملف ديناميكي تديره systemd-resolved، وغالبًا ما يحتوي على تحذير: «Do not edit». إذا عدّلته مباشرةً، قد لا تدوم تغييراتك سوى دقائق قليلة، إذ يُعيد النظام الكتابة فوقها عند تحديث إعدادات الشبكة أو إعادة التشغيل.
قبل ضبط إعدادات DNS، تأكد من أن مستخدم النظام لديه صلاحيات إدارية. تعرّف على كيفية إضافة مستخدم إلى sudoers إذا احتجت إلى ذلك.
التحقق من إعدادات DNS الحالية
تحقق من إعدادات DNS دون تغييرها أولًا:
cat /etc/resolv.conf
إذا لم تجد خوادم أسماء نطاقات صالحة، فقد عثرت على المشكلة.
اختبار مؤقت
يمكنك إضافة خوادم DNS الخاصة بـ Google لإجراء اختبار سريع.
nameserver 8.8.8.8
nameserver 8.8.4.4
بدلًا من ذلك، يمكنك استخدام خوادم DNS الخاصة بـ Cloudflare:
nameserver 1.1.1.1
nameserver 1.0.0.1
إليك مقارنة بين أبرز خوادم DNS العامة:

| مزوّد DNS | DNS الأساسي | DNS الثانوي | المزايا الرئيسية |
| Google DNS | 8.8.8.8 | 8.8.4.4 | توافر عالٍ وتغطية عالمية |
| Cloudflare | 1.1.1.1 | 1.0.0.1 | يُركّز على الخصوصية ولا يسجّل عناوين IP |
| Quad9 | 9.9.9.9 | 149.112.112.112 | حجب النطاقات الضارة المعروفة |
| OpenDNS | 208.67.222.222 | 208.67.220.220 | الحماية من التصيد الاحتيالي وتصفية المحتوى |
لكن هذا ليس دائماً. سيتراجع النظام عن هذه التغييرات تلقائياً. للحصول على إعداد دائم على Ubuntu، يجب تهيئة systemd-resolved أو Netplan. نغطي هذه الخطوات بالتفصيل في الأقسام المخصصة أدناه.
التحقق من حالة خدمة Systemd-Resolved.
إذا كانت خوادم الأسماء لديك صحيحة ولكن التحليل لا يزال يفشل، تحقق من systemd-resolved هذه الخدمة تدير عمليات بحث DNS المحلية على معظم أنظمة Linux الحديثة. استخدم هذا الأمر للتحقق من حالة تشغيلها: sudo systemctl status systemd-resolved
إذا أظهر الناتج أن الخدمة غير نشطة، يمكنك تشغيلها فوراً.
sudo systemctl start systemd-resolved
هذه الخطوة ضرورية لمستخدمي Ubuntu، إذ تتسبب انقطاعات الخدمة في كثير من الأحيان في فشل تحليل الأسماء.
الحل الثالث: قيود جدار الحماية
تحمي جدران الحماية نظام Linux الخاص بك من البرمجيات الضارة والتهديدات الأمنية. غير أن الإعداد الخاطئ لجدار الحماية قد يحجب طلبات DNS، مما يؤدي إلى أخطاء في تحليل الأسماء.
أحد أساليب التشخيص هو تعطيل جدران الحماية وبرامج الأمان مؤقتاً لتحديد ما إذا كانت هي سبب المشكلة. إذا أدى تعطيل جدار الحماية إلى حل المشكلة، فأنت بحاجة إلى إعادة تهيئة إعداداته.
تهيئة جدار حماية UFW
تستخدم معظم توزيعات Debian و Ubuntu جدار حماية UFW. يجب السماح بمرور حركة DNS على المنفذ 53 (كلٌّ من UDP و TCP):
sudo ufw allow 53/udp
sudo ufw allow 53/tcp
يعتمد DNS على UDP للاستعلامات المعتادة، وعلى TCP للنقل عند الحاجة إلى سعة أكبر.
بعد فتح هذه المنافذ، أعد تحميل UFW لتطبيق التغييرات:

sudo ufw reload
تهيئة Firewalld
لأنظمة CentOS و Red Hat التي تستخدم firewalld، افتح المنافذ الضرورية:
sudo firewall-cmd --add-port=53/udp --permanent
sudo firewall-cmd --add-port=53/tcp --permanent
أعد تحميل جدار الحماية لتطبيق التغييرات:
sudo firewall-cmd --reload
الحل الرابع: مسح ذاكرة التخزين المؤقت لـ DNS
تخزّن ذاكرة التخزين المؤقت لـ DNS عناوين IP محلياً لتسريع عمليات البحث المستقبلية. غير أن البيانات المخزنة القديمة أو التالفة قد تمنعك من الوصول إلى مواقع غيّرت اسم نطاقها أو مزوّد الاستضافة الخاص بها، مما يتسبب في أخطاء مؤقتة في تحليل الأسماء.
يجب عليك فقط مسح ذاكرة التخزين المؤقت لـ DNS عندما تريد إجبار النظام على طلب بيانات محدّثة. استخدم هذه الخطوة عند مواجهة أخطاء تحليل الأسماء.

تحديد خدمة DNS لديك
تتباين الخدمات حسب طريقة التثبيت. تحقق من الخدمة التي تعمل حالياً لتجنب أخطاء "unit not found":
sudo systemctl is-active nscd
sudo systemctl is-active dnsmasq
مسح ذاكرة nscd
If nscd نشطة، أعد تشغيلها:
sudo systemctl restart nscd.service
مسح ذاكرة dnsmasq
If dnsmasq نشطة، أعد تشغيلها:
sudo systemctl restart dnsmasq.service
مسح ذاكرة التخزين المؤقت على Ubuntu (systemd-resolved)
للأنظمة التي تستخدم systemd-resolved:
sudo systemctl restart systemd-resolved.service
أو استخدم الأمر resolvectl:
sudo resolvectl flush-caches
فهم تحليل الأسماء
عندما تُدخل عنوان موقع مثل cloudzy.com، يجب على جهازك تحويل هذا النطاق المقروء إلى عنوان IP (مثل 172.66.40.212) لتحديد موقع الخادم على الإنترنت. تُسمى هذه العملية تحليل الأسماء، وتتولاها خوادم DNS.
يظهر خطأ الفشل المؤقت في تحليل الأسماء عندما يعجز نظام Linux عن الاتصال بخادم DNS لاسترداد عنوان IP المقابل لموقع ما. تشير كلمة "مؤقت" إلى أن هذا ليس بالضرورة عطلاً دائماً، إذ يكون السبب في الغالب خللاً في الإعدادات أو الاتصال يمكن إصلاحه.
تُترجم خوادم DNS أسماء النطاقات إلى عناوين IP التي تستخدمها الأجهزة للتواصل. يعالج Google Public DNS أكثر من تريليون استعلام يومياً، مما يعكس الحجم الهائل لهذه الخدمة الأساسية على الإنترنت.
وبالمثل، يعالج محلل Cloudflare للعنوان 1.1.1.1 ما يقارب تريليوني استعلام يومياً. هذا الحجم يُثبت أن DNS ركيزة أساسية للإنترنت.
ما أسباب الفشل المؤقت في تحليل الأسماء؟
تحديد السبب الجذري هو الخطوة الأولى نحو حل أخطاء الفشل المؤقت في تحليل الأسماء لـ Ubuntu. ثمة عوامل عدة قد تؤدي إلى هذه المشكلة.

مشكلات الاتصال بالإنترنت
الاتصال البطيء أو المنقطع بالإنترنت هو الجاني الأول في الغالب. قبل الخوض في خطوات استكشاف الأخطاء المعقدة، تحقق من أن اتصالك بالإنترنت يعمل بشكل صحيح.
مشكلات إعداد DNS
أخطاء إعداد DNS من أكثر مصادر هذا الخطأ شيوعاً:
- خوادم DNS لا تستجيب: خوادم DNS التي يحاول نظامك الوصول إليها قد تكون غير متاحة
- إعداد تحليل DNS خاطئ: قد يكون آلية تحليل DNS مُهيَّأة بشكل غير صحيح
- ذاكرة التخزين المؤقت لـ DNS قديمة: قد تمنع إدخالات ذاكرة التخزين المؤقت لـ DNS القديمة أو التالفة التحليل الصحيح للأسماء
قيود جدار الحماية
قد تحجب إعدادات جدار الحماية طلبات DNS حتى عند تهيئتها بشكل صحيح. تستخدم استعلامات DNS المنفذ 53، وإذا أغلق جدار الحماية هذا المنفذ، فسيفشل تحليل الأسماء.
يعالج المنفذ 53 بروتوكولَي UDP وTCP معاً. يستخدم DNS عادةً UDP على المنفذ 53 للاستعلامات العادية لأنه أسرع. أما TCP على المنفذ 53 فيُستخدم لنقل المناطق والاستعلامات الكبيرة التي تتجاوز حدود حجم UDP.
مشكلات إعداد الخدمات
خدمة systemd-resolved، المسؤولة عن تحليل DNS في توزيعات Linux الحديثة، قد تكون متوقفة أو معطّلة أو مُهيَّأة بشكل خاطئ. تتولى هذه الخدمة تحليل DNS لجميع التطبيقات على نظامك.
الفشل المؤقت في تحليل الأسماء على Ubuntu 22.04
أدخل Ubuntu 22.04 LTS تغييرات على إدارة الشبكة قد تتسبب في مشكلات تحليل DNS، ولا سيما بعد ترقية النظام. قد يواجه المستخدمون أخطاء عدم القدرة على تحليل المضيف والفشل المؤقت في تحليل الأسماء بتكرار أعلى على هذا الإصدار.
المشكلات الشائعة في Ubuntu 22.04
يُفيد كثير من المستخدمين الذين ترقّوا من Ubuntu 20.04 إلى 22.04 بمشكلات في تحليل DNS. غالباً ما يعود سبب مشكلة الفشل المؤقت في تحليل الأسماء على Ubuntu 22.04 إلى أخطاء في إعداد خدمة systemd-resolved تحدث أثناء عملية الترقية.
إصلاح خاص بـ Ubuntu 22.04
إذا كنت تواجه مشكلات متكررة في DNS على Ubuntu 22.04، اتبع الخطوات التالية:
أولاً، تحقق من تفعيل خدمات الشبكة في systemd بشكل صحيح:
sudo systemctl unmask systemd-networkd.service
sudo systemctl unmask systemd-resolved.service
تحقق من حالة systemd-resolved:

sudo systemctl status systemd-resolved.service
إذا كانت الخدمة غير نشطة، قم بتشغيلها:
sudo systemctl start systemd-resolved.service
sudo systemctl enable systemd-resolved.service
تحقق من أن الرابط الرمزي /etc/resolv.conf يشير إلى الموقع الصحيح:
ls -l /etc/resolv.conf
الإعداد الموصى به يربط بمحلل stub:
sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
اختبار الإصلاح
بعد إجراء هذه التغييرات، اختبر حل DNS:
resolvectl status
يعرض هذا الأمر إعداد DNS الحالي، ويؤكد أيضاً أن systemd-resolved يدير DNS بشكل صحيح.
فشل مؤقت في تحليل الأسماء على Ubuntu 24.04
يستخدم Ubuntu 24.04 LTS، أحدث إصدار ذو دعم طويل الأمد، systemd 255 ويتضمن مكونات إدارة شبكة محدّثة. وعلى الرغم من استقراره مقارنةً بالإصدارات السابقة، فإن مشكلات DNS المحددة قد تظهر أحياناً.
كثيراً ما يواجه المسؤولون عن بُعد خطأ "SSH could not resolve hostname". يحدث هذا عندما يتوقف محلل stub المحلي للنظام عند 127.0.0.53 عن العمل. ولأن SSH يعتمد على هذه الخدمة المحلية لترجمة الأسماء، فإن توقف عملية systemd-resolved يحجب جميع محاولات الاتصال المستندة إلى النطاقات فوراً.
إعداد DNS في Ubuntu 24.04
يعتمد Ubuntu 24.04 اعتماداً كبيراً على systemd-resolved لإدارة DNS. يتولى محلل stub المنصت على 127.0.0.53 معالجة استعلامات DNS على مستوى النظام.
إصلاح مشكلات DNS في Ubuntu 24.04
إذا واجهت فشلاً في تحليل الأسماء على Ubuntu 24.04، تحقق من أن systemd-resolved يعمل:
sudo systemctl status systemd-resolved
تحقق من إعداد DNS باستخدام resolvectl:
resolvectl status
يعرض هذا معلومات خوادم الأسماء وإعداد DNS لكل واجهة شبكة.
إعداد Netplan في Ubuntu 24.04
يستخدم Ubuntu 24.04 Netplan لإعداد الشبكة. يعتمد اسم ملف الإعداد وإعدادات renderer على ما إذا كنت تستخدم إصدار الخادم أو سطح المكتب.
أولاً، حدد ملف الإعداد الخاص بك:
ls /etc/netplan/
عدّل الملف الموجود (في الغالب 50-cloud-init.yaml or 00-installer-config.yaml):
sudo nano /etc/netplan/YOUR_FILE_NAME.yaml
تحقق من إعدادات DNS. ملاحظة: تستخدم الخوادم عادةً networkd، بينما تستخدم أنظمة سطح المكتب NetworkManager. تحقق من اسم الواجهة (مثلاً، eth0 or ens3) باستخدام ip addr قبل إجراء أي تعديل.
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: yes
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
تطبيق الإعدادات:

sudo netplan apply
مشكلات Stub Listener
قد تتعارض بعض التطبيقات مع Stub Listener الخاص بـ systemd-resolved على المنفذ 53. إذا أردت تعطيل Stub Listener:
sudo mkdir -p /etc/systemd/resolved.conf.d/
أنشئ ملف إعدادات:
echo -e "[Resolve]\nDNSStubListener=no" | sudo tee /etc/systemd/resolved.conf.d/noresolved.conf
أعد تشغيل systemd-resolved:
sudo systemctl restart systemd-resolved.service
نصائح إضافية لاستكشاف الأخطاء
إذا استمرت المشكلة، استخدم هذه الأدوات لتحديد سببها. عليك معرفة ما إذا كانت المشكلة تعود إلى اتصالك بالشبكة، أو خادم DNS نفسه، أو تعارض في ملف محلي.
التحقق من إمكانية الوصول إلى خادم DNS
اختبر ما إذا كان بإمكان نظامك الوصول إلى خوادم DNS المحددة في إعداداتك. استخدم الأمر ping متبوعاً بعنوان IP الخاص بخادم الأسماء الأساسي:
ping -c 4 <your_dns_server_ip>
إذا فشل ذلك، فالمشكلة في اتصالك بالشبكة.
التحقق من ملف /etc/hosts
يمكن لملف /etc/hosts تجاوز عمليات بحث DNS. قد تؤدي الإدخالات غير الصحيحة فيه إلى إخفاق عملية الاستبانة:
sudo nano /etc/hosts
تحقق من أنه يحتوي على الحد الأدنى من الإدخالات التالية:
127.0.0.1 localhost
127.0.1.1 your-hostname
استخدام dig لتشخيص مشكلات DNS
يساعد أمر dig في تشخيص مشكلات DNS:
dig google.com
يعرض هذا الأمر معلومات تفصيلية حول استعلام DNS، بما في ذلك خادم الأسماء الذي استجاب والوقت الذي استغرقه الاستعلام.

التحقق من إعدادات واجهة الشبكة
تحقق من أن واجهات الشبكة لديك مضبوطة بشكل صحيح:
ip addr show
تأكد من أن واجهة الشبكة الأساسية لديها عنوان IP معيّن.
منع مشكلات DNS مستقبلاً
يؤدي إصلاح الخطأ الآني إلى استعادة الوصول، غير أنك بحاجة إلى إعداد متين يحول دون تكراره. تُضيف هذه الممارسات مرونة إلى إعدادات شبكتك، بحيث يتعامل نظامك مع انقطاعات الاتصال البسيطة دون أن يفقد القدرة على استبانة الأسماء.
تعتمد موثوقية الشبكة على جودة الأجهزة. خدمة Cloudzy Linux VPS تعمل على معالجات AMD Ryzen 9 ذات التردد العالي واتصالات بسرعة 40 Gbps. تُقلل هذه السرعة من زمن الاستجابة والمهل الزمنية التي كثيراً ما تتسبب في إخفاق استبانة الأسماء، مما يضمن بقاء تطبيقاتك في متناول المستخدمين.
استخدام خوادم DNS موثوقة
يُنصح بضبط خوادم أسماء متعددة عبر Netplan أو systemd-resolved بدلاً من تعديل /etc/resolv.conf مباشرةً؛ وذلك لضمان بقاء إعداداتك سارية بعد إعادة التشغيل. تُوفر إضافة عنوان IP ثانوي مثل 1.1.1.1 or 8.8.4.4 حماية من الفشل في حال توقف مزودك الأساسي.
متابعة تحديثات النظام
قد تتغير إعدادات DNS إثر تحديثات النظام. بعد تحديث توزيعة Linux الخاصة بك، تحقق من أن استبانة DNS لا تزال تعمل بشكل صحيح.
توثيق إعداداتك
احتفظ بسجل لإعدادات DNS لديك، لا سيما إذا كنت تستخدم خوادم DNS مخصصة. سيُسهّل ذلك عملية استكشاف الأخطاء وإصلاحها عند ظهور أي مشكلة.
تجنب المسح الدوري للذاكرة المؤقتة
لا تقم بمسح ذاكرة التخزين المؤقت لـ DNS ضمن جدول يومي ثابت، فذلك يحذف بيانات صالحة ويبطئ تصفح الإنترنت.
امسح الذاكرة المؤقتة في حالتين محددتين فقط:
- قمت بتغيير مزود DNS (مثل التبديل من مزود الإنترنت إلى Google DNS).
- انتقل موقع ويب إلى خادم جديد ولا يمكنك الوصول إليه.
خلاصة
يظهر خطأ "temporary failure in name resolution" في أنظمة Linux عادةً بسبب مشكلات في الاتصال بالإنترنت، أو إعدادات DNS غير صحيحة، أو قيود جدار الحماية، أو تلف ذاكرة التخزين المؤقت لـ DNS. باتباع الحلول الواردة في هذا الدليل خطوةً بخطوة، يمكنك تحديد السبب الحقيقي وإصلاحه.
يجب على مستخدمي Ubuntu 22.04 و 24.04 إعطاء الأولوية لإعداد systemd-resolved إذ تتولى هذه الخدمة معالجة جميع استعلامات DNS، وأي خطأ في إعدادها يعطل تحديثات الحزم والاتصالات الخارجية. تحقق من أن الخدمة تعمل وأنها مرتبطة بشكل صحيح. إعداد DNS المستقر يتيح لـ Linux VPS تنفيذ مهام الشبكة دون انقطاع.