الأسماء لا تُترجم (DNS)
الجهاز يرى العناوين لكن ليس الأسماء: كيف تتحقق من المُترجم، وتصلح resolv.conf، وتتجنب فقدان الإعداد بعد إعادة التشغيل.
آخر تحديث 23 أغسطس 2026
من السهل التعرّف على أعراض هذا العطل: يعمل ping 1.1.1.1، بينما يرد ping millida.net بالرسالة “Temporary failure in name resolution”، ويتوقف apt update ثم تنتهي مهلته. الشبكة نفسها سليمة — المشكلة في تحويل الأسماء إلى عناوين فقط.
الخطوة 1. تأكّد من أن المشكلة في الأسماء
ping -c3 1.1.1.1
getent hosts millida.net
dig +short millida.net @1.1.1.1
إذا استجاب dig عند تحديد خادم صراحةً بينما لم يستجب getent، فالنظام لا يعرف أي مُحلِّل (resolver) يجب أن يتصل به. هذه مشكلة في الإعداد، لا في الاتصال.
الخطوة 2. افحص ما يتولّى عملية التحويل
cat /etc/resolv.conf
systemctl status systemd-resolved
resolvectl status
هناك ثلاث حالات محتملة:
- الملف فارغ أو لا يحتوي على أسطر
nameserver— لا يوجد مُحلِّل مضبوط؛ - يحتوي الملف على
nameserver 127.0.0.53، لكنsystemd-resolvedلا يعمل — فلا تذهب الطلبات إلى أي مكان؛ - هناك خادم خارجي مضبوط يتعذّر الوصول إليه من شبكتنا.
الخطوة 3. أصلح المشكلة
استعادة سريعة لإعادة apt وcurl إلى العمل:
echo 'nameserver 1.1.1.1' > /etc/resolv.conf
echo 'nameserver 8.8.8.8' >> /etc/resolv.conf
يعمل هذا فورًا لكنه يستمر حتى إعادة التشغيل أو إعادة تهيئة الشبكة التالية. أما الإصلاح الدائم فيعتمد على النظام.
Debian وUbuntu مع systemd-resolved:
systemctl enable --now systemd-resolved
ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
resolvectl dns ens18 1.1.1.1 8.8.8.8
AlmaLinux وCentOS Stream:
nmcli con mod "System ens18" ipv4.dns "1.1.1.1 8.8.8.8"
nmcli con up "System ens18"
لا تحرّر
/etc/resolv.confيدويًا إذا كان رابطًا رمزيًا إلى/run. فهذا الملف تستبدله الخدمة، وسيختفي تغييرك عند أول إعادة تشغيل — وستصادف العطل نفسه بعد أسبوع ولن تتذكر سببه.
الخطوة 4. حالات خاصة
المُحلِّل يعمل، لكن اسمًا معيّنًا لا يمكن العثور عليه. تحقّق مما إذا كان السجل منشورًا أصلًا:
dig millida.net A @1.1.1.1
dig millida.net A @8.8.8.8
إجابات مختلفة من خادمين تعني أن النطاق تغيّر حديثًا ولا يزال هناك ذاكرة مؤقتة قديمة في مكان ما. انتظر مدة صلاحية السجل (TTL) الواردة في رد dig.
لا علاقة للسجل العكسي (PTR) الخاص بعنوان الجهاز بهذه المشكلة: فهو مطلوب لخوادم البريد، ويُضبط في تبويب “Access”، ولا يؤثر في كيفية تحويل الجهاز للأسماء بنفسه.
من الأمور الشائعة أيضًا أن يحتوي /etc/hosts على سطر قديم بقي بعد عملية ترحيل. يفحصه النظام قبل DNS ويواصل بثبات التوجه إلى العنوان القديم:
cat /etc/hosts
احذف الأسطر الزائدة وأبقِ على 127.0.0.1 localhost والسطر الذي يحمل اسم الجهاز نفسه.
إذا لم تُحلَّ الأسماء من أي خادم على الإطلاق
فالمشكلة أوسع: تحقّق من الاتصال الأساسي عبر مقالة انقطاع الشبكة على الجهاز وتأكّد من أن المنفذ 53 الصادر غير محجوب بواسطة مرشّح الحزم الخاص بك.