كيفية حل خطأ تحليل DNS على خادم Linux؟
دليل خطوة بخطوة للفشل المؤقت في تحليل الاسم، وفشل تحليل المجال، وأخطاء تحديث DNS.
على الرغم من أن خوادم Linux تبدو وكأنها متصلة بالإنترنت، فقد لا يتم حل عناوين النطاق. في هذه الحالة، يمكن للخادم الوصول إلى عناوين IP، ولكن google.com, debian.org, أوبونتو.كوم أو خدمات الترخيص/واجهة برمجة التطبيقات.
تتجلى هذه المشكلة بشكل خاص في العمليات التالية:
- تحديث مناسب أو تحديث يم تم تلقي خطأ أثناء
- ترخيص WHMCS أو روابط الدفع أو API لا تعمل
- لا يمكن للوحة اللعبة الاتصال بعناوين API البعيدة
- لا يعمل اختبار ping للمجال أثناء تشغيل ping IP على الخادم
- فشل مؤقت في تحليل الاسم خطأ ينظر
1. فهم ما إذا كان DNS هو المشكلة حقًا
تحقق أولاً من الوصول العام للخادم إلى الإنترنت عن طريق اختبار اتصال عنوان IP الخاص به.
ping -c 4 8.8.8.8
إذا استجاب هذا الأمر، يكون لدى الخادم حق الوصول إلى الإنترنت على مستوى IP. الآن اختبار دقة المجال:
ping -c 4 google.com
إذا كان IP ping يعمل ولكن المجال ping لا يعمل، فمن المرجح أن تكون المشكلة من جانب DNS.
2. التحقق من إعدادات DNS الحالية
في أنظمة Linux، تكون خوادم DNS عادةً /etc/resolv.conf تم تعريفه في الملف.
cat /etc/resolv.conf
عادةً ما يبدو إعداد DNS السليم كما يلي:
nameserver 1.1.1.1 nameserver 8.8.8.8
إذا كان الملف فارغًا، أو يحتوي على عناوين IP غير صحيحة، أو يكتب فقط عناوين DNS المحلية/غير العاملة، فقد يفشل تحليل المجال.
3. تعريف DNS المؤقت
للاختبار السريع، يمكنك تحديد DNS المؤقت باستخدام الأمر التالي:
echo "nameserver 1.1.1.1" > /etc/resolv.conf echo "nameserver 8.8.8.8" >> /etc/resolv.conf
الاختبار مرة أخرى لاحقًا:
ping -c 4 google.com
4. إعداد DNS المستمر على أنظمة Ubuntu / Debian
في أنظمة Ubuntu الحديثة، تكون إعدادات الشبكة عادةً netplan يتم إدارته بواسطة . قائمة ملفات Netplan:
ls /etc/netplan/
تحرير الملف:
nano /etc/netplan/01-netcfg.yaml
مثال لتعريف DNS:
network:
version: 2
ethernets:
eth0:
dhcp4: true
nameservers:
addresses:
- 1.1.1.1
- 8.8.8.8لتطبيق الإعداد:
netplan apply
إذا كنت متصلاً عبر SSH ولم تكن متأكدًا من إعداد الشبكة، فكن حذرًا. قد يؤدي إعداد netplan غير الصحيح إلى قطع اتصال SSH الخاص بك.
5. إعداد CentOS / AlmaLinux / Rocky Linux DNS
في الأنظمة المستندة إلى RedHat، يمكن إجراء إعدادات DNS عبر NetworkManager.
لرؤية اسم الاتصال النشط:
nmcli con show
مثال لإعداد DNS:
nmcli con mod "System eth0" ipv4.dns "1.1.1.1 8.8.8.8" nmcli con up "System eth0"
قد يكون اسم الاتصال الخاص بك مختلفًا. يجب عليك استخدام اسم الاتصال الخاص بك في الأمر.
6. فحص حل النظام
حل DNS على بعض الأنظمة تم حلها بواسطة systemd تتم إدارتها من خلال الخدمة.
systemctl status systemd-resolved
إذا كانت الخدمة معطلة، يمكنك البدء بها:
systemctl enable systemd-resolved systemctl start systemd-resolved
لرؤية حالة DNS:
resolvectl status
7. التحقق من أخطاء DNS في تحديث الحزمة
عندما يكون DNS تالفًا، لن يعمل مديرو الحزم أيضًا. على سبيل المثال، قد تحدث الأخطاء التالية:
Temporary failure resolving 'archive.ubuntu.com' Could not resolve host Name or service not known
في هذه الحالة، لا ينبغي اعتبار مخزن الحزم تالفًا. يجب اختبار دقة DNS أولاً.
الأخطاء الشائعة
- أعتقد أنه لا يوجد إنترنت ولكن لا أدرك أن DNS فقط هو التالف
- كتابة DNS مؤقت في ملف /etc/resolv.conf معتقدًا أنه حل دائم
- المسافة البادئة للمسافة البيضاء غير صحيحة في ملف Netplan
- خطأ إملائي في اسم اتصال NetworkManager
- الاعتقاد بأن واجهة برمجة التطبيقات (API) العاملة أو نظام الترخيص معيب بسبب مشكلة في DNS
الأسئلة الشائعة
IP ping يعمل ولكن المجال ping لا يعمل، ما المشكلة؟
من المرجح أن تكون هناك مشكلة في تحليل DNS. يمكن للخادم الوصول إلى الإنترنت، لكن لا يمكنه ترجمة أسماء النطاقات إلى عناوين IP.
ما هي خوادم DNS التي يمكنني استخدامها؟
المتوفرة بشكل شائع هي 1.1.1.1 و1.0.0.1 و8.8.8.8 و8.8.4.4. قد يكون خادم DNS الخاص مفضلاً في هياكل الشركات.
لماذا يتغير resolv.conf من تلقاء نفسه؟
نظرًا لأن الملف تتم إدارته تلقائيًا بواسطة netplan أو NetworkManager أو حل النظام على معظم الأنظمة.
توصيات السلامة والعمليات
- تأكد من إجراء اختبار دقة المجال بعد تغيير DNS.
- أضف أخطاء DNS في أنظمة الدفع والترخيص وواجهة برمجة التطبيقات (API) إلى قائمة التحقق الأولى.
- حدد عنواني DNS على الأقل بدلاً من DNS واحد.
- إذا كان مزود الخادم الخاص بك يوفر DNS خاصًا، ففكر في ذلك أيضًا.
- لاحظ أن إعداد netplan غير الصحيح قد يؤدي إلى قطع اتصال SSH.
تم إعداد هذه المقالة خصيصًا لـ PvPServer.