ملف المنطقة
ملف منطقة نظام أسماء النطاقات ( DNS) هو ملف نصي يصف منطقة DNS . منطقة DNS هي مجموعة فرعية، غالبًا ما تكون نطاقًا واحدًا، من بنية أسماء النطاقات الهرمية لنظام DNS. يحتوي ملف المنطقة على روابط بين أسماء النطاقات وعناوين IP وموارد أخرى، مُنظمة في شكل تمثيلات نصية لسجلات الموارد (RR). قد يكون ملف المنطقة ملف DNS رئيسيًا، يصف منطقة بشكل رسمي، أو قد يُستخدم لسرد محتويات ذاكرة التخزين المؤقت لنظام DNS. [ 1 ] [ 2 ]
تنسيق الملف
يُحدد تنسيق ملف المنطقة في RFC 1035 (القسم 5) و RFC 1034 (القسم 3.6.1). استُخدم هذا التنسيق في الأصل بواسطة حزمة برامج Berkeley Internet Name Domain (BIND)، ولكنه اعتُمد على نطاق واسع من قِبل برامج خوادم DNS الأخرى، مع أن بعضها (مثل NSD و PowerDNS ) يستخدم ملفات المنطقة كنقطة انطلاق فقط لتحويلها إلى تنسيق قاعدة بيانات، انظر أيضًا Microsoft DNS مع تكامل قاعدة بيانات Active Directory .
ملف المنطقة عبارة عن سلسلة من الإدخالات المرتبة في أسطر، كل منها إما توجيه أو وصف نصي يُعرّف سجل مورد واحد ( RR ). يتكون الإدخال من حقول مفصولة بأي مزيج من المسافات البيضاء (علامات الجدولة والمسافات)، وينتهي عند حدود السطر باستثناء ما هو داخل قيمة حقل نصي مُقتبس أو زوج من أقواس التنسيق. يمكن أن ينتهي أي سطر بنص تعليق مسبوق بفاصلة منقوطة، وقد يحتوي الملف أيضًا على أي عدد من الأسطر الفارغة. [ 3 ]
يمكن إدخال البيانات بأي ترتيب في ملف المنطقة باستثناء أن سجل SOA يجب أن يكون في أعلى المنطقة.
التوجيهات هي إدخالات تحكم تؤثر على باقي ملف المنطقة. يتكون الحقل الأول من التوجيه من علامة الدولار متبوعة بكلمة مفتاحية:
- يتبع $ORIGIN اسم نطاق لاستخدامه كمصدر لأسماء النطاقات النسبية اللاحقة.
- يتبع $INCLUDE اسم ملف واسم نطاق أصلي اختياري لاستخدامه عند تفسير محتوياته (والتي يتم التعامل معها كما لو كانت تظهر في الملف الأصل، متبوعة بإعادة تعيين إلى قيمة الأصل قبل تقييم التوجيه).
- يتبع $TTL، المحدد في RFC 2308 (القسم 4)، رقم يستخدم كقيمة TTL الافتراضية (مدة البقاء) . [ 4 ]
- يُستخدم امتداد $GENERATE، وهو امتداد غير قياسي يقبله برنامج BIND وبعض برامج خوادم الأسماء الأخرى لإدراج سجلات موارد متعددة في مدخل واحد، متبوعًا بتمثيل موجز لتسلسل متزايد من الأرقام غير السالبة، ثم مدخل سجل موارد نموذجي. يُضاف سجل موارد لكل رقم في التسلسل، باستخدام النموذج مع استبدال أحرف "$" غير المُهرّبة بالرقم.
يتكون سجل الموارد من عدة حقول كما يلي (كلا ترتيبي الحقول مقبولان ويمكن استخدامهما بالتبادل):
| اسم | ttl | فئة التسجيل | نوع السجل | بيانات السجل |
| اسم | فئة التسجيل | ttl | نوع السجل | بيانات السجل |
يمكن ترك حقل الاسم فارغًا . في هذه الحالة، يرث السجل هذا الحقل من السجل السابق. يُستخدم الرمز @ للدلالة على المصدر الحالي.
يُحدد حقل ttl عدد الثواني التي يجب على عميل التخزين المؤقت بعدها حذف السجل وإجراء عملية تحليل جديدة للحصول على معلومات محدثة. تسمح بعض خوادم الأسماء، بما في ذلك BIND، بتمثيلات غير قياسية تستخدم اختصارات وحدات الوقت (على سبيل المثال، "2d" تعني يومين من 24 ساعة أو "1h30m" تعني ساعة و30 دقيقة). يمكن حذف هذا الحقل، وفي هذه الحالة سيتم تعيين القيمة الناتجة من قيمة TTL الافتراضية (إن وُجدت) أو من السجل السابق.
يشير حقل فئة السجل إلى نطاق اسم معلومات السجل. يمكن حذفه، وفي هذه الحالة سيتم تعيين القيمة الناتجة من السجل السابق. نطاق الاسم الأكثر استخدامًا هو نطاق الإنترنت، المشار إليه بالمعامل IN ، ولكن توجد نطاقات أخرى قيد الاستخدام، مثل CHAOS .
يُعد حقل نوع السجل اختصارًا لنوع المعلومات المخزنة في الحقل الأخير، بيانات السجل . على سبيل المثال: يربط سجل العنوان (النوع A لـ IPv4، أو النوع AAAA لـ IPv6 ) اسم النطاق من الحقل الأول بعنوان IP في بيانات السجل؛ ويحدد سجل مُبدِّل البريد (النوع MX ) مُضيف البريد لبروتوكول نقل البريد البسيط (SMTP) لنطاق ما.
قد يتكون حقل بيانات السجل من عنصر معلومات واحد أو أكثر، وذلك بحسب متطلبات كل نوع من أنواع السجلات. على سبيل المثال، لا يتطلب سجل العنوان سوى عنوان، بينما يتطلب سجل مبدل البريد أولوية واسم نطاق. تُمثَّل عناصر المعلومات هذه كحقول مفصولة بمسافات بيضاء.
ملف مثال
فيما يلي مثال على ملف منطقة النطاق example.com :
$ORIGINexample.com.; designates the start of this zone file in the namespace$TTL3600; default expiration time (in seconds) of all RRs without their own TTL valueexample.com.INSOAns.example.com.username.example.com.(20200910257200360012096003600)example.com.INNSns; ns.example.com is a nameserver for example.comexample.com.INNSns.somewhere.example.; ns.somewhere.example is a backup nameserver for example.comexample.com.INMX10mail.example.com.; mail.example.com is the mailserver for example.com@INMX20mail2.example.com.; equivalent to above line, "@" represents zone origin@INMX50mail3; equivalent to above line, but using a relative host nameexample.com.INA192.0.2.1; IPv4 address for example.comINAAAA2001:db8:10::1; IPv6 address for example.comnsINA192.0.2.2; IPv4 address for ns.example.comINAAAA2001:db8:10::2; IPv6 address for ns.example.comwwwINCNAMEexample.com.; www.example.com is an alias for example.comwwwtestINCNAMEwww; wwwtest.example.com is another alias for www.example.commailINA192.0.2.3; IPv4 address for mail.example.commail2INA192.0.2.4; IPv4 address for mail2.example.commail3INA192.0.2.5; IPv4 address for mail3.example.com
كحد أدنى، يجب أن يحدد ملف النطاق سجل بدء الصلاحية (SOA) متضمنًا اسم خادم الأسماء الرئيسي المعتمد للنطاق وعنوان البريد الإلكتروني للشخص المسؤول عن إدارة خادم الأسماء (مُمثَّلًا باسم نطاق، مع استبدال رمز @ بنقطة ). كما تحدد معلمات سجل SOA قائمة بمعلمات التوقيت والانتهاء (الرقم التسلسلي، وفترة تحديث الخادم التابع، ووقت إعادة محاولة الخادم التابع، ووقت انتهاء صلاحية الخادم التابع، والحد الأقصى لوقت تخزين السجل مؤقتًا). تتطلب بعض خوادم الأسماء، بما في ذلك BIND، سجل NS إضافيًا واحدًا على الأقل.
في ملف المنطقة، تكون أسماء النطاقات التي تنتهي بنقطة (مثل " example.com. " في المثال أعلاه) مؤهلة بالكامل، بينما تكون تلك التي لا تنتهي بنقطة نسبية إلى الأصل الحالي (وهذا هو سبب إشارة www في المثال أعلاه إلى www.example.com ).
يُشار إلى ملف المنطقة بواسطة ملف تكوين برنامج خادم الأسماء. على سبيل المثال، يستخدم BIND عادةً عبارة مثل:
zone "example.com" { type master; file "/var/named/db.example.com"; };منطقة الجذر والنطاقات ذات المستوى الأعلى
تحتوي ملفات المنطقة الخاصة بمنطقة الجذر لنظام أسماء النطاقات (DNS) ومجموعة النطاقات ذات المستوى الأعلى على سجلات موارد خاصة بخوادم أسماء النطاقات الموثوقة لكل اسم نطاق.
المضيف المحلي
تقوم بعض برامج الخادم تلقائيًا بتكوين سجلات الموارد للمجالات أو أسماء المضيفين المعترف بها بشكل خاص، مثل localhost ، ولكن يمكن استخدام ملف رئيسي مخصص للمنطقة.
فيما يلي مثال على التكوين اليدوي لمنطقة التوجيه الخاصة بالمضيف المحلي :
$ORIGIN localhost. @ 86400 IN SOA @ root ( 1999010100 ; serial 10800 ; refresh (3 hours) 900 ; retry (15 minutes) 604800 ; expire (1 week) 86400 ; minimum (1 day) ) @ 86400 IN NS @ @ 86400 IN A 127.0.0.1 @ 86400 IN AAAA ::1تعريف منطقة الانعكاس المقابلة هو:
ملف منطقة عكسية لـ 127.0.0.1 و ::1 ، مدة البقاء 1814400 ثانية ؛ 3 أسابيع @ 1814400 IN SOA localhost.root.localhost . ( 1999010100 ؛ الرقم التسلسلي 10800 ؛ التحديث (3 ساعات) 900 ؛ إعادة المحاولة (15 دقيقة) 604800 ؛ انتهاء الصلاحية (أسبوع واحد) 86400 ؛ الحد الأدنى (يوم واحد) ) @ 1814400 IN NS localhost.1 1814400 IN PTR localhost .لا يحدد هذا الملف المصدر بحيث يمكن استخدامه لكل من IPv4 و IPv6 مع هذا التكوين:
zone "0.0.127.in-addr.arpa" IN { type master ; file "r.local" ; } ; zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN { type master ; file "r.local" ; } ;يمكن إنشاء ملفات رئيسية مماثلة للمنطقة لعكس عملية تحليل عنوان البث والعنوان الفارغ. تمنع هذه الملفات خادم نظام أسماء النطاقات (DNS) من الإشارة إلى خوادم DNS أخرى، قد تكون خارجية.
انظر أيضاً
مراجع
- ↑ RFC 1035 ، أسماء النطاقات - التنفيذ والمواصفات ، بقلم ب. موكابيتريس، (نوفمبر 1987)
- ↑ RFC 4027 ، أنواع وسائط نظام أسماء النطاقات ، إس. جوزيفسون، (أبريل 2005)
- ↑ RFC 1034 ، أسماء النطاقات - المفاهيم والمرافق ، بي. موكابتريس، (نوفمبر 1987)
- ↑ RFC 2308 ، التخزين المؤقت السلبي لاستعلامات نظام أسماء النطاقات (DNS NCACHE) ، م. أندروز، (مارس 1998)
- نظام أسماء النطاقات
