ما هو سجل CNAME؟
سجل CNAME (الاسم الأساسي) هو نوع سجل DNS ينشئ اسم مستعار من اسم نطاق واحد إلى آخر. بدلاً من الإشارة مباشرة إلى عنوان IP مثل سجل A، يشير CNAME إلى اسم نطاق آخر، والذي يتم حل هذا الأخير إلى عنوان IP.
كيفية عمل سجلات CNAME
عند إعداد CNAME:
www.example.com. IN CNAME example.com.
عملية الحل:
1. يطلب المستخدم www.example.com
2. يجد DNS CNAME يشير إلى example.com
3. ثم يحل DNS سجل A الخاص بـ example.com
4. يتم إرجاع عنوان IP النهائي
هذا يعني أن أهداف CNAME يجب أن تحل في النهاية إلى سجل A أو AAAA.
حالات استخدام CNAME الشائعة
نطاق فرعي WWW
أشر www إلى نطاقك الجذري:
www IN CNAME example.com.
دمج CDN
أشر نطاقك إلى نقطة نهاية CDN:
cdn.example.com IN CNAME d111111abcdef8.cloudfront.net.
استضافة Platform
أشر إلى مزودي الاستضافة:
blog.example.com IN CNAME yoursite.wordpress.com.
shop.example.com IN CNAME shops.myshopify.com.
تطبيقات SaaS
ربط النطاقات الفرعية بمنصات SaaS:
docs.example.com IN CNAME example.gitbook.io.
status.example.com IN CNAME stats.uptimerobot.com.
CNAME مقابل سجل A
| السيناريو | استخدم CNAME | استخدم سجل A |
|---|---|---|
| النطاق الجذري (@) | ❌ غير مسموح | ✅ مطلوب |
| نطاق فرعي إلى IP ثابت | أيهما يعمل | ✅ مباشر |
| نطاق فرعي إلى مزود | ✅ مفضل | ❌ IP قد يتغير |
| إعداد CDN | ✅ النموذجي | يختلف |
| توازن التحميل | ❌ لا يمكن وجود متعددة | ✅ IPs متعددة |
لماذا لا يمكن للنطاقات الجذرية استخدام CNAME
تحظر مواصفات DNS (RFC 1034) سجلات CNAME من التعايش مع أنواع سجلات أخرى بنفس الاسم. نظراً لأن النطاقات الجذرية تحتاج إلى سجلات SOA و NS، فلا يمكنها أن يكون لها سجلات CNAME.
حلول لاسم مستعار نطاق جذري:- سجلات ALIAS/ANAME: سجلات شبه حقيقية خاصة بموفر DNS
- تسطيح CNAME: تحل Cloudflare والآخرون CNAME إلى سجلات A
- إعادة توجيه www إلى جذري: استخدم CNAME لـ www، أعد التوجيه إلى @ على مستوى التطبيق
سلاسل CNAME
يمكن لـ CNAMEs أن تشير إلى CNAMEs أخرى (سلسلة):
blog.example.com → myblog.host.com
myblog.host.com → lb-1234.hosting.com
lb-1234.hosting.com → 203.0.113.50 (سجل A)
بينما صحيح، تضيف السلاسل الكمون. تحد معظم موفري DNS من طول السلسلة لمنع الحلقات اللانهائية.
إعداد سجل CNAME
الصيغة الأساسية
subdomain IN CNAME target.domain.com.
مهم: يجب أن يتضمن النطاق الهدف نقطة زائدة (.) للإشارة إلى أنه مؤهل بالكامل. بدونها، قد تضيف بعض خوادم DNS نطاق الأصل.
اعتبارات TTL
تؤثر TTLs CNAME على سرعة نشر التغييرات:
www 300 IN CNAME example.com.
تسمح TTLs الأقصر (300 ثانية) بتحديثات أسرع؛ TTLs الأعلى تقلل استعلامات DNS.
التحقق من سجلات CNAME
استخدام dig:dig www.example.com CNAME
; ANSWER SECTION:
www.example.com. 300 IN CNAME example.com.
تتبع حل كامل:
dig +trace www.example.com
مشاكل CNAME الشائعة
CNAME في النطاق الجذري
example.com IN CNAME other.com. ; غير صالح
هذا يكسر البريد الإلكتروني (سجلات MX) والخدمات الأخرى.
CNAME مع سجلات أخرى
blog.example.com IN CNAME host.com.
blog.example.com IN MX mail.host.com. ; غير صالح
لا يمكن لاسم مع CNAME أن يكون له أنواع سجلات أخرى.
سجلات الهدف المفقودة
إذا لم يتحل هدف CNAME، فلن يعمل النطاق الفرعي الخاص بك أيضاً. تحقق من أن الأهداف صحيحة قبل تكوين CNAMEs.
أفضل الممارسات
1. استخدم CNAMEs للخدمات الخارجية: اترك المزودين يدير تغييرات IP
2. تجنب السلاسل العميقة: كل قفزة تضيف الكمون
3. لا تعطي اسماً مستعاراً الجذر: استخدم سجلات A أو ALIAS
4. ضمّن نقاط زائدة: ضمن أسماء أهداف مؤهلة بالكامل
5. راقب أهداف CNAME: التغييرات الخارجية يمكن أن تؤثر على موقعك