ما هو سجل SOA؟
سجل SOA (بداية السلطة) سجل DNS إلزامي يحتوي المعلومات الإدارية الأساسية لمنطقة DNS. يجب أن تملك كل منطقة سجل SOA واحداً بالضبط عند قمة المنطقة، يحدد خادم الأسماء الأساسي وجهة اتصال المسؤول ورقم المنطقة التسلسلي ومعاملات نقل المنطقة والتخزين المؤقت. يثبت سجل SOA السلطة ويوفر بيانات وصفية مهمة لعمليات DNS.بنية سجل SOA
الحقول المكوِّنة
example.com. IN SOA ns1.example.com. admin.example.com. (
2024010101 ; Serial number
3600 ; Refresh (1 hour)
900 ; Retry (15 minutes)
604800 ; Expire (1 week)
86400 ; Minimum TTL (1 day)
)
تفصيل الحقول
| الحقل | الغرض | القيمة المعتادة |
|---|---|---|
| MNAME | خادم الأسماء الأساسي | ns1.example.com |
| RNAME | بريد المسؤول (@ مستبدلة بنقطة) | admin.example.com |
| Serial | رقم إصدار المنطقة | YYYYMMDDnn |
| Refresh | فترة فحص الخوادم الثانوية | 3600-86400 |
| Retry | إعادة المحاولة بعد فشل التحديث | 900-3600 |
| Expire | توقف الثانوي عن الخدمة | 604800-2419200 |
| Minimum | TTL للتخزين السلبي | 300-86400 |
شرح حقول سجل SOA
MNAME (خادم الأسماء الأساسي)
خادم الأسماء الموثوق للمنطقة:
- يجب أن يكون اسم مضيف صالحاً وقابلاً للحل.
- يشير إلى خادم DNS الأساسي.
- تستخدمه الخوادم الثانوية لتحديد مصدر البيانات.
RNAME (الشخص المسؤول)
عنوان البريد الإلكتروني لمسؤول المنطقة:
admin.example.com = [email protected]
hostmaster.example.com = [email protected]
ملاحظة: تستبدل النقطة الأولى الرمز @.
الرقم التسلسلي
معرّف إصدار لبيانات المنطقة:
Common format: YYYYMMDDnn
Example: 2024010102 (Jan 1, 2024, revision 2)
Must increment with every zone change
Secondaries compare to know if updates needed
يجب أن يزيد الرقم مع كل تغيير في المنطقة، وتقارنه الخوادم الثانوية لمعرفة ما إذا كانت التحديثات مطلوبة.
معاملات التوقيت
تتحكم في سلوك نقل المنطقة والتخزين المؤقت.
Refresh: عدد المرات التي تفحص فيها الخوادم الثانوية التحديثات.Recommended: 3600-86400 seconds (1-24 hours)
Retry: مدة الانتظار بعد فشل محاولة التحديث.
Recommended: 900-3600 seconds (15-60 minutes)
Expire: الوقت الذي تتوقف فيه الخوادم الثانوية عن تقديم المنطقة.
Recommended: 604800-2419200 seconds (1-4 weeks)
Minimum TTL: مدة التخزين السلبي.
How long to cache "domain doesn't exist" responses
Recommended: 300-86400 seconds
عرض سجلات SOA
باستخدام dig
dig example.com SOA
# Output:
example.com. 3600 IN SOA ns1.example.com. admin.example.com. 2024010101 3600 900 604800 86400
باستخدام nslookup
nslookup -type=SOA example.com
أفضل ممارسات سجل SOA
1. زد الرقم التسلسلي مع كل تغيير: فهذا ضروري لنقل المنطقة.
2. استخدم صيغة تسلسلية مفهومة: يوصى بصيغة YYYYMMDD##.
3. اضبط المؤقتات المناسبة: وازن بين حداثة البيانات وحمل الخادم.
4. استخدم بريد اتصال صالحاً: ليتمكن المسؤول من الوصول إليه.
5. تأكد من قابلية حل MNAME: يجب أن يشير إلى NS صالح.
مشكلات سجل SOA الشائعة
| المشكلة | السبب | الحل |
|---|---|---|
| فشل نقل المنطقة | لم تزداد القيمة التسلسلية | حدّث الرقم التسلسلي دائماً |
| بيانات قديمة في الثانويات | Refresh طويل جداً | قلل فترة التحديث |
| حمل DNS مرتفع | Refresh قصير جداً | زد فترة التحديث |
| تخزين NXDOMAIN مدة طويلة | Minimum TTL مرتفع | قلل قيمة Minimum |
سجل SOA هو السجل الإداري الأساسي لأي منطقة DNS، إذ يتحكم في المزامنة بين خوادم الأسماء الأساسية والثانوية ويحدد سلوك التخزين المؤقت للمنطقة بأكملها.