DNS
التغييرات في /etc/hosts لا تعمل على Mac
يربط ملف /etc/hosts الأسماء بعناوين IP على هذا الـ Mac فقط. يقرأه mDNSResponder، لكن بعض التطبيقات والإعدادات تتجاوزه.
الأعراض
- تضيف سطرًا إلى
/etc/hosts، لكن المتصفح لا يزال يفتح الموقع القديم. - يعمل الإدخال في Terminal لكنه لا يعمل في أحد التطبيقات.
- يعمل
example.com، لكنwww.example.comلا يعمل.
الأسباب المحتملة
- تنسيق سطر غير صحيح. يجب أن يبدأ كل سطر بعنوان IP، يليه اسم المضيف. تبدأ علامة
#تعليقًا. - اسم مفقود. يربط الملف الأسماء المطابقة تمامًا. أضف كل اسم تحتاج إليه، مثل
www.example.comإلى جانبexample.com. - إجابات مخزنة مؤقتًا. قد يحتفظ macOS أو المتصفح بالعنوان القديم لبعض الوقت.
- وكيل أو DNS خاص بالتطبيق. عند استخدام وكيل، يبحث خادم الوكيل عن الاسم. لدى بعض التطبيقات إعدادات DNS خاصة بها أيضًا.
كيفية التحقق
اعرض الملف.
cat /etc/hostsاطلب الاسم من محلّل macOS. يجب أن يعرض العنوان الوارد في الملف.
dscacheutil -q host -a name example.comاعرض إعدادات وكيل النظام. يبحث الوكيل عن الأسماء بنفسه.
scutil --proxy
كيفية الإصلاح
افتح الملف في محرر نصوص بصفة مسؤول.
sudo nano /etc/hostsيتطلب كلمة سر مسؤول.
أضف سطرًا لكل اسم. ضع عنوان IP أولًا، ثم اسمًا واحدًا أو أكثر.
127.0.0.1 example.com www.example.comاحفظ الملف. في nano، اضغط على Control-O، ثم Return، ثم Control-X.
امسح ذاكرة DNS المؤقتة. راجع مسح ذاكرة DNS المؤقتة على Mac.
sudo killall -HUP mDNSResponderيتطلب كلمة سر مسؤول.
أغلق المتصفح وافتحه مجددًا.
إذا كان التطبيق يستخدم وكيلًا، فاختبر دونه أو أضف الإدخال إلى خادم الوكيل.
الأسئلة
هل أحتاج إلى إعادة تشغيل Mac؟
لا. احفظ الملف، وامسح ذاكرة DNS المؤقتة، ثم افتح التطبيق مجددًا.
هل يمكنني استخدام حرف بدل مثل *.example.com؟
لا. يتكون تنسيق ملف hosts من عنوان واسم مضيف رسمي وأسماء مستعارة. أضف كل اسم في السطر.
المصادر
- صفحة الدليل hosts(5) المثبتة مع macOS 27.2
- صفحة الدليل mDNSResponder(8) المثبتة مع macOS 27.2
- دعم Apple (مؤرشف): إعادة تعيين ذاكرة DNS المؤقتة في OS X
- صفحة دليل scutil(8) المثبتة مع macOS 27.2
تم التحقق في 29 أكتوبر 2026.