<?xml version="1.0"?>
<rss version="2.0"><channel><title>DevOps: DNS</title><link>https://academy.hsoub.com/devops/servers/dns/?d=4</link><description>DevOps: DNS</description><language>ar</language><item><title>&#x645;&#x627; &#x647;&#x648; DNS&#x61F;</title><link>https://academy.hsoub.com/devops/servers/dns/%D9%85%D8%A7-%D9%87%D9%88-dns%D8%9F-r787/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2023_08/1233400033_.png.f90a1a7924e7404472efb4ad857a0516.png" /></p>
<p>
	سنتعرف في هذا الفيديو على أحد أهم عناصر الشبكات، و أحد أكثر المفاهيم التي نتعامل معها بشكل يومي أثناء تصفحنا لمواقع الويب الموجودة عبر الانترنت وهو Domain Name System نظام تسمية النطاقات أو ما يعرف اختصارًا بالـ DNS. فما هو DNS؟ وما هي أهميته؟ وكيف يعمل؟  تعرف معنا على إجابات هذه الاسئلة خلال هذا الفيديو.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="603" id="ips_uid_4671_5" src="https://academy.hsoub.com/applications/core/interface/index.html" title="ما هو DNS" width="1072" data-embed-src="https://www.youtube.com/embed/Bb9Cs0mJed8"></iframe>
</p>

<p>
	إذا أردت التعرف أكثر على الخوادم والشبكات، فننصحك بالانضمام إلى <a href="https://academy.hsoub.com/learn/computer-science/" rel="">دورة علوم الحاسوب</a>، ولا تنسَ الاستعانة خلال رحلة تعلمك وعملك بتوثيقات <a href="https://wiki.hsoub.com/%D8%A7%D9%84%D8%B5%D9%81%D8%AD%D8%A9_%D8%A7%D9%84%D8%B1%D8%A6%D9%8A%D8%B3%D9%8A%D8%A9" rel="external">موسوعة حسوب</a> المجانية. وإذا أردت متابعة المعلومات البرمجية العلمية مكتوبة فيمكنك الاطلاع على <a href="https://academy.hsoub.com/programming/" rel="">قسم البرمجة في أكاديمية حسوب</a>، كما يمكنك متابعة جديد الفيديوهات التقنية المتاحة على <a href="https://www.youtube.com/@HsoubAcademy" rel="external nofollow">يوتيوب أكاديمية حسوب</a> مجانًا.
</p>
]]></description><guid isPermaLink="false">787</guid><pubDate>Wed, 31 May 2023 15:00:00 +0000</pubDate></item><item><title>&#x646;&#x635;&#x627;&#x626;&#x62D; &#x623;&#x633;&#x627;&#x633;&#x64A;&#x629; &#x62A;&#x632;&#x648;&#x651;&#x64E;&#x62F; &#x628;&#x647;&#x627; &#x642;&#x628;&#x644; &#x634;&#x631;&#x627;&#x621; &#x646;&#x637;&#x627;&#x642; &#x62C;&#x62F;&#x64A;&#x62F;</title><link>https://academy.hsoub.com/devops/servers/dns/%D9%86%D8%B5%D8%A7%D8%A6%D8%AD-%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A9-%D8%AA%D8%B2%D9%88%D9%91%D9%8E%D8%AF-%D8%A8%D9%87%D8%A7-%D9%82%D8%A8%D9%84-%D8%B4%D8%B1%D8%A7%D8%A1-%D9%86%D8%B7%D8%A7%D9%82-%D8%AC%D8%AF%D9%8A%D8%AF-r447/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2019_10/5db45dab87032_-------.jpg.4a907796972849a22aafecf816cbd3eb.jpg" /></p>

<p>
	إن الحصول على اسم نطاق جيد لن يؤدي في كثير من الأحيان إلى زيادة عدد الزيارات إلى موقعك فحسب، بل سيسهل أيضًا تذكره - وهذا يجلب المزيد من الزيارات أيضًا.
</p>

<p>
	هناك كثير من الأشياء التي يجب على مصمم المواقع أن بفكر بها عندما يصمم موقع. وخصوصًا إن كانت لديه المسؤولية الكاملة عن الموقع، فيجب عليه أن يأتي باسم نطاق جيد للموقع. على الرغم من أن الكثيرين يعتقدون أن اختيار اسم جيد ليس بتلك الأهمية، إلا أن اسم النطاق مهم مثل اسم شركتك أو موقع الويب أو صفحة فيس بوك.
</p>

<p>
	إن العثور على اسم نطاق مثالي ليس سهلًا على الإطلاق في يومنا الحالي. كثير من النطاقات التي من الممكن أن تفكر بها إما أن تكون مستخدمة من قِبل شركة أخرى أو شخص ما اشتراها للربح أو حتى في الأعمال التجارية. غالبًا ما يمضي خبراء الويب وقتًا في العثور على اسم نطاق مناسبٍ أكثر من الوقت في تصميم هوية أو موقع ويب.
</p>

<h2>
	العلامة التجارية
</h2>

<p>
	تعد العلامة التجارية مفهوما مهما جدًا بالنسبة للأعمال. يوجد لكل شركة علامة تجارية، تمثل اسمها وشعارها ومخطط ألوانها وهويتها البصرية. ومع ذلك، لا نجد أن كل العلامات التجارية معروفة. وهذا هو الفرق في الوعي بالعلامة التجارية.
</p>

<p>
	تعتمد الشركة التي لديها وعي بالعلامة التجارية على قدرة عملائها على تذكر علامتهم التجارية والتعرف عليها في ظروف مختلفة وربطها بعناصر علامتها التجارية. وهو يتعلق برضى العملاء عن أحد المنتجات وإدراك المنتجات فور رؤيتهم للعلامة التجارية.
</p>

<p>
	إنه الفرق بين كوكا كولا وشركة كولا بلا اسم. أو الفرق بين منتج شركة Apple ومنتج شركة غير معروف اسمها.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="32189" href="https://academy.hsoub.com/uploads/monthly_2019_10/godaddy1.jpg.c9776c7af84adebbf6e0ce064984be27.jpg" rel=""><img alt="godaddy1.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="32189" data-unique="data-unique" src="https://academy.hsoub.com/uploads/monthly_2019_10/godaddy1.jpg.c9776c7af84adebbf6e0ce064984be27.jpg"></a>
</p>

<p>
	قبل 10 سنوات لم يكن الموضوع بهذا الحجم كما هو عليه الآن، إلّا أن اليوم إن كنت تملك شركة وتريد علامة تجارية قوية ، فإن المعرفة الأساسية في اختيار اسم نطاق لموقعك يعتبر مهمًا جدًا، كما هو الحال مع عنوان مكتبك. وحيث يمكّن الأشخاص من العثور عليك والاتصال بك.
</p>

<h2>
	الامتدادات (Extensions)
</h2>

<p>
	إن أكثر الامتدادات استخدامًا في العالم هي الامتدادات الثلاثة التالية com. و net. و org.. يبدو اسم النطاق مع واحدة من هذه الامتدادات مثاليًا لأي نوع من الأعمال. فاستخدام أحد الامتدادات المجانية مثل TK. قد لا يكون ناجحًا جدًا.
</p>

<p>
	في كثير من الأحيان لا يستطيع الزوار تذكر موقعك، لذلك هم يحاولون استخدام اسم شركتك مع هذه الامتدادات الثلاثة المشهورة. وهذا ما أفعله في كثير من الأحيان ، لذا أني أفترض أن إحدى الشركات التي سأكون مهتمًا بالتعامل معها، أو أن أحد مواقع الويب التي سأكون مهتمًا بزيارتها سيكون له واحد من هذه الامتدادات الثلاثة.
</p>

<p>
	وكما قلت للتو أن هذه الامتدادات ذات شعبية كبيرة، لذا يتوقع الزوار أن تستخدم الشركات هذه الامتدادات الثلاثة فقط.
</p>

<p>
	يقدم بعض مقدمي خدمات حجز النطاقات عروضًا لمن يشتري الامتدادات الثلاثة سيحصل على خصم. لذا فإن حصولك على الامتدادات الثلاثة سيكون مفيد جدًا لك في المستقبل - تعدّ هذه الخطوة ذكية جدًا وستضعك في موضع الصدارة.
</p>

<p>
	من الميزات الأخرى لاستخدام الامتدادات الثلاثة (أو واحد منها) أن أسعارهم رخيصة جدًا. ومدعومين في جميع أنحاء العالم ومن الصعب العثور على مقدم خدمات حجز النطاقات لا يبيعها.
</p>

<p>
	بالتأكيد أن لا أقول أنه يجب عليك أن تملك واحدًا منهم. الشريك المؤسس لووردبريس Matt Mullenweg لديه واحد من أروع أسماء النطاقات ألا وهو www.ma.Tt. نعم، لديه امتداد غريب إلا أنه يتوافق مع إسمه بشكل مثالي.
</p>

<p>
	إذا تمكنت من العثور على شيء ذكي مثل هذا الامتداد، فاحصل عليه مباشرة، ولكن فكر في حقيقة أن الأشخاص الذين لا يعرفون الكثير عن الويب لا يعرفون عن وجود شيء آخر غير امتدادات com. و net. و org..
</p>

<p>
	وينبغي أن يكون هذا الجزء غذاء لأفكارك. ومع ذلك، يعدّ اختيار امتداد لاسم النطاق واحدًا من أسهل المهام في إنشاء علامة تجارية قوية. ولكن انتظر! هناك الكثير من الأمور التي يجب عليك متابعتها أيضًا.
</p>

<h2>
	الموقع
</h2>

<p>
	بالتحدث عن الإمتدادات، يعدّ الموقع شيء آخر يجب عليك التفكير فيه. إنه يعتمد بشكل كبير على نوع أعمالك والغرض منها. ويعتمد كثيرًا على الجمهور والسوق وسلوكهم.
</p>

<p>
	إذا كان لديك شركة دانماركية تستهدف الدنماركيين فقط، فإن وجود موقع ويب ينتهي في com. لن يكون له داعٍ لأننا نستطيع الحصول على امتداد سهل التمييز مثل dk.. جميع البلدان لديها امتدادات نطاق (Top-level Domain). وبالتأكيد dk. ليس هو الخيار الوحيد المتوفر.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="32188" href="https://academy.hsoub.com/uploads/monthly_2019_10/domain1.jpg.9cb705576818a9f07ad610cc8b01ca5f.jpg" rel=""><img alt="domain1.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="32188" data-unique="data-unique" src="https://academy.hsoub.com/uploads/monthly_2019_10/domain1.jpg.9cb705576818a9f07ad610cc8b01ca5f.jpg"></a>
</p>

<p>
	يُستخدم رمز البلد TLD في أغلب الأحيان للشركات والأفراد في البلد المَعني. ويكيبيديا لديها <a href="https://en.wikipedia.org/wiki/List_of_Internet_top-level_domains" rel="external nofollow">قائمة طويلة</a> وكاملة من TLDS في جميع أنحاء العالم.
</p>

<p>
	من السهل ملاحظة أن بعض هذه الامتدادات يتطلب إما تسجيل شركة في البلد أو على الأقل الحصول على تصريح إقامة، لذلك فإن التسجيل عليها ليس بتلك السهولة، وخصوصًا إن كنت تتطلع أن تفعل مثلما فعل Matt في امتداد موقعه.
</p>

<p>
	وهو أيضا خيار للشركات التي تستهدف الدول التي لا تستخدم الأبجدية الإنجليزية، مثل الدول الآسيوية، أو العربية، أو روسيا. وتسمى IDNs (أسماء النطاقات الدولية Internationalized Domain Names) ويجب أن تستخدمها فقط لاستكمال عنوان com. (أو أي TLD آخر) وإلا فإنه سيكون مربكًا للزائرين الذين لغتهم الرئيسية الإنجليزية أو أحد الأبجديات المستخدمة في أوروبا أو أمريكا.
</p>

<h2>
	خدع وحِيَل
</h2>

<p>
	لقد تحدثنا عن الخدع قبل قليل وهي الأشياء الذكية التي تقوم بها لدمج اسم النطاق مع الامتداد. صدق أو لا تصدق أنه يوجد على الإنترنت أدوات مخصصة لمساعدتك في إيجاد تركيبات ممكنة لاسم موقعك وامتداده! يعدّ موقع <a href="https://domainr.com/" rel="external nofollow">Domai.NR</a> من أفضل الخيارات المتوفرة للاستخدام في هذا المجال، لأنه يعطيك العديد من الخيارات في بحث بسيط.
</p>

<p>
	تستعمل الناس هذه الخدع ليست لأنها رائعة فحسب، بل لأنه في أغلب الأحيان يكون الأسم المناسب لشركتهم مأخوذ بالفعل وهذا محبط جدًا، وإنه يحدث في كثيرٍ من الأحيان . لأن العثور على اسم مناسب ليس سهلًا إلى هذه الدرجة. لذلك أحيانًا قد ترغب في الإطلاع على بعض الخدع.
</p>

<h2>
	قبل الشراء
</h2>

<p>
	رائع، الآن وجدت اسم النطاق الذي تبحث عنه وأنت مستعدٌ لشرائه. لا، أنت لست مستعد! لقد نسيت شيئًا ما. وهو تتأكد من أن اسم النطاق الخاص بك لا يؤدي بك إلى مشاكل قانونية مع شركات أخرى. تأكد من أنه ليس هنالك شركة أخرى مشابهة تقوم بنفس الأعمال التي تقوم بها.
</p>

<p style="text-align: center;">
	<img alt="microsoft_vs_microwesoft.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="32191" data-unique="0cveaituw" src="https://academy.hsoub.com/uploads/monthly_2019_10/microsoft_vs_microwesoft.jpg.2e0f58ea4c87c35bfc83062351e3c174.jpg"></p>

<p>
	مايكروسوفت (Microsoft) ضد ميكروايسوفتيس (MikeRoweSoftis) <a href="https://en.wikipedia.org/wiki/Microsoft_v._MikeRoweSoft" rel="external nofollow">النزاع الأكثر شعبية</a> بشأن انتهاك اسم النطاق. حدث هذا قبل عشر سنوات تقريبًا وكانت قضية دسمة لوسائل الإعلام عندما كان مصمم المواقع الشاب مايك رو ينازع اسم نطاقه مع العملاق الأميركي بسبب تشابه اسم النطاق الخاص به مع اسم نطاق شركة مايكروسوفت.
</p>

<p>
	إن التقدم بطلب العلامة التجارية هو أمر تقوم به الشركات الضخمة، بما أنهم يعرفون أن مواقعهم ستكون ذات شعبية قوية بطبيعة الحال، لكن هذا أمر مكلف للغاية. وخصوصًا إذا كنت في البداية، لذا فقد ترغب في حماية اسمك بطريقة أخرى وترك فكرة شراء علامتك التجارية لوقت لاحق.
</p>

<p>
	بعض التقنيات التي يمكنك استخدامها تسمى الشراء بالجملة. يفضل العديد من الأفراد شراء الكثير من النطاقات ذات الأسم نفسه والامتدادات المختلفة، وإعادة توجيههم جميعًا إلى الموقع الرئيسي.
</p>

<h2>
	خدمات Whois
</h2>

<p>
	من الأخطاء التي يرتكبها العديد من الأفراد هي تسجيل نطاقاتهم ضمن خدمة الخصوصية WHOIS. وهذه الطريقة خطيرة للغاية، على الرغم من أنها تبدو مفيدة عندما تسمع بها لأول مرة. ولكن ماذا يحدث إذا قمت بتسجيل نطاقك ضمن خدمة خصوصية WHOIS هو أن تفاصيل الاتصال الخاصة بك مخفية.
</p>

<p>
	بدلاً من أن تملئ الحقول بالمعلومات الخاصة بك يجب عليك أن تملئ الحقول بالمعلومات الخاصة بالمزود الذي اشتريت من عنده. ولكن لماذا يعدّ هذا الشيء خطير؟ لأنه وفقًا لسياسات ICANN ، يكون الاسم في تفاصيل WHOIS للذي يملك النطاق (في هذه الحالة اسم الشركة الّتي اشتريت منها النطاق).
</p>

<p>
	هذا يعني أنه إذا تم اختراق موقعك، فلديك فرصة ضئيلة لإثبات أن النطاق هو ملكك بالفعل. إذا كان اسم المخترق في السجلات، فهو في الواقع يمتلك النطاق الذي دفعته مقابله. لذلك حتى لو كنت ترغب في حماية اسم نطاقك، لا أنصحك أن تفعل ذلك باستخدام هذه الخدمات، لأنها خطيرة جدًا.
</p>

<h2>
	الخاتمة
</h2>

<p>
	يمكن أن يؤدي امتلاك اسم نطاق جيد إلى تحسين تجربة المستخدم على موقع الويب الخاص بك. حتى لو كانت اليوم العديد من زيارات موقع الويب تأتي من محركات البحث والإحالات، إلا أن وجود اسم سهل للتذكر سيكون دائمًا مفيدًا. ومن المحتمل أن ينخفض نسبة الأشخاص الذين ينسون كيفية العثور عليك.
</p>

<p>
	ضع في حساباتك أن نطاقات المستوى الأعلى (Top-level domains) يمكن أن تساعدك في تصدر نتائج محرك البحث. وذلك لأنه يتم فهرسة ‎.com دومًا بشكل أسرع وأفضل من ‎.ru. إن قضاء الوقت في التفكير في كل التفاصيل والعثور على اسم النطاق الصحيح هو أمر سيستغرق الكثير من الوقت.
</p>

<p>
	ترجمة -وبتصرف- للمقال <a href="https://1stwebdesigner.com/essential-tips-for-registering-a-new-domain-name/" rel="external nofollow">Essential Tips for Registering a New Domain Name</a>
</p>
]]></description><guid isPermaLink="false">447</guid><pubDate>Sat, 26 Oct 2019 14:54:07 +0000</pubDate></item><item><title>&#x623;&#x62F;&#x648;&#x627;&#x62A; &#x623;&#x633;&#x627;&#x633;&#x64A;&#x629; &#x644;&#x644;&#x627;&#x633;&#x62A;&#x639;&#x644;&#x627;&#x645; &#x639;&#x646; &#x623;&#x633;&#x645;&#x627;&#x621; &#x627;&#x644;&#x646;&#x637;&#x627;&#x642;&#x627;&#x62A; &#x639;&#x644;&#x649; &#x644;&#x64A;&#x646;&#x643;&#x633;</title><link>https://academy.hsoub.com/devops/servers/dns/%D8%A3%D8%AF%D9%88%D8%A7%D8%AA-%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A9-%D9%84%D9%84%D8%A7%D8%B3%D8%AA%D8%B9%D9%84%D8%A7%D9%85-%D8%B9%D9%86-%D8%A3%D8%B3%D9%85%D8%A7%D8%A1-%D8%A7%D9%84%D9%86%D8%B7%D8%A7%D9%82%D8%A7%D8%AA-%D8%B9%D9%84%D9%89-%D9%84%D9%8A%D9%86%D9%83%D8%B3-r323/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2017_07/main2.png.a9c18c43031d6c185e51bef743e50414.png" /></p>

<h2 id="مقدمة">
	مقدّمة
</h2>

<p>
	تتوفّر الأداة Dig على توزيعات لينكس للاستعلام من خواديم <a href="https://academy.hsoub.com/devops/servers/%D9%85%D9%82%D8%AF%D9%91%D9%85%D8%A9-%D8%A5%D9%84%D9%89-%D9%85%D9%8F%D8%B5%D8%B7%D9%8E%D9%84%D8%AD%D8%A7%D8%AA-%D9%88%D8%B9%D9%86%D8%A7%D8%B5%D8%B1-%D9%88%D9%85%D9%81%D8%A7%D9%87%D9%8A%D9%85-%D9%86%D8%B8%D8%A7%D9%85-%D8%A3%D8%B3%D9%85%D8%A7%D8%A1-%D8%A7%D9%84%D9%86%D8%B7%D8%A7%D9%82%D8%A7%D8%AA-r5/" rel="">أسماء النطاقات DNS</a>. تساعد هذه الأداة كثيرا في تشخيص مشاكل النطاقات، كما أنها مناسبة للتأكد من أن إعدادات الشبكة تعمل على النحو المتوقّع.
</p>

<p>
	نقدّم في هذا المقال طريقة استخدام الأمر <code>dig</code> للتحقّق من إعدادات أسماء النطاقات والحصول على معلومات عن كيفيّة ظهور نطاقك على شبكة الإنترنت. سنرى خلال هذا الدرس كذلك أدوات مصاحبة تكمّل عمل Dig.
</p>

<p>
	نفّذنا الأوامر المعروضة في هذا المقال على الإصدار 16.04 من أوبنتو، إلا أنه من المُفترَض أن تعمل بطريقة مماثلة على أغلب توزيعات لينكس الحديثة.
</p>

<h2 id="كيف-يستخدم-الأمر-dig">
	كيف يُستخدم الأمر dig
</h2>

<p>
	أسهل طريقة لاستخدام الأمر <code>dig</code> هي تمرير اسم النطاق الذي نريد الاستعلام عنه إلى الأمر:
</p>

<pre class="ipsCode" id="ips_uid_6202_8">
dig example.com
</pre>

<p>
	نختبر - مثلا - محرّك البحث DuckDuckGo لنرى المعلومات التي سنحصُل عليها عنه:
</p>

<pre class="ipsCode" id="ips_uid_6202_8">
<code class="hljs avrasm"><span class="pln">dig duckduckgo</span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">com</span></span></code></pre>

<p>
	النتيجة:
</p>

<pre class="ipsCode" id="ips_uid_6202_8">
<code class="hljs scss"><span class="pun">;</span><span class="pln"> </span><span class="pun">&lt;&lt;&gt;&gt;</span><span class="pln"> </span><span class="typ">DiG</span><span class="pln"> </span><span class="lit">9</span><span class="hljs-class"><span class="lit">.10</span></span><span class="hljs-class"><span class="pun">.</span><span class="lit">3</span><span class="pun">-</span><span class="pln">P4</span><span class="pun">-</span><span class="typ">Ubuntu</span></span><span class="pln"> </span><span class="pun">&lt;&lt;&gt;&gt;</span><span class="pln"> duckduckgo</span><span class="hljs-class"><span class="pun">.</span><span class="pln">com</span></span><span class="pln">
</span><span class="pun">;;</span><span class="pln"> </span><span class="kwd">global</span><span class="pln"> options</span><span class="hljs-value"><span class="pun">:</span><span class="pln"> </span><span class="pun">+</span><span class="pln">cmd
</span><span class="pun">;</span></span><span class="pun">;</span><span class="pln"> </span><span class="typ">Got</span><span class="pln"> answer</span><span class="hljs-value"><span class="pun">:</span><span class="pln">
</span><span class="pun">;</span></span><span class="pun">;</span><span class="pln"> </span><span class="pun">-&gt;&gt;</span><span class="hljs-tag"><span class="pln">HEADER</span></span><span class="pun">&lt;&lt;-</span><span class="pln"> opcode</span><span class="hljs-value"><span class="pun">:</span><span class="pln"> QUERY</span><span class="pun">,</span><span class="pln"> status</span><span class="pun">:</span><span class="pln"> NOERROR</span><span class="pun">,</span><span class="pln"> id</span><span class="pun">:</span><span class="pln"> </span><span class="hljs-number"><span class="lit">64718</span></span><span class="pln">
</span><span class="pun">;</span></span><span class="pun">;</span><span class="pln"> flags</span><span class="hljs-value"><span class="pun">:</span><span class="pln"> qr rd ra</span><span class="pun">;</span></span><span class="pln"> QUERY</span><span class="hljs-value"><span class="pun">:</span><span class="pln"> </span><span class="hljs-number"><span class="lit">1</span></span><span class="pun">,</span><span class="pln"> ANSWER</span><span class="pun">:</span><span class="pln"> </span><span class="hljs-number"><span class="lit">2</span></span><span class="pun">,</span><span class="pln"> AUTHORITY</span><span class="pun">:</span><span class="pln"> </span><span class="hljs-number"><span class="lit">0</span></span><span class="pun">,</span><span class="pln"> ADDITIONAL</span><span class="pun">:</span><span class="pln"> </span><span class="hljs-number"><span class="lit">1</span></span><span class="pln">

</span><span class="pun">;</span></span><span class="pun">;</span><span class="pln"> OPT PSEUDOSECTION</span><span class="hljs-value"><span class="pun">:</span><span class="pln">
</span><span class="pun">;</span></span><span class="pln"> EDNS</span><span class="hljs-value"><span class="pun">:</span><span class="pln"> version</span><span class="pun">:</span><span class="pln"> </span><span class="hljs-number"><span class="lit">0</span></span><span class="pun">,</span><span class="pln"> flags</span><span class="pun">:;</span></span><span class="pln"> udp</span><span class="hljs-value"><span class="pun">:</span><span class="pln"> </span><span class="hljs-number"><span class="lit">4000</span></span><span class="pln">
</span><span class="pun">;</span></span><span class="pun">;</span><span class="pln"> QUESTION </span><span class="hljs-tag"><span class="pln">SECTION</span></span><span class="hljs-value"><span class="pun">:</span><span class="pln">
</span><span class="pun">;</span></span><span class="pln">duckduckgo</span><span class="hljs-class"><span class="pun">.</span><span class="pln">com</span></span><span class="pun">.</span><span class="pln">                        IN      </span><span class="hljs-tag"><span class="pln">A</span></span><span class="pln">

</span><span class="pun">;;</span><span class="pln"> ANSWER </span><span class="hljs-tag"><span class="pln">SECTION</span></span><span class="hljs-value"><span class="pun">:</span><span class="pln">
duckduckgo</span><span class="pun">.</span><span class="pln">com</span><span class="pun">.</span><span class="pln">         </span><span class="hljs-number"><span class="lit">176</span></span><span class="pln">     IN      A       </span><span class="hljs-number"><span class="lit">50.18</span></span><span class="pun">.</span><span class="hljs-number"><span class="lit">192.251</span></span><span class="pln">
duckduckgo</span><span class="pun">.</span><span class="pln">com</span><span class="pun">.</span><span class="pln">         </span><span class="hljs-number"><span class="lit">176</span></span><span class="pln">     IN      A       </span><span class="hljs-number"><span class="lit">50.18</span></span><span class="pun">.</span><span class="hljs-number"><span class="lit">192.250</span></span><span class="pln">

</span><span class="pun">;</span></span><span class="pun">;</span><span class="pln"> </span><span class="typ">Query</span><span class="pln"> </span><span class="hljs-tag"><span class="pln">time</span></span><span class="hljs-value"><span class="pun">:</span><span class="pln"> </span><span class="hljs-number"><span class="lit">270</span></span><span class="pln"> msec
</span><span class="pun">;</span></span><span class="pun">;</span><span class="pln"> SERVER</span><span class="hljs-value"><span class="pun">:</span><span class="pln"> </span><span class="hljs-number"><span class="lit">127.0</span></span><span class="pun">.</span><span class="hljs-number"><span class="lit">1.1</span></span><span class="hljs-hexcolor"><span class="com">#53</span></span><span class="com">(</span><span class="hljs-number"><span class="com">127.0</span></span><span class="com">.</span><span class="hljs-number"><span class="com">1.1</span></span><span class="com">)</span><span class="pln">
</span><span class="pun">;</span></span><span class="pun">;</span><span class="pln"> WHEN</span><span class="hljs-value"><span class="pun">:</span><span class="pln"> </span><span class="typ">Thu</span><span class="pln"> </span><span class="typ">Apr</span><span class="pln"> </span><span class="hljs-number"><span class="lit">20</span></span><span class="pln"> </span><span class="hljs-number"><span class="lit">13</span></span><span class="pun">:</span><span class="hljs-number"><span class="lit">28</span></span><span class="pun">:</span><span class="hljs-number"><span class="lit">31</span></span><span class="pln"> GMT </span><span class="hljs-number"><span class="lit">2017</span></span><span class="pln">
</span><span class="pun">;</span></span><span class="pun">;</span><span class="pln"> MSG SIZE  rcvd</span><span class="hljs-value"><span class="pun">:</span><span class="pln"> </span><span class="hljs-number"><span class="lit">75</span></span></span></code></pre>

<p>
	توجد الكثير من المعلومات في النتيجة أعلاه، فلنفحصها الواحدة تلو الأخرى.
</p>

<pre class="ipsCode" id="ips_uid_6202_8">
<code class="hljs lasso"><span class="pun">;</span><span class="pln"> </span><span class="hljs-subst"><span class="pun">&lt;&lt;&gt;&gt;</span></span><span class="pln"> </span><span class="typ">DiG</span><span class="pln"> </span><span class="hljs-number"><span class="lit">9.10</span></span><span class="hljs-number"><span class="pun">.</span><span class="lit">3</span></span><span class="hljs-attribute"><span class="pun">-</span><span class="pln">P4</span></span><span class="hljs-attribute"><span class="pun">-</span><span class="typ">Ubuntu</span></span><span class="pln"> </span><span class="hljs-subst"><span class="pun">&lt;&lt;&gt;&gt;</span></span><span class="pln"> duckduckgo</span><span class="hljs-built_in"><span class="pun">.</span></span><span class="pln">com
</span><span class="pun">;;</span><span class="pln"> </span><span class="hljs-built_in"><span class="kwd">global</span></span><span class="pln"> options</span><span class="pun">:</span><span class="pln"> </span><span class="hljs-subst"><span class="pun">+</span></span><span class="pln">cmd</span></code></pre>

<p>
	تمثّل الأسطر أعلاه ترويسة Header الاستعلام المُرسَل. يمكن تنفيذ الأمر <code>dig</code> على وضع الدُّفعات Batch mode، لذا من الجيّد أن تظهر الترويسات المناسبة لكلّ وضع من أجل تسهيل تحليل النتائج وقراءتها.
</p>

<p>
	تأتي بعد ذلك الأسطُر التالية.
</p>

<pre class="ipsCode" id="ips_uid_6202_8">
<code class="hljs lisp"><span class="hljs-comment"><span class="pun">;;</span><span class="pln"> </span><span class="typ">Got</span><span class="pln"> answer</span><span class="pun">:</span></span><span class="pln">
</span><span class="hljs-comment"><span class="pun">;;</span><span class="pln"> </span><span class="pun">-&gt;&gt;</span><span class="pln">HEADER</span><span class="pun">&lt;&lt;-</span><span class="pln"> opcode</span><span class="pun">:</span><span class="pln"> QUERY</span><span class="pun">,</span><span class="pln"> status</span><span class="pun">:</span><span class="pln"> NOERROR</span><span class="pun">,</span><span class="pln"> id</span><span class="pun">:</span><span class="pln"> </span><span class="lit">64718</span></span><span class="pln">
</span><span class="hljs-comment"><span class="pun">;;</span><span class="pln"> flags</span><span class="pun">:</span><span class="pln"> qr rd ra</span><span class="pun">;</span><span class="pln"> QUERY</span><span class="pun">:</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> ANSWER</span><span class="pun">:</span><span class="pln"> </span><span class="lit">2</span><span class="pun">,</span><span class="pln"> AUTHORITY</span><span class="pun">:</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> ADDITIONAL</span><span class="pun">:</span><span class="pln"> </span><span class="lit">1</span></span></code></pre>

<p>
	يُقدّم هذا المقطع ملخصًّا تقنيًّا لنتائج الاستعلام. يظهر أن الاستعلام نُفِّذ بنجاح (<code>status: NOERROR</code>، أي “الحالة: لا أخطاء”)، أن الأمر استخدم الخيارات <code>qr rd ra</code>وأننا حصلنا على إجابتيْن <code>ANSWER: 2</code>، ومقطع معلومات إضافيّ واحد <code>ADDITIONAL: 1</code>.
</p>

<p>
	يظهر بعدها المقطع الإضافيّ الذي يحوي سجلّا من نوع <code>OPT</code> يشير إلى أن الخادوم يدعم معيار EDNS المطلوب لتطبيق إجراءات أمنيّة مثل <a href="https://en.wikipedia.org/wiki/Domain_Name_System_Security_Extensions" rel="external nofollow">DNSSEC</a>.
</p>

<pre class="ipsCode" id="ips_uid_6202_8">
<code class="hljs lisp"><span class="hljs-comment"><span class="pun">;;</span><span class="pln"> OPT PSEUDOSECTION</span><span class="pun">:</span></span><span class="pln">
</span><span class="hljs-comment"><span class="pun">;</span><span class="pln"> EDNS</span><span class="pun">:</span><span class="pln"> version</span><span class="pun">:</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> flags</span><span class="pun">:;</span><span class="pln"> udp</span><span class="pun">:</span><span class="pln"> </span><span class="lit">4000</span></span></code></pre>

<p>
	ثم يأتي دور الإجابة الفعليّة التي تُظهر البيانات التي حصلنا عليها من الاستعلام.
</p>

<pre class="ipsCode" id="ips_uid_6202_8">
<code class="hljs ruleslanguage"><span class="pun">;;</span><span class="pln"> QUESTION </span><span class="hljs-keyword"><span class="pln">SECTION</span></span><span class="pun">:</span><span class="pln">
</span><span class="pun">;</span><span class="pln">duckduckgo</span><span class="pun">.</span><span class="pln">com</span><span class="pun">.</span><span class="pln">                        </span><span class="hljs-keyword"><span class="pln">IN</span></span><span class="pln">      A

</span><span class="pun">;;</span><span class="pln"> ANSWER </span><span class="hljs-keyword"><span class="pln">SECTION</span></span><span class="pun">:</span><span class="pln">
duckduckgo</span><span class="pun">.</span><span class="pln">com</span><span class="pun">.</span><span class="pln">         </span><span class="hljs-number"><span class="lit">176</span></span><span class="pln">     </span><span class="hljs-keyword"><span class="pln">IN</span></span><span class="pln">      A       </span><span class="hljs-number"><span class="lit">50.18</span></span><span class="hljs-number"><span class="pun">.</span><span class="lit">192</span></span><span class="hljs-number"><span class="lit">.251</span></span><span class="pln">
duckduckgo</span><span class="pun">.</span><span class="pln">com</span><span class="pun">.</span><span class="pln">         </span><span class="hljs-number"><span class="lit">176</span></span><span class="pln">     </span><span class="hljs-keyword"><span class="pln">IN</span></span><span class="pln">      A       </span><span class="hljs-number"><span class="lit">50.18</span></span><span class="hljs-number"><span class="pun">.</span><span class="lit">192</span></span><span class="hljs-number"><span class="lit">.250</span></span></code></pre>

<p>
	يعيد المقطع الموالي ذكر الطلب الذي أرسلناه إليه (<code>QUESTION SECTION</code>) ويطبع بعدها سجلّات DNS الموافقة له.
</p>

<p>
	يُرجع الأمر <code>dig</code> مبدئيّا السجلات من <a href="https://academy.hsoub.com/devops/servers/%D9%85%D9%82%D8%AF%D9%91%D9%85%D8%A9-%D8%A5%D9%84%D9%89-%D9%85%D9%8F%D8%B5%D8%B7%D9%8E%D9%84%D8%AD%D8%A7%D8%AA-%D9%88%D8%B9%D9%86%D8%A7%D8%B5%D8%B1-%D9%88%D9%85%D9%81%D8%A7%D9%87%D9%8A%D9%85-%D9%86%D8%B8%D8%A7%D9%85-%D8%A3%D8%B3%D9%85%D8%A7%D8%A1-%D8%A7%D9%84%D9%86%D8%B7%D8%A7%D9%82%D8%A7%D8%AA-r5/#%D8%B3%D8%AC%D9%84%D8%A7%D8%AA-A" rel="">النوع <code>A</code></a>. تُظهر النتيجة أعلاه أن لـ<code>duckduckgo.com</code> سجليْن من هذا النوع، يحويان <a href="https://academy.hsoub.com/devops/servers/%D8%AA%D9%88%D8%B5%D9%8A%D9%84-%D8%A7%D9%84%D8%B4%D9%91%D8%A8%D9%83%D8%A7%D8%AA-networking-%D9%84%D9%85%D9%8F%D8%AF%D8%B1%D8%A7%D8%A1-%D8%A7%D9%84%D8%AE%D9%88%D8%A7%D8%AF%D9%8A%D9%85-r62/" rel="">عناوين IP</a> المميّزة لاسم النطاق المطلوب. يشير العدد <code>176</code>إلى المُعطى TTL أي مدة صلاحيّة المعلومة؛ وهي المدة التي سينتظرها خادوم أسماء النطاقات قبل أن يعيد النظر في الارتباط بين اسم النطاق وعنوان IP. تعني <code>IN</code> أن هذا السّجل من سجلات الإنترنت المعيارية.
</p>

<p>
	تظهر ختام تنفيذ الأمر معلومات إحصائيّة عن الاستعلام، ومن بينها المدّة التي استغرقها الخادوم للإجابة. يمكن أن تدلّ هذه المعلومة على وجود مشاكل في خادوم الأسماء (الخادوم يُطيل في الإجابة على الطلب).
</p>

<pre class="ipsCode" id="ips_uid_6202_8">
<code class="hljs lisp"><span class="hljs-comment"><span class="pun">;;</span><span class="pln"> </span><span class="typ">Query</span><span class="pln"> time</span><span class="pun">:</span><span class="pln"> </span><span class="lit">27</span><span class="pln"> msec</span></span><span class="pln">
</span><span class="hljs-comment"><span class="pun">;;</span><span class="pln"> SERVER</span><span class="pun">:</span><span class="pln"> </span><span class="lit">127.0</span><span class="pun">.</span><span class="lit">1.1</span><span class="com">#53(127.0.1.1)</span></span><span class="pln">
</span><span class="hljs-comment"><span class="pun">;;</span><span class="pln"> WHEN</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Thu</span><span class="pln"> </span><span class="typ">Apr</span><span class="pln"> </span><span class="lit">20</span><span class="pln"> </span><span class="lit">13</span><span class="pun">:</span><span class="lit">28</span><span class="pun">:</span><span class="lit">31</span><span class="pln"> GMT </span><span class="lit">2017</span></span><span class="pln">
</span><span class="hljs-comment"><span class="pun">;;</span><span class="pln"> MSG SIZE  rcvd</span><span class="pun">:</span><span class="pln"> </span><span class="lit">75</span></span></code></pre>

<h2 id="كيف-تستخدم-dig-لاختبار-سجلات-dns">
	كيف تستخدم Dig لاختبار سجلات DNS
</h2>

<p>
	تحوي إجابة <code>dig</code> مبديئا معلومات عن السجلات من النوع <code>A</code>، إلا أنه يمكن تحديد نوع السجل المطلوب بذكره بعد اسم النطاق:
</p>

<pre class="ipsCode" id="ips_uid_6202_8">
<code class="hljs bash"><span class="pln">dig your_domain_name</span><span class="pun">.</span><span class="pln">com record_</span><span class="hljs-built_in"><span class="pln">type</span></span></code></pre>

<p>
	يستفسر الأمر التالي عن السجلّات من نوع <code>MX</code> (البريد الإلكتروني):<br><br><code>dig duckduckgo.com MX </code><br><br>
	يُظهر مقطع الإجابة السجلات التاليّة:
</p>

<pre class="ipsCode" id="ips_uid_6202_8">
<code class="hljs avrasm"><span class="pln"> </span><span class="hljs-comment"><span class="pun">;;</span><span class="pln"> QUESTION SECTION</span><span class="pun">:</span></span><span class="pln">
</span><span class="hljs-comment"><span class="pun">;</span><span class="pln">duckduckgo</span><span class="pun">.</span><span class="pln">com</span><span class="pun">.</span><span class="pln">                        IN      MX</span></span><span class="pln">

</span><span class="hljs-comment"><span class="pun">;;</span><span class="pln"> ANSWER SECTION</span><span class="pun">:</span></span><span class="pln">
duckduckgo</span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">com</span></span><span class="pun">.</span><span class="pln">         </span><span class="hljs-number"><span class="lit">300</span></span><span class="pln">     </span><span class="hljs-keyword"><span class="pln">IN</span></span><span class="pln">      MX      </span><span class="hljs-number"><span class="lit">60</span></span><span class="pln"> mx2</span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">dnsmadeeasy</span></span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">com</span></span><span class="pun">.</span><span class="pln">
duckduckgo</span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">com</span></span><span class="pun">.</span><span class="pln">         </span><span class="hljs-number"><span class="lit">300</span></span><span class="pln">     </span><span class="hljs-keyword"><span class="pln">IN</span></span><span class="pln">      MX      </span><span class="hljs-number"><span class="lit">40</span></span><span class="pln"> mx1</span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">dnsmadeeasy</span></span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">com</span></span><span class="pun">.</span><span class="pln">
duckduckgo</span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">com</span></span><span class="pun">.</span><span class="pln">         </span><span class="hljs-number"><span class="lit">300</span></span><span class="pln">     </span><span class="hljs-keyword"><span class="pln">IN</span></span><span class="pln">      MX      </span><span class="hljs-number"><span class="lit">10</span></span><span class="pln"> in1</span><span class="pun">-</span><span class="pln">smtp</span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">messagingengine</span></span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">com</span></span><span class="pun">.</span><span class="pln">
duckduckgo</span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">com</span></span><span class="pun">.</span><span class="pln">         </span><span class="hljs-number"><span class="lit">300</span></span><span class="pln">     </span><span class="hljs-keyword"><span class="pln">IN</span></span><span class="pln">      MX      </span><span class="hljs-number"><span class="lit">20</span></span><span class="pln"> in2</span><span class="pun">-</span><span class="pln">smtp</span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">messagingengine</span></span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">com</span></span><span class="pun">.</span><span class="pln">
duckduckgo</span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">com</span></span><span class="pun">.</span><span class="pln">         </span><span class="hljs-number"><span class="lit">300</span></span><span class="pln">     </span><span class="hljs-keyword"><span class="pln">IN</span></span><span class="pln">      MX      </span><span class="hljs-number"><span class="lit">50</span></span><span class="pln"> mx3</span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">dnsmadeeasy</span></span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">com</span></span><span class="pun">.</span></code></pre>

<p>
	نمرّر القيمة <code>ANY</code> مكان اسم السجل إن أردنا الحصول على معلومات عن جميع سجلات النطاق:
</p>

<pre class="ipsCode" id="ips_uid_6202_8">
<code class="hljs avrasm"><span class="pln">dig duckduckgo</span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">com</span></span><span class="pln"> ANY</span></code></pre>

<p>
	تتضمّن نتائج الأمر السابق جميع السجلّات التي توافق النطاق <code>duckduckgo.com</code> مهما كان نوعها.
</p>

<p>
	<strong>ملحوظة:</strong> نظرا لآليّة عمل نظام أسماء النطاقات فإن ظهور سجلّ أضيف حديثا إلى النطاق قد يأخذ وقتا. انتظر انقضاء مدّة TTL عند إضافة سجلّ جديد إلى النطاق، قبل أن تعيد الاستعلام عنه.
</p>

<p>
	إذا كان كلّ ما تريد البحث عنه هو عنوان (أو عناوين) IP الذي يُشير إليه النطاق فتمرير <code>short+</code> مكان نوع السجل يعطيك الإجابة:
</p>

<pre class="ipsCode" id="ips_uid_6202_8">
<code class="hljs cs"><span class="pln">dig duckduckgo</span><span class="pun">.</span><span class="pln">com </span><span class="pun">+</span><span class="hljs-keyword"><span class="kwd">short</span></span></code></pre>

<p>
	النتيجة:
</p>

<pre class="ipsCode" id="ips_uid_6202_8">
<code class="hljs "><span class="lit">50.18</span><span class="pun">.</span><span class="lit">192.250</span><span class="pln">
</span><span class="lit">50.18</span><span class="pun">.</span><span class="lit">192.251</span></code></pre>

<h2 id="استعمال-الأمر-host-بدلا-من-dig">
	استعمال الأمر host بدلا من dig
</h2>

<p>
	الأمر <code>host</code> هو بديل للأمر <code>dig</code> يشبهه في خيارات الاستخدام. يُنفَّذ الأمر <code>host</code> على النحو التالي:
</p>

<pre class="ipsCode" id="ips_uid_6202_8">
<code class="hljs "><span class="pln">host domain_name_or_IP_address</span></code></pre>

<p>
	حيث <code>domain_name_or_IP_address</code> هو اسم نطاق أو عنوان IP. لاحظ أن الأمر <code>host</code> لا يحتاج لخيارات من أجل تغيير وظيفة البحث من استعلام DNS العادي إلى استعلام DNS المعكوس (معرفة اسم النطاق انطلاقا من عنوان IP)؛ إذ يختار الوظيفة المناسبة انطلاقا من المعطى المُمرَّر.
</p>

<p>
	يمكن تحديد نوع السجلّات التي تهمّك بتمرير الخيار <code>t-</code> متبوعا باسم السجّل:
</p>

<pre class="ipsCode" id="ips_uid_6202_8">
<code class="hljs avrasm"><span class="pln">host </span><span class="pun">-</span><span class="pln">t mx duckduckgo</span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">com</span></span></code></pre>

<p>
	النتيجة:
</p>

<pre class="ipsCode" id="ips_uid_6202_8">
<code class="hljs avrasm"><span class="pln">duckduckgo</span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">com</span></span><span class="pln"> mail </span><span class="kwd">is</span><span class="pln"> handled </span><span class="kwd">by</span><span class="pln"> </span><span class="hljs-number"><span class="lit">20</span></span><span class="pln"> in2</span><span class="pun">-</span><span class="pln">smtp</span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">messagingengine</span></span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">com</span></span><span class="pun">.</span><span class="pln">
duckduckgo</span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">com</span></span><span class="pln"> mail </span><span class="kwd">is</span><span class="pln"> handled </span><span class="kwd">by</span><span class="pln"> </span><span class="hljs-number"><span class="lit">10</span></span><span class="pln"> in1</span><span class="pun">-</span><span class="pln">smtp</span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">messagingengine</span></span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">com</span></span><span class="pun">.</span><span class="pln">
duckduckgo</span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">com</span></span><span class="pln"> mail </span><span class="kwd">is</span><span class="pln"> handled </span><span class="kwd">by</span><span class="pln"> </span><span class="hljs-number"><span class="lit">50</span></span><span class="pln"> mx3</span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">dnsmadeeasy</span></span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">com</span></span><span class="pun">.</span><span class="pln">
duckduckgo</span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">com</span></span><span class="pln"> mail </span><span class="kwd">is</span><span class="pln"> handled </span><span class="kwd">by</span><span class="pln"> </span><span class="hljs-number"><span class="lit">40</span></span><span class="pln"> mx1</span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">dnsmadeeasy</span></span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">com</span></span><span class="pun">.</span><span class="pln">
duckduckgo</span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">com</span></span><span class="pln"> mail </span><span class="kwd">is</span><span class="pln"> handled </span><span class="kwd">by</span><span class="pln"> </span><span class="hljs-number"><span class="lit">60</span></span><span class="pln"> mx2</span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">dnsmadeeasy</span></span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">com</span></span><span class="pun">.</span></code></pre>

<p>
	استخدم الخيار <code>a-</code> إن أردت معلومات عن جميع أنواع السجلات (الإجابة قد تكون طويلة):
</p>

<pre class="ipsCode" id="ips_uid_6202_8">
<code class="hljs bash"><span class="pln">host </span><span class="hljs-operator"><span class="pun">-</span><span class="pln">a</span></span><span class="pln"> duckduckgo</span><span class="pun">.</span><span class="pln">com</span></code></pre>

<p>
	يمكن أيضا استخدام الخيار <code>v-</code> للحصول على معلومات إضافية عن <a href="https://academy.hsoub.com/devops/servers/%D9%85%D9%82%D8%AF%D9%91%D9%85%D8%A9-%D8%A5%D9%84%D9%89-%D9%85%D9%8F%D8%B5%D8%B7%D9%8E%D9%84%D8%AD%D8%A7%D8%AA-%D9%88%D8%B9%D9%86%D8%A7%D8%B5%D8%B1-%D9%88%D9%85%D9%81%D8%A7%D9%87%D9%8A%D9%85-%D9%86%D8%B8%D8%A7%D9%85-%D8%A3%D8%B3%D9%85%D8%A7%D8%A1-%D8%A7%D9%84%D9%86%D8%B7%D8%A7%D9%82%D8%A7%D8%AA-r5/#%D8%A7%D9%84%D9%85%D8%B6%D9%8A%D9%81-host" rel="">المضيف</a>:
</p>

<pre class="ipsCode" id="ips_uid_6202_8">
<code class="hljs avrasm"><span class="pln">host </span><span class="pun">-</span><span class="pln">v duckduckgo</span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">com</span></span></code></pre>

<h2 id="أدوات-أخرى-للاستعلام-عن-أسماء-النطاقات">
	أدوات أخرى للاستعلام عن أسماء النطاقات
</h2>

<h3 id="ping">
	Ping
</h3>

<p>
	يُعدّ استخدام <a href="https://academy.hsoub.com/devops/servers/%D8%AF%D9%84%D9%8A%D9%84%D9%83-%D9%84%D9%81%D9%87%D9%85-%D8%A3%D9%85%D8%B1-ping-%D9%88%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85%D9%87-r238/" rel="">الأمر <code>ping</code></a> إحدى أسهل الطرق لمعرفة ما إذا كان الخادوم يميّز الأسماء بطريقة صحيحة:
</p>

<pre class="ipsCode" id="ips_uid_6202_8">
<code class="hljs avrasm"><span class="hljs-built_in"><span class="pln">ping</span></span><span class="pln"> your_domain_name</span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">com</span></span></code></pre>

<p>
	تشبه نتيجة الأمر ما يلي:
</p>

<pre class="ipsCode" id="ips_uid_6202_8">
<code class="hljs livecodeserver"><span class="pln">PING your_domain_name</span><span class="pun">.</span><span class="pln">com </span><span class="pun">(</span><span class="hljs-number"><span class="lit">192.241</span></span><span class="hljs-number"><span class="pun">.</span><span class="lit">160</span></span><span class="hljs-number"><span class="lit">.34</span></span><span class="pun">)</span><span class="pln"> </span><span class="hljs-number"><span class="lit">56</span></span><span class="pun">(</span><span class="hljs-number"><span class="lit">84</span></span><span class="pun">)</span><span class="pln"> </span><span class="hljs-keyword"><span class="pln">bytes</span></span><span class="pln"> </span><span class="hljs-operator"><span class="pln">of</span></span><span class="pln"> data</span><span class="pun">.</span><span class="pln">
</span><span class="hljs-number"><span class="lit">64</span></span><span class="pln"> </span><span class="hljs-keyword"><span class="pln">bytes</span></span><span class="pln"> </span><span class="hljs-built_in"><span class="kwd">from</span></span><span class="pln"> </span><span class="hljs-number"><span class="lit">192.241</span></span><span class="hljs-number"><span class="pun">.</span><span class="lit">160</span></span><span class="hljs-number"><span class="lit">.34</span></span><span class="pun">:</span><span class="pln"> icmp_req</span><span class="pun">=</span><span class="hljs-number"><span class="lit">1</span></span><span class="pln"> ttl</span><span class="pun">=</span><span class="hljs-number"><span class="lit">64</span></span><span class="pln"> </span><span class="hljs-built_in"><span class="pln">time</span></span><span class="pun">=</span><span class="hljs-number"><span class="lit">0.026</span></span><span class="pln"> ms
</span><span class="hljs-number"><span class="lit">64</span></span><span class="pln"> </span><span class="hljs-keyword"><span class="pln">bytes</span></span><span class="pln"> </span><span class="hljs-built_in"><span class="kwd">from</span></span><span class="pln"> </span><span class="hljs-number"><span class="lit">192.241</span></span><span class="hljs-number"><span class="pun">.</span><span class="lit">160</span></span><span class="hljs-number"><span class="lit">.34</span></span><span class="pun">:</span><span class="pln"> icmp_req</span><span class="pun">=</span><span class="hljs-number"><span class="lit">2</span></span><span class="pln"> ttl</span><span class="pun">=</span><span class="hljs-number"><span class="lit">64</span></span><span class="pln"> </span><span class="hljs-built_in"><span class="pln">time</span></span><span class="pun">=</span><span class="hljs-number"><span class="lit">0.038</span></span><span class="pln"> ms
</span><span class="hljs-number"><span class="lit">64</span></span><span class="pln"> </span><span class="hljs-keyword"><span class="pln">bytes</span></span><span class="pln"> </span><span class="hljs-built_in"><span class="kwd">from</span></span><span class="pln"> </span><span class="hljs-number"><span class="lit">192.241</span></span><span class="hljs-number"><span class="pun">.</span><span class="lit">160</span></span><span class="hljs-number"><span class="lit">.34</span></span><span class="pun">:</span><span class="pln"> icmp_req</span><span class="pun">=</span><span class="hljs-number"><span class="lit">3</span></span><span class="pln"> ttl</span><span class="pun">=</span><span class="hljs-number"><span class="lit">64</span></span><span class="pln"> </span><span class="hljs-built_in"><span class="pln">time</span></span><span class="pun">=</span><span class="hljs-number"><span class="lit">0.037</span></span><span class="pln"> ms
</span><span class="pun">.</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">.</span></code></pre>

<p>
	ستستمر مخرجات الأمر بالظهور إلى أن تضغط على زرّيْ <code>CTRL</code> و<code>C</code> معا لإيقافه.
</p>

<p>
	يمكنك أيضا تحديد عدد المُخرجات بالخيار <code>c-</code>:
</p>

<pre class="ipsCode" id="ips_uid_6202_8">
<code class="hljs livecodeserver"><span class="pln">ping </span><span class="pun">-</span><span class="pln">c </span><span class="hljs-number"><span class="lit">3</span></span><span class="pln"> your_domain_name</span><span class="pun">.</span><span class="pln">com

PING your_domain_name</span><span class="pun">.</span><span class="pln">com </span><span class="pun">(</span><span class="hljs-number"><span class="lit">192.241</span></span><span class="hljs-number"><span class="pun">.</span><span class="lit">160</span></span><span class="hljs-number"><span class="lit">.34</span></span><span class="pun">)</span><span class="pln"> </span><span class="hljs-number"><span class="lit">56</span></span><span class="pun">(</span><span class="hljs-number"><span class="lit">84</span></span><span class="pun">)</span><span class="pln"> </span><span class="hljs-keyword"><span class="pln">bytes</span></span><span class="pln"> </span><span class="hljs-operator"><span class="pln">of</span></span><span class="pln"> data</span><span class="pun">.</span><span class="pln">
</span><span class="hljs-number"><span class="lit">64</span></span><span class="pln"> </span><span class="hljs-keyword"><span class="pln">bytes</span></span><span class="pln"> </span><span class="hljs-built_in"><span class="kwd">from</span></span><span class="pln"> </span><span class="hljs-number"><span class="lit">192.241</span></span><span class="hljs-number"><span class="pun">.</span><span class="lit">160</span></span><span class="hljs-number"><span class="lit">.34</span></span><span class="pun">:</span><span class="pln"> icmp_req</span><span class="pun">=</span><span class="hljs-number"><span class="lit">1</span></span><span class="pln"> ttl</span><span class="pun">=</span><span class="hljs-number"><span class="lit">64</span></span><span class="pln"> </span><span class="hljs-built_in"><span class="pln">time</span></span><span class="pun">=</span><span class="hljs-number"><span class="lit">0.027</span></span><span class="pln"> ms
</span><span class="hljs-number"><span class="lit">64</span></span><span class="pln"> </span><span class="hljs-keyword"><span class="pln">bytes</span></span><span class="pln"> </span><span class="hljs-built_in"><span class="kwd">from</span></span><span class="pln"> </span><span class="hljs-number"><span class="lit">192.241</span></span><span class="hljs-number"><span class="pun">.</span><span class="lit">160</span></span><span class="hljs-number"><span class="lit">.34</span></span><span class="pun">:</span><span class="pln"> icmp_req</span><span class="pun">=</span><span class="hljs-number"><span class="lit">2</span></span><span class="pln"> ttl</span><span class="pun">=</span><span class="hljs-number"><span class="lit">64</span></span><span class="pln"> </span><span class="hljs-built_in"><span class="pln">time</span></span><span class="pun">=</span><span class="hljs-number"><span class="lit">0.059</span></span><span class="pln"> ms
</span><span class="hljs-number"><span class="lit">64</span></span><span class="pln"> </span><span class="hljs-keyword"><span class="pln">bytes</span></span><span class="pln"> </span><span class="hljs-built_in"><span class="kwd">from</span></span><span class="pln"> </span><span class="hljs-number"><span class="lit">192.241</span></span><span class="hljs-number"><span class="pun">.</span><span class="lit">160</span></span><span class="hljs-number"><span class="lit">.34</span></span><span class="pun">:</span><span class="pln"> icmp_req</span><span class="pun">=</span><span class="hljs-number"><span class="lit">3</span></span><span class="pln"> ttl</span><span class="pun">=</span><span class="hljs-number"><span class="lit">64</span></span><span class="pln"> </span><span class="hljs-built_in"><span class="pln">time</span></span><span class="pun">=</span><span class="hljs-number"><span class="lit">0.042</span></span><span class="pln"> ms

</span><span class="hljs-comment"><span class="pun">---</span><span class="pln"> your_domain_name</span><span class="pun">.</span><span class="pln">com ping statistics </span><span class="pun">---</span></span><span class="pln">
</span><span class="hljs-number"><span class="lit">3</span></span><span class="pln"> packets transmitted</span><span class="pun">,</span><span class="pln"> </span><span class="hljs-number"><span class="lit">3</span></span><span class="pln"> received</span><span class="pun">,</span><span class="pln"> </span><span class="hljs-number"><span class="lit">0</span></span><span class="pun">%</span><span class="pln"> packet loss</span><span class="pun">,</span><span class="pln"> </span><span class="hljs-built_in"><span class="pln">time</span></span><span class="pln"> </span><span class="hljs-number"><span class="lit">2002</span></span><span class="lit">ms</span><span class="pln">
rtt </span><span class="hljs-built_in"><span class="pln">min</span></span><span class="pun">/</span><span class="hljs-built_in"><span class="pln">avg</span></span><span class="pun">/</span><span class="hljs-built_in"><span class="pln">max</span></span><span class="pun">/</span><span class="pln">mdev </span><span class="pun">=</span><span class="pln"> </span><span class="hljs-number"><span class="lit">0.027</span></span><span class="pun">/</span><span class="hljs-number"><span class="lit">0.042</span></span><span class="pun">/</span><span class="hljs-number"><span class="lit">0.059</span></span><span class="pun">/</span><span class="hljs-number"><span class="lit">0.015</span></span><span class="pln"> ms</span></code></pre>

<p>
	استخدام الأمر <code>ping</code> وسيلة سريعة للتأكّد من أن نتيجة تمييز اسم النطاق هي عنوان IP الذي عيّنته له.
</p>

<h3 id="whois">
	Whois
</h3>

<p>
	يتيح ميثاق (بروتوكول) Whois معلومات عن أسماء النطاقات المسجَّلة، بما في ذلك عناوين الخواديم المعدّة للعمل عليها. على الرغم من أن أغلب المعلومات التي يُظهرها الأمر <code>whois</code> تتعلّق بالتسجيل Registration إلا أنها يمكن أن تكون مفيدة لمعرفة ما إذا كانت خواديم الأسماء Name servers تظهر على نجو سليم.
</p>

<p>
	يُستخدَم الأمر على النحو التالي:
</p>

<pre class="ipsCode" id="ips_uid_6202_8">
<code class="hljs avrasm"><span class="pln">whois your_domain_name</span><span class="hljs-preprocessor"><span class="pun">.</span><span class="pln">com</span></span></code></pre>

<p>
	تظهر في نتيجة اﻷمر الكثيرُ من المعلومات التي تختلف طريقة عرضها من خادوم إلى آخر.<br>
	تظهر خواديم النطاقات التي توجّه إلى عناوين IP الصحيحة عادة في أسفل النتيجة.
</p>

<h2 id="خاتمة">
	خاتمة
</h2>

<p>
	يمكن أن تكون الأدوات Ping، Dig وWhois على الرغم من سهولة التعامل معها مفيدة جدًّا لإجراء اختبارات أساسية على أسماء النطاقات، مما يساعدك في اقتصاد الكثير من الوقت ومعرفة مشاكل الإعدادت بسرعة.
</p>

<p>
	ترجمة - بتصرّف - للمقال <a href="https://www.digitalocean.com/community/tutorials/how-to-use-dig-whois-ping-on-an-ubuntu-vps-to-query-dns-data" rel="external nofollow">How To Use Dig, Whois, &amp; Ping on an Ubuntu VPS to Query DNS Data</a> لصاحبه Justin Ellingwood.
</p>
]]></description><guid isPermaLink="false">323</guid><pubDate>Sat, 01 Jul 2017 13:19:14 +0000</pubDate></item><item><title>&#x62A;&#x646;&#x635;&#x64A;&#x628; &#x648;&#x625;&#x639;&#x62F;&#x627;&#x62F; &#x62E;&#x62F;&#x645;&#x629; &#x627;&#x633;&#x645; &#x627;&#x644;&#x646;&#x637;&#x627;&#x642; (DNS) &#x639;&#x644;&#x649; &#x62E;&#x648;&#x627;&#x62F;&#x64A;&#x645; &#x623;&#x648;&#x628;&#x646;&#x62A;&#x648;</title><link>https://academy.hsoub.com/devops/servers/dns/%D8%AA%D9%86%D8%B5%D9%8A%D8%A8-%D9%88%D8%A5%D8%B9%D8%AF%D8%A7%D8%AF-%D8%AE%D8%AF%D9%85%D8%A9-%D8%A7%D8%B3%D9%85-%D8%A7%D9%84%D9%86%D8%B7%D8%A7%D9%82-dns-%D8%B9%D9%84%D9%89-%D8%AE%D9%88%D8%A7%D8%AF%D9%8A%D9%85-%D8%A3%D9%88%D8%A8%D9%86%D8%AA%D9%88-r176/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2016_01/ubuntu-server-dns.png.e3cb83d988c5d9f0116d7b408561f9c9.png" /></p>

<p dir="rtl">خدمة اسم النطاق (Domain Name Service) هي خدمة إنترنت تربط بين عناوين IP وأسماء النطاق الكاملة (fully qualified domain names‏ [FQDN])؛ وفي هذه الطريقة، تخفف خدمة DNS من حاجة تذكر عناوين IP. تسمى الحواسيب التي تشغّل خدمة DNS «خواديم الأسماء»، ويأتي أوبنتو مع BIND‏ (Brekley Internet Naming Daemon)، وهو أشهر خدمة لإعداد خادوم أسماء في لينُكس.</p><p dir="rtl" style="text-align: center;"><a href="https://academy.hsoub.com/uploads/monthly_2016_01/ubuntu-server-dns.png.3ad48a3069656408626c592c0fee1deb.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="10924" src="https://academy.hsoub.com/uploads/monthly_2016_01/ubuntu-server-dns.thumb.png.f04729c62ea78977679cad613f10e691.png" class="ipsImage ipsImage_thumbnailed" alt="ubuntu-server-dns.thumb.png.f04729c62ea7"></a></p><h2 dir="rtl">التثبيت</h2><p dir="rtl">أدخِل الأمر الآتي في مِحَث الطرفية لتثبيت خادوم dns:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo apt-get install bind9</pre><p dir="rtl">حزمة <span style="font-family:courier new,courier,monospace;">dnsutils</span> مفيدةٌ جدًا في اختبار واستكشاف أخطاء DNS؛ قد تكون هذه الأدوات مثبتةً مسبقًا على نظامك؛ لكن للتأكد من وجودها أو تثبيتها، أدخِل الأمر الآتي:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo apt-get install dnsutils
</pre><h2 dir="rtl">الضبط</h2><p dir="rtl">هنالك العديد من الطرق لضبط BIND9؛ لكن بعض أشهر هذه الإعدادات هي خادوم تخزين أسماء (caching nameserver)، الرئيس الأولي (primary master)، والرئيس الثانوي (secondary master).</p><ul dir="rtl"><li>عند ضبطه كخادوم تخزين أسماء، فسيجد BIND9 جوابًا عن استعلامات الأسماء وسيتذكر الجواب عندما يُطلَب النطاق مرةً أخرى.</li><li>عندما يُضبَط كخادوم رئيس أولي، فسيقرأ BIND9 البيانات لنطاق (Zone) في ملف في المضيف ويستوثق لهذا النطاق.</li><li>عندما يُضبَط كخادوم رئيس ثانوي؛ فسيحصل BIND9 على بيانات النطاق من خادوم أسماء آخر ويستوثق للنطاق.</li></ul><h3 dir="rtl">لمحة</h3><p dir="rtl">تُخزَّن ملفات ضبط DNS في المجلد ‎<span style="font-family:courier new,courier,monospace;">/etc/bind</span>، ملف الضبط الرئيسي هو ‎<span style="font-family:courier new,courier,monospace;">/etc/bind/named.conf</span>.</p><p dir="rtl">يُحدِّد سطر <span style="font-family:courier new,courier,monospace;">include</span> اسمَ الملف الذي يحتوي على خيارات DNS؛ سطر <strong>directory</strong> في ملف ‎<span style="font-family:courier new,courier,monospace;">/etc/bind/named.conf.options</span> يخبر DNS أين سيبحث عن الملفات، جميع الملفات التي يستخدمها BIND ستتعلق بهذا المجلد.</p><p dir="rtl">يصف ملف <span style="font-family:courier new,courier,monospace;">‎/etc/bind/db.root </span>خواديم الأسماء الرئيسية في العالم؛ تتغير هذه الخواديم مع مرور الوقت، لذلك يجب أن يُحدَّث ملف <span style="font-family:courier new,courier,monospace;">‎/etc/bind/db.root</span> بين الحين والآخر؛ وذلك يتم عادةً في تحديثات حزمة bind9؛ يُعرِّف القسم zone خادومًا رئيسيًا (master server)، وهو مخزن في ملف مذكور في خيار file.</p><p dir="rtl">من الممكن ضبط نفس الخادوم ليكون خادوم تخزين أسماء، ورئيس أولي، ورئيس ثانوي؛ ويمكن أن يكون الخادوم «بداية السلطة» (Start of Authority‏ [SOA]) لنطاق واحد، بينما يوفر خدمة ثانوية لنطاق آخر؛ ومع كل هذا فهو يوفر خدمات التخزين للمضيفين على الشبكة المحلية LAN.</p><h3 dir="rtl">خادوم تخزين الأسماء</h3><p dir="rtl">الضبط الافتراضي هو العمل كخادوم تخزين؛ كل ما هو مطلوب هو ببساطة إضافة عناوين IP لخواديم DNS التي وفرها لك مزود الخدمة ISP؛ ببساطة، أزل التعليقات عن الأسطر الآتية وعدلها في ملف ‎<span style="font-family:courier new,courier,monospace;">/etc/bind ‎/named.conf.options</span>:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">forwarders {
              1.2.3.4;
              5.6.7.8;
           };</pre><p dir="rtl"><strong>ملاحظة:</strong> استبدل 1.2.3.4 و 5.6.7.8 بعناوين IP لخواديم الأسماء لديك.</p><p dir="rtl">أعد الآن تشغيل خادوم DNS لتفعيل الضبط الجديد، وذلك بتنفيذ الأمر الآتي من مِحَث الطرفية:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo service bind9 restart</pre><p dir="rtl">راجع القسم «dig» لمزيدٍ من المعلومات حول اختبار خادوم تخزين DNS.</p><h3 dir="rtl">الرئيس الأولي</h3><p dir="rtl">سنضبط في هذا القسم BIND9 كخادوم رئيس أولي للنطاق<span style="font-family:courier new,courier,monospace;"> example.com</span>؛ استبدل example.com باسم نطاقك الكامل.</p><ul dir="rtl"><li><h4 dir="rtl"><strong>ملف تمرير المنطقة</strong></h4></li></ul><p dir="rtl">لإضافة منطقة DNS إلى BIND9، مما يحول BIND9 إلى خادوم رئيس أولي، فإنَّ أول خطوة هي تعديل ملف <span style="font-family:courier new,courier,monospace;">‎/etc/bind/named.conf.local</span>:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">zone "example.com" {
        type master;
        file "/etc/bind/db.example.com";
};</pre><p dir="rtl"><strong>ملاحظة:</strong> إذا كان سيستقبل bind تحديثاتٍ تلقائيةً عبر DDNS، فعليك استخدام الملف <span style="font-family:courier new,courier,monospace;">‎/var/lib/bind ‎/db.example.com</span>‎ بدلًا من <span style="font-family:courier new,courier,monospace;">‎/etc/bind/db.example.com</span> سواءً في الملف السابق أو في أمر النسخ الآتي.</p><p dir="rtl">استخدم الآن ملف نطاق موجود مسبقًا كقالب لإنشاء ملف ‎<span style="font-family:courier new,courier,monospace;">/etc/bind/db.example.com</span>:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo cp /etc/bind/db.local /etc/bind/db.example.com</pre><p dir="rtl">عدِّل ملف النطاق الجديد ‎<span style="font-family:courier new,courier,monospace;">/etc/bind/db.example.com</span> مغيّرًا localhost إلى FQDN لخادومك، واترك النقطة الإضافية في النهاية؛ وغيّر 127.0.0.1 إلى عنوان IP لخادوم الأسماء و <span style="font-family:courier new,courier,monospace;">root.localhost</span> إلى عنوان بريد صالح، لكن باستخدام "." بدلًا من رمز "@" واترك أيضًا النقطة الإضافية في النهاية؛ عدِّل التعليق لكي يبيّن النطاق الخاص بهذا الملف.</p><p dir="rtl">أنشئ «سجلًا» (record) للنطاق الأساسي، <span style="font-family:courier new,courier,monospace;">example.com</span>، وأيضًا أنشِئ سجلًا لخادوم الأسماء، الذي هو في هذا المثال <span style="font-family:courier new,courier,monospace;">ns.example.com</span>:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">;
; BIND data file for example.com
;
$TTL    604800
@       IN       SOA    example.com.     root.example.com. (
                              2             ; Serial
                         604800             ; Refresh
                          86400             ; Retry
                        2419200             ; Expire
                         604800 )           ; Negative Cache TTL
        IN       A      192.168.1.10
;
@       IN       NS     ns.example.com.
@       IN       A      192.168.1.10
@       IN       AAAA   ::1
ns      IN       A      192.168.1.10</pre><p dir="rtl">يجب أن تزيد الرقم التسلسلي (Serial Number) في كل مرة تعدِّل فيها على ملف النطاق؛ إذا عدَّلت عدة تغيرات قبل إعادة تشغيل BIND9، فَزِد الرقم التسلسلي مرةً واحدةً فقط.</p><p dir="rtl">تستطيع الآن إضافة سجلات DNS في نهاية ملف المنطقة، راجع القسم «أنواع السجلات الشائعة» للتفاصيل.</p><p dir="rtl"><strong>ملاحظة:</strong> يحب العديد من مدراء الأنظمة استخدام تاريخ آخر تعديل كرقم تسلسلي للمنطقة؛ مثل 2012010100 الذي هو yyyymmddss (حيث ss هو الرقم التسلسلي).</p><p dir="rtl">بعد أن أجريت تعديلاتك في ملف النطاق؛ فيجب إعادة تشغيل BIND9 لكي تأخذ التعديلات مجراها.</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo service bind9 restart</pre><ul dir="rtl"><li><h4 dir="rtl"><strong>ملف النطاق المعكوس</strong></h4></li></ul><p dir="rtl">بعد أن ضبطت النطاق لحل الأسماء إلى عناوين IP، فمن المطلوب أيضًا «نطاق معكوس» (Reverse zone)؛ يسمح النطاق المعكوس لخدمة DNS بحل العناوين إلى أسماء.</p><p dir="rtl">عدِّل ملف ‎<span style="font-family:courier new,courier,monospace;">/etc/bind/named.conf.local</span>، وأضف ما يلي:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">zone "1.168.192.in-addr.arpa" {
        type master;
        file "/etc/bind/db.192";
};</pre><p dir="rtl"><strong>ملاحظة:</strong> استبدل <span style="font-family:courier new,courier,monospace;">1.168.192</span> بأول ثلاث خانات تستخدمها شبكتك؛ وسَمِّ ملف النطاق<span style="font-family:courier new,courier,monospace;"> ‎/etc/bind/db.192 </span>تسميةً ملائمةً، حيث يجب أن يُطابِق أول خانة من خانات عنوان الشبكة.</p><p dir="rtl">أنشِئ الآن ملف ‎<span style="font-family:courier new,courier,monospace;">/etc/bind/db.192</span>:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo cp /etc/bind/db.127 /etc/bind/db.192</pre><p dir="rtl">ثم غيِّر ملف <span style="font-family:courier new,courier,monospace;">‎/etc/bind/db.192 </span>معدِّلًا نفس الخيارات في ‎<span style="font-family:courier new,courier,monospace;">/etc/bind/db.example.com</span>:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">;
; BIND reverse data file for local 192.168.1.XXX net
;
$TTL  604800
@     IN       SOA    ns.example.com.     root.example.com. (
                             2                 ; Serial
                        604800                 ; Refresh
                         86400                 ; Retry
                       2419200                 ; Expire
                        604800 )               ; Negative Cache TTL
;
@     IN       NS      ns.
10    IN       PTR     ns.example.com.</pre><p dir="rtl">يجب أن يُزاد الرقم التسلسلي في النطاق المعكوس في كل مرة يُعدَّل فيها الملف. فلكل سجل A تضبطه في<span style="font-family:courier new,courier,monospace;"> ‎/etc/bind/db.example.com </span>لعنوان مختلف، يجب عليك أن تنشِئ سجل PTR في ‎<span style="font-family:courier new,courier,monospace;">/etc/bind/db.192</span>.</p><p dir="rtl">أعد تشغيل BIND9 بعد إنشاء ملف النطاق المعكوس.</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo service bind9 restart</pre><h3 dir="rtl">الرئيس الثانوي</h3><p dir="rtl">بعد أن يُضبَط الرئيس الأولي فسنحتاج إلى رئيس ثانوي لكي نحافظ على بقاء النطاق في حال لم يكن الرئيس الأولي متوفرًا.</p><p dir="rtl">في البداية، يجب أن يُسمَح بنقل النطاق في الخادوم الرئيس الأولي؛ أضف الخيار <strong>allow-transfer</strong> إلى قسم النطاق والنطاق المعكوس في ملف ‎<span style="font-family:courier new,courier,monospace;">/etc/bind/named.conf.local</span>:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">zone "example.com" {
        type master;
        file "/etc/bind/db.example.com";
        allow-transfer { 192.168.1.11; };
};

zone "1.168.192.in-addr.arpa" {
        type master;
        file "/etc/bind/db.192";
        allow-transfer { 192.168.1.11; };
};</pre><p dir="rtl"><strong>ملاحظة:</strong> استبدل 192.168.1.11 بعنوان IP لخادوم الأسماء الثانوي.</p><p dir="rtl">أعد تشغيل خدمة BIND9 في الرئيس الأولي:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo service bind9 restart</pre><p dir="rtl">الآن ثبِّت على الرئيس الثانوي الحزمة bind9 بنفس الطريقة التي ثبتتها على الأولي؛ ثم عدِّل ملف <span style="font-family:courier new,courier,monospace;">‎/etc/bind/named.conf.local</span> وأضف التعاريف الآتية لنطاقَيّ التمرير والعكس:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">zone "example.com" {
        type slave;
        file "db.example.com";
        masters { 192.168.1.10; };
};

zone "1.168.192.in-addr.arpa" {
        type slave;
        file "db.192";
        masters { 192.168.1.10; };
};</pre><p dir="rtl"><strong>ملاحظة:</strong> استبدل 192.168.1.10 بعنوان IP لخادوم الأسماء الأولي.</p><p dir="rtl">أعد تشغيل خدمة BIND9 على الخادوم الثانوي:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo service bind9 restart</pre><p dir="rtl">يجب أن تشاهد في سجل <span style="font-family:courier new,courier,monospace;">‎/var/log/syslog </span>شيئًا شبيهًا بما يلي (قُسِّمَت بعض الأسطر لكي تتسع في عرض الصفحة):</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">client 192.168.1.10#39448: received notify for zone '1.168.192.in-addr.arpa'
zone 1.168.192.in-addr.arpa/IN: Transfer started.
transfer of '100.18.172.in-addr.arpa/IN' from 192.168.1.10#53:
 connected using 192.168.1.11#37531
zone 1.168.192.in-addr.arpa/IN: transferred serial 5
transfer of '100.18.172.in-addr.arpa/IN' from 192.168.1.10#53:
 Transfer completed: 1 messages,
6 records, 212 bytes, 0.002 secs (106000 bytes/sec)
zone 1.168.192.in-addr.arpa/IN: sending notifies (serial 5)

client 192.168.1.10#20329: received notify for zone 'example.com'
zone example.com/IN: Transfer started.
transfer of 'example.com/IN' from 192.168.1.10#53: connected using 192.168.1.11#38577
zone example.com/IN: transferred serial 5
transfer of 'example.com/IN' from 192.168.1.10#53: Transfer completed: 1 messages,
8 records, 225 bytes, 0.002 secs (112500 bytes/sec)</pre><p dir="rtl"><strong>ملاحظة:</strong> تُنقَل المنطقة فقط إذا كان الرقم التسلسلي على الأولي أكبر منه على الثانوي؛ وإذا أردت أن يعلم الرئيس الأولي بتعديلات النطاقات في خواديم DNS الثانوية، فعليك إضافة الخيار <span style="font-family:courier new,courier,monospace;">;{ also-notify { ipaddress </span> في ملف<span style="font-family:courier new,courier,monospace;"> ‎/etc/bind/named.conf.local</span> كما هو موضح في المثال الآتي:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">zone "example.com" {
        type master;
        file "/etc/bind/db.example.com";
        allow-transfer { 192.168.1.11; };
        also-notify { 192.168.1.11; };
};

zone "1.168.192.in-addr.arpa" {
        type master;
        file "/etc/bind/db.192";
        allow-transfer { 192.168.1.11; };
        also-notify { 192.168.1.11; };
};</pre><p dir="rtl"><strong>ملاحظة:</strong> المجلد الافتراضي للنطاقات غير الموثوق منها هو <span style="font-family:courier new,courier,monospace;">‎/var/cache/bind</span>؛ يُضبَط هذا المجلد أيضًا في <span style="font-family:courier new,courier,monospace;">AppArmor</span> ليسمح للعفريت named بالكتابة إليه؛ المزيد من المعلومات حول <span style="font-family:courier new,courier,monospace;">AppArmor</span> ستتوفر في الدرس القادم.</p><h2 dir="rtl">استكشاف الأخطاء وإصلاحها</h2><p dir="rtl">يشرح هذا القسم الطرق التي تستخدم للمساعدة في تحديد المسبب عندما تحدث المشاكل مع DNS و BIND9.</p><h3 dir="rtl">الاختبار</h3><ul dir="rtl"><li><h4 dir="rtl"><strong>ملف resolv.conf</strong></h4></li></ul><p dir="rtl">أول خطوة في اختبار BIND9 هي إضافة عنوان IP لخادوم الأسماء للذي يستبين أسماء المضيفين؛ يجب أن يُضبَّط خادوم الأسماء أيضًا لمضيف آخر للتأكد مرةً أخرى؛ تحقق إن كان الملف ‎<span style="font-family:courier new,courier,monospace;">/etc/resolv.conf</span> يحتوي على الأسطر الآتية:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">nameserver 192.168.1.10
nameserver 192.168.1.11</pre><p dir="rtl">خواديم الأسماء التي تستمع على <strong>‎127.*</strong>‎ مسؤولة عن إضافة عناوين IP الخاصة بهم إلى ملف<span style="font-family:courier new,courier,monospace;"> resolv.conf </span>(باستخدام r<span style="font-family:courier new,courier,monospace;">esolveconf</span>)؛ وهذا يتم عبر الملف <span style="font-family:courier new,courier,monospace;">‎/etc/default/bind9</span> بتغيير السطر:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">RESOLVECONF=no </pre><p dir="rtl">إلى:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">RESOLVECONF=yes.‏‎</pre><p dir="rtl"><strong>ملاحظة:</strong> يجب إضافة عنوان IP لخادوم الأسماء الثانوي في حال لم يكن الخادوم الأولي متوفرًا.</p><ul dir="rtl"><li><h4 dir="rtl"><a rel="external nofollow" name="8.3.1.2.dig%7Coutline"></a><strong>أداة البحث dig</strong></h4></li></ul><p dir="rtl">إذا ثبتت حزمة <span style="font-family:courier new,courier,monospace;">dnsutils</span> فيمكنك اختبار إعداداتك باستخدام أداة البحث في DNS المسماة <span style="font-family:courier new,courier,monospace;">dig</span>:</p><p dir="rtl">بعد تثبيت BIND9، فاستخدم <span style="font-family:courier new,courier,monospace;">dig</span> مع بطاقة loopback (أي localhost) للتأكد أنها تستمع على المنفذ 53؛ أدخِل الأمر الآتي في مِحَث الطرفية:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">dig -x 127.0.0.1</pre><p dir="rtl">يجب أن تُشاهِد أسطرًا شبيهة بالآتي في ناتج الأمر:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">;; Query time: 1 msec
;; SERVER: 192.168.1.10#53(192.168.1.10)</pre><p dir="rtl">إذا ضَبطَت BIND9 كخادوم تخزين الأسماء، فابحث (dig) عن نطاق خارجي للتحقق من زمن الطلبية:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">dig ubuntu.com</pre><p dir="rtl">لاحظ وقت الطلبية في نهاية ناتج الأمر السابق:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">;; Query time: 49 msec</pre><p dir="rtl">بعد استخدام dig مرةً أخرى، يجب أن يتحسن الرقم السابق:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">;; Query time: 1 msec</pre><ul dir="rtl"><li><h4 dir="rtl"><strong>أداة ping</strong></h4></li></ul><p dir="rtl">لشرح كيف تَستخدم التطبيقات DNS لكي يستبين اسم المضيف؛ فسنستخدم الأداة <span style="font-family:courier new,courier,monospace;">ping</span> لإرسال طلب ICMP echo؛ وذلك بإدخال الأمر الآتي في الطرفية:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">ping example.com</pre><p dir="rtl">ما سبق سيختبر إن استطاع خادوم الأسماء استبيان الاسم <span style="font-family:courier new,courier,monospace;">ns.example.com</span> وتحويله إلى عنوان IP؛ يجب أن تشابه مخرجات الأمر السابق ما يلي:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">PING ns.example.com (192.168.1.10) 56(84) bytes of data.
64 bytes from 192.168.1.10: icmp_seq=1 ttl=64 time=0.800 ms
64 bytes from 192.168.1.10: icmp_seq=2 ttl=64 time=0.813 ms
</pre><ul dir="rtl"><li><h4 dir="rtl"><strong>named-checkzone</strong></h4></li></ul><p dir="rtl">طريقة رائعة لاختبار ملفات النطاقات لديك هي استخدام الأداة المثبتة مع حزمة bind9؛ تسمح هذه الأداة لك بالتأكد من أن الضبط صحيح قبل إعادة تشغيل BIND9 وجعل التغيرات حيةً.</p><p dir="rtl">أدخِل الأمر الآتي في الطرفية لاختبار ملف النطاق في مثالنا:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">named-checkzone example.com /etc/bind/db.example.com</pre><p dir="rtl">إذا كان كل شيءٍ مضبوطًا ضبطًا سليمًا، فستشاهد مخرجاتٍ شبيهةٍ بما يلي:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">zone example.com/IN: loaded serial 6
OK
</pre><p dir="rtl">وبشكل مشابه، أدخل ما يلي لاختبار ملف النطاق العكسي:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">named-checkzone 1.168.192.in-addr.arpa /etc/bind/db.192</pre><p dir="rtl">يجب أن تكون المخرجات شبيهةً بما يلي:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">zone 1.168.192.in-addr.arpa/IN: loaded serial 3
OK</pre><p dir="rtl"><strong>ملاحظة:</strong> سيكون الرقم التسلسلي لملف النطاق عندك مختلفًا عادةً.</p><h3 dir="rtl">التسجيل</h3><p dir="rtl">لدى BIND9 خيارات كثيرة لضبط التسجيل (logging)؛ هنالك خياران رئيسيان هما الخيار channel الذي يضبط أين سيذهب السجل، والخيار category الذي يحدد ما هي المعلومات التي ستُسجَّل.</p><p dir="rtl">إذا لم يُحدَّد ضبطٌ للتسجيل، فالضبط الافتراضي هو:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">logging {
     category default { default_syslog; default_debug; };
     category unmatched { null; };
};</pre><p dir="rtl">يشرح هذا القسم ضبط BIND9 لإرسال رسائل debug متعلقة بطلبيات DNS إلى ملفٍ منفصل.</p><p dir="rtl">سنحتاج أولًا إلى ضبط «قناة» (channel) لتحديد الملف الذي ستُرسَل إليه الرسائل، عدل ملف <span style="font-family:courier new,courier,monospace;">‎‎/etc/bind/‎named.conf.local</span>، وأضف ما يلي:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">logging {
    channel query.log {
        file "/var/log/query.log";
        severity debug 3;
    };
};</pre><ul><li><p dir="rtl">اضبط الآن تصنيفًا لإرسال جميع طلبيات DNS إلى ملف query:</p></li></ul><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">logging {
    channel query.log {
        file "/var/log/query.log";
        severity debug 3;
    };
    category queries { query.log; };
};</pre><p dir="rtl"><strong>ملاحظة:</strong> لاحظ أن الخيار debug يمكن أن يُضبَط من المرحلة 1 إلى 3؛ وستستخدم المرحلة 1 إذا لم تُحدَّد مرحلة.</p><p dir="rtl">ولما كان عفريت named يعمل كمستخدم bind، فيجب إنشاء الملف <span style="font-family:courier new,courier,monospace;">‎/var/log/query.log</span> وتغيير ملكيته:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo touch /var/log/query.log
sudo chown bind /var/log/query.log</pre><p dir="rtl">قبل أن يتمكن العفريت named من الكتابة إلى ملف السجل الجديد، فيجب أن يُحدَّث ضبط <span style="font-family:courier new,courier,monospace;">AppArmor؛</span> أولًا، عدِّل ملف <span style="font-family:courier new,courier,monospace;">‎/etc/apparmor.d/usr.sbin.named </span>وأضف:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">/var/log/query.log w,</pre><p dir="rtl">ثم أعد تحميل ملف ضبطه:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint"><span style="line-height: 22.4px;">cat /etc/apparmor.d/usr.sbin.named | sudo apparmor_parser -r</span></pre><p dir="rtl">أعد الآن تشغيل BIND9 لكي تأخذ التغييرات مفعولها:</p><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">sudo service bind9 restart</pre><p dir="rtl">يجب أن ترى الملف<span style="font-family:courier new,courier,monospace;"> ‎/var/log/query.log </span>ممتلئًا بمعلومات الطلبيات؛ هذا مثال بسيط عن ضبط تسجيل BIND9؛ راجع القسم «المزيد من المعلومات» للمزيد من الخيارات المتقدمة.</p><h2 dir="rtl">المراجع</h2><h3 dir="rtl"><a rel="external nofollow" name="8.4.1.%D8%A3%D9%86%D9%88%D8%A7%D8%B9%20%D8%A7%D9%84%D8%B3%D8%AC%D9%84%D8%A7%D8%AA%20%D8%A7%D9%84%D8%B4%D8%A7%D8%A6%D8%B9%D8%A9%7Coutline"></a> أنواع السجلات الشائعة</h3><p dir="rtl">يغطي هذا القسم بعض أنواع سجلات DNS الشائعة.</p><ul><li><p dir="rtl"><strong>سجل A:</strong> يربط هذا السجل عنوان IP إلى اسم مضيف.</p></li></ul><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">www IN A 192.168.1.12</pre><ul><li><p dir="rtl"><strong>سجل CNAME:</strong> يُستخدَم لإنشاء اسم بديل لسجل موجود مسبقًا، لا يمكنك استخدام سجل CNAME للإشارة إلى سجل CNAME آخر.</p></li></ul><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">web IN CNAME www</pre><ul><li><p dir="rtl"><strong>سجل MX:</strong> يُستخدَم لتعريف أين يجب أن يُرسَل البريد؛ يجب أن يشير إلى سجل A، وليس سجل CNAME.</p></li></ul><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">     IN MX 1 mail.example.com.
mail IN A    192.168.1.13</pre><ul><li><p dir="rtl"><strong>سجل NS:</strong> يُستخدَم لتعريف أيّة خواديم تُخَدِّم نسخًا من المنطقة؛ يجب أن يشير إلى سجل A، وليس إلى CNAME؛ هذا مكان تعريف الخادومين الأولى والثانوي.</p></li></ul><pre data-pbcklang="html" data-pbcktabsize="4" class="html ipsCode prettyprint">    IN NS ns.example.com.
    IN NS ns2.example.com.
ns  IN A  192.168.1.10
ns2 IN A  192.168.1.11</pre><h3 dir="rtl"><a rel="external nofollow" name="8.4.2.%D8%A7%D9%84%D9%85%D8%B2%D9%8A%D8%AF%20%D9%85%D9%86%20%D8%A7%D9%84%D9%85%D8%B9%D9%84%D9%88%D9%85%D8%A7%D8%AA%7Coutline"></a> المزيد من المعلومات</h3><ul dir="rtl"><li>دليل «<a rel="external nofollow" href="http://www.tldp.org/HOWTO/DNS-HOWTO.html">DNS HOWTO</a>» يشرح الخيارات المتقدمة لضبط BIND9.</li><li>انظر إلى <a rel="external nofollow" href="http://www.bind9.net/">bind9.net</a> للحصول على شرح معمّق لعمل DNS و BIND9.</li><li>كتاب «<a rel="external nofollow" href="http://www.oreilly.com/catalog/dns5/index.html">DNS and BIND</a>» هو كتابٌ شائع أصبح في إصداره الخامس؛ وهنالك أيضًا كتاب «<a rel="external nofollow" href="http://shop.oreilly.com/product/0636920020158.do">DNS and BIND </a><a rel="external nofollow" href="http://shop.oreilly.com/product/0636920020158.do">on IPv6</a>».</li><li>مكان رائع لطلب المساعدة في BIND9 والتعاون مع مجتمع خادوم أوبنتو هو قناة IRC على خادوم <a rel="external nofollow" href="http://freenode.net/">Freenode</a> «#ubuntu-server»‎.</li><li>أيضًا، راجع «<a rel="external nofollow" href="https://help.ubuntu.com/community/BIND9ServerHowto">BIND9 Server HOWTO</a>» في ويكي أوبنتو.</li></ul><p dir="rtl">ترجمة -وبتصرف- للمقال: <a rel="external nofollow" href="https://help.ubuntu.com/lts/serverguide/dns.html">Ubuntu Server Guide: Domain Name Service DNS</a>. </p>
]]></description><guid isPermaLink="false">176</guid><pubDate>Fri, 08 Jan 2016 09:22:37 +0000</pubDate></item><item><title>&#x645;&#x642;&#x627;&#x631;&#x646;&#x629; &#x628;&#x64A;&#x646; &#x623;&#x646;&#x648;&#x627;&#x639; &#x627;&#x644;&#x62E;&#x648;&#x627;&#x62F;&#x64A;&#x645; &#x641;&#x64A; &#x646;&#x638;&#x627;&#x645; DNS: &#x643;&#x64A;&#x641;&#x64A;&#x629; &#x627;&#x62E;&#x62A;&#x64A;&#x627;&#x631; &#x627;&#x644;&#x625;&#x639;&#x62F;&#x627;&#x62F; &#x627;&#x644;&#x645;&#x646;&#x627;&#x633;&#x628; &#x644;&#x644;&#x62E;&#x627;&#x62F;&#x648;&#x645;</title><link>https://academy.hsoub.com/devops/servers/dns/%D9%85%D9%82%D8%A7%D8%B1%D9%86%D8%A9-%D8%A8%D9%8A%D9%86-%D8%A3%D9%86%D9%88%D8%A7%D8%B9-%D8%A7%D9%84%D8%AE%D9%88%D8%A7%D8%AF%D9%8A%D9%85-%D9%81%D9%8A-%D9%86%D8%B8%D8%A7%D9%85-dns-%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D8%A7%D8%AE%D8%AA%D9%8A%D8%A7%D8%B1-%D8%A7%D9%84%D8%A5%D8%B9%D8%AF%D8%A7%D8%AF-%D8%A7%D9%84%D9%85%D9%86%D8%A7%D8%B3%D8%A8-%D9%84%D9%84%D8%AE%D8%A7%D8%AF%D9%88%D9%85-r15/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2015_03/dns_480x300.png.2d8ee3b7c84c15db9aa8e5b1b632f885.png" /></p>

<h2 dir="rtl">
	مقدِّمة
</h2>

<p dir="rtl">
	نظام أسماء النطاقات Domain Name System، أو DNS اختصارًا، جزء متكامل من آلية ربط مختلف الأنظِمة التي تعمل على شبكة الإنترنت. ستحتاج الحواسيب والأشخاص الذين يستعملونها - في غياب نظام DNS - إلى استخدام العناوين المكوَّنة من أرقام، المعروفة باسم عناوين IP (بالإنجليزية IP Addresses).
</p>

<p dir="rtl">
	يُسبِّب الاعتمادُ على عناوين IP - وحدَها - للتواصل على الإنترنت العديد من المشاكل. أولها المُشكل البديهي المتمثِّل في العدد الكبير من الأرقام المُعقَّدة المطلوبة لإجراء المهامّ، مهما كانت بساطتها. ينضاف إلى ذلك مشكلُ نقل موقع إلكتروني إلى مقدِّم استضافة Hosting provider جديد، أو تبديل مكان تواجد خواديمك إلى موقع مُغايِِر؛ سيتوجَّب عليك في الحالتين إعلامُ كل واحد من زبنائك بالموقع الجديد.
</p>

<p dir="rtl">
	تمتلك خواديم DNS - وهي الحواسيب التي تشكِّل معًا النظام الذي يمكِّننا من استخدام أسماء للعنونة - القدرة على تأديّة وظائف عديدة تُساهِم كل واحدة منها في إمكانية النفاذ إلى خواديمك بأسماء بدلَ أرقام.
</p>

<p dir="rtl">
	تحدّثنا في مقال سابق عن مفاهيم ومُصطلَحات نظام أسماء النّطاقات الأساسية؛ نفترض هنا معرفة هذه المُصطلحات والمفاهيم. سنناقش في هذا المقال بعض أنواع إعدادات خواديم DNS: ميزات وحالات استخدام وخصائص كل واحد منها.
</p>

<h2 dir="rtl">
	مسار استعلام DNS path query - DNS
</h2>

<p dir="rtl">
	أول ما يتوجّب على برنامج عميل Client يرغب في الوصول إلى خادوم عن طريق اسم النطاق القيامُ به، هو ترجمة اسم النّطاق إلى عنوان يُمكن توجيه الاستعلامات إليه. هذه المعلومة مطلوبة حتى يتسنى للعميل إرسال معلومات إلى الخادوم أو استقبالها منه.
</p>

<p dir="rtl">
	تحتفِظ بعض البرامج، كما هي حال أغلب متصفِّحات الوب، بنسخ مخبَّأةCache من الاستعلامات الأخيرة. تفتّش هذه التطبيقات بدءًا في النُّسخ المخبَّأة لديها بحثًا عن عنوان IP النطاق؛ فإن لم تجِد الإجابة التي تبحث عنها تلجأ إلى أداة الحلّ Resolver الموجودة في نظام التّشغيل.
</p>

<p dir="rtl">
	يُقصَد بأداة الحلّ أي عنصر يوجد في جانب العميل ويُشارِك في استعلام DNS. تقوم مكتبة الحلّ Resolving library بهذا الدّور في نظام التشغيل الذي يستخدمها للبحث عن إجابة لاستعلامات DNS. فنيَّا مكتبة الحلّ هي مجموعة من الدّوال Functions للترجمة بين أسماء النّطاقات وعناوين IP. أداة الحل في نظام التشغيل هي العامل المحفِّز لعملية البحث عن عنوان IP؛ فكل ما تقوم به هو النّظر في بضع ملفات موجودة على نظام التشغيل (مثل etc/hosts/ في نظام غنو/لينوكس) أو تحويل الطّلب إلى أداة حلّ أخرى.
</p>

<p dir="rtl">
	يمر الاستعلام من البرنامج العميل إلى أداة الحلّ الموجودة في نظام التشغيل؛ التي تُرسلها إلى خادوم أسماء ليبحثَ عن عنوان IP المطلوب. يُسمَّى خادوم الأسماء في هذه الحالة خادوم DNS تكراري، Recursive DNS server. خادوم DNS تكراري هو خادوم مضبوط لمواصلة إرسال طلبات إلى خواديم DNS الأخرى بحثا عن العنوان الذي يُحيل إليه اسم النّطاق حتى يجد الإجابة. بعد عملية البحث يُحوِّل الخادوم التكراري الإجابة - أو رسالة الخطأ في حال تعذر الحصول على عنوان IP - إلى العميل (أداة الحلّ في نظام التّشغيل التي بدورها تمرِّرها إلى البرنامج).
</p>

<p dir="rtl">
	تحتفظ الخواديم التكرارية هي الأخرى - غالبًا - بنُسخ مخبَّأة من الاستعلامات. تبدأ هذه الخواديم عند وصول استعلام جديد بالبحث أولا في النسخ المُخبَّأة لديها، فإن لم توجد الإجابة في تلك النُّسخ؛ تنظُر إذا ما كانت تعرِف عنوان IP النطاق الأعلى لاسم النطاق قيدَ البحث. على سبيل المثال: إذا كان الاستعلام يتعلَّق بالنطاق www.example.com ولم يجد الخادوم التكراري نسخة مخبّأة بالنتيجة؛ فالخطوة الموالية هي العثور على خواديم أسماء النّطاق example.com، وفي حالة عدم معرفتها يبحث عن خواديم النطاق العلوي Top-level domain - TLD، أي com في هذا المثال. المبدأ هو أن يُرسِل الخادوم التكراري الاستعلام إلى خادوم الأسماء الأكثر تحديدا من بين خواديم الأسماء التي يعرفها للحصول على معلومات عن النّطاق.
</p>

<p dir="rtl">
	يحدُث ألا يعرف الخادوم التكراري عنوانَ أي من عناصر اسم النّطاق، في هذه الحالة يتوجّب عليه البدء من أعلى التسلسل الهرمي بإرسال استعلام إلى خواديم الجذر Root servers. تعرِف خواديم الجذر عناوين كل خواديم الأسماء التي تُدير النطاقات العلوية (TLD) مثل com. و net. و org. وغيرها. يُجيب الخادوم الجذر عند تلقي الاستعلام عن www.example.com بعنوان IP خواديم أسماء النطاق العلوي com.
</p>

<p dir="rtl">
	يستمر الخادوم التكراري في تتبع إحالات كل خادوم أسماء عن أجزاء اسم النّطاق التي تقع تحت سُلطته حتى يصِل إلى خادوم الأسماء الذي يعرف الإجابة الكاملة، ثم يحتفظ بنسخة مُخبَّأة من هذه الإجابة ويُرسِلها إلى العميل.
</p>

<p dir="rtl">
	رأينا في المثال السابق أنه توجد أنواع عديدة من الخواديم يقوم كل منها بدورِ مُختلِف. سنتعرف في الفقرات المُقبلة على خصائص كل واحد من أنواع خواديم DNS.
</p>

<h2 dir="rtl">
	الفروق الوظيفية Functional differences
</h2>

<p dir="rtl">
	تختلف خواديم DNS في الوظائف التي تؤديها؛ فأغلب الخواديم التي تدخل في إطار نظام أسماء النطاقات تتخصّص في وظائف محدَّدة. يعتمِد نوع خادوم DNS الذي تستخدمه على حاجاتك وطبيعة المشاكل التي تريد إيجاد حلول لها.
</p>

<h3 dir="rtl">
	الخواديم المُقتصِرة على منطقة السلطة Authoritative-Only DNS Servers
</h3>

<p dir="rtl">
	خادوم مقتصِر على منطقة السلطة هو خادوم يُجيب فقط عن الاستعلامات حول النطاقات التي هو مسؤول عنها. تتميّز الخواديم المُقتصِرة على السلطة بالسرعة والقدرة على التعامل مع العديد من الاستعلامات بكفاءة، يُساعدها في ذلك أنها لا تتدخّل في الإجابة على طلبات تتعلَّق بنطاقات خارجَ سُلطتها.
</p>

<p dir="rtl">
	لدى الخواديم المُقتصِرة على منطقة السلطة الخصائص التالية:
</p>

<ul>
<li>
		<p dir="rtl">
			سريعة جدًّا في الإجابة على استعلامات عن نطاقات تقع ضمن سُلطتها. يمتلك هذا النوع من الخواديم كل المعلومات عن النطاق الذي هو مسؤول عنه، كما أن لديه معلومات الإحالة إلى خواديم أسماء أخرى إذا كان لديها تفويض بالسلطة على موارد (نطاقات فرعية أو مُستضيفات) تابعة للنطاق.
		</p>
	</li>
	<li>
		<p dir="rtl">
			لا تُجيب على الاستعلامات التكرارية. التّعريف الّدقيق لخادوم مقتصر على منطقة السلطة هو أنه خادوم لا يتعامل مع الاستعلامات التكرارية. تعني هذه الخاصية أن الخادوم المُقتصِر على السّلطة لا يقوم أبدًا بدور عميل في نظام DNS. الاستعلامات التي تصِل إلى هذا الخادوم تأتي في الغالب من خادوم أسماء حالّ Resolving name server تلقى إحالة إلى الخادوم المُقتصر على السّلطة، وهو ما يعني أن هذا الأخير إما لديه الإجابة الكاملة أو لديه إحالة إلى خادوم أسماء مُفوَّض من طرفه بإدارة بعض موارد النّطاق.
		</p>
	</li>
	<li>
		<p dir="rtl">
			لا يحتفظ بأي نُسَخ مخبَّأة. توجد كل المعلومات التي يحتاجها الخادوم المُقتصِر على السّلطة في نظام الملفّات لديه، وبما أنه لا يُرسِل استعلامات إلى خواديم أخرى فهذا يعني أنه لا يوجد لديه داعٍ لحفظ نُسخ مخبَّأة.
		</p>
	</li>
</ul>
<h3 dir="rtl">
	خادوم DNS مُخبِّئ Caching DNS Server
</h3>

<p dir="rtl">
	يتعامل خادوم DNS المخبِّئ مع الاستعلامات التكرارية التي يُرسلها العملاء. الخواديم التي تتّصل بها أداة الحلّ الموجودة في نظام التشغيل هي في العادة خواديم DNS مُخبِّئة. تتميّزالخواديم المُخبِّئة بقدرتها على الإجابة على طلبات العملاء التّكرارية.
</p>

<p dir="rtl">
	تُعتَبر الخواديم المُقتصِرة على منطقة السلطة، من وجهة نظر معلومات نطاق محدَّد، مثالية؛ إلا أن الخواديم المخبِّئة أكثر فائدة من وجهة نظر العميل الذي قد يكون مجرَّد واجهة رسومية بسيطة، تتيح له الخواديم المُخبِّئة الوصول إلى كامل نظام DNS.
</p>

<p dir="rtl">
	تقوم الخواديم المخبِّئة بالاحتفاظ بنسخ من الإجابات على الاستعلامات الأخيرة لتقديمها عند الحاجة مقلّلةً بذلك من عدد الطّلبات التي ترسلها إلى خواديم الأسماء الأخرى، وهو ما يُساعد في تحسين الأداء ويُتيح لها الوصول إلى قاعدة عريضة من معلومات نظام DNS (كل معلومات DNS المتوفِّرة بشكل مفتوح) مع القدرة على الاستجابة السّريعة للطّلبات التي مرّت بها حديثًا.
</p>

<p dir="rtl">
	لدى الخواديم المُخبِّئة الخصائص التاليّة:
</p>

<ul>
<li>
		<p dir="rtl">
			إمكانية الوصول إلى كل معلومات نظام DNS المُتاحة للعموم؛ إذ أن الخواديم المُخبِّئة تستطيع الحصول على كل معلومات النّطاقات الموجودة لدى خواديم الأسماء المرتبِطة بالترتيب الهرمي لنظام DNS التي يُتاح الوصول إليها بشكل عام. تعرف الخواديم المُخبِّئة عناوين خواديم الجذر وتستطيع تتبّع الإحالات بذكاء أثناء حصولها على البيانات.
		</p>
	</li>
	<li>
		<p dir="rtl">
			القدرة على التّدرج في إرسال البيانات إلى العملاء محدودي الموارد (الذاكرة Memory، المُعالِج Processor، ..إلخ). تقوم أغلب نُظُم التّشغيل الحديثة بتوكيل عملية تعيين أسماء النطاقات إلى خواديم تكرارية مُتفرِّغة لهذا الغرض، وذلك عن طريق مكتبة الحلّ. كل ما تقوم به مكتبة الحلّ هو إرسال استعلام ثم انتظار الحصول على إجابة كاملة. لدى الخادوم المُخبِّئ الإمكانات اللازمة بالضبط لتلبية طلب هذه المكتبات. يعني قبول الخواديم المُخبّئة للاستعلامات التكرارية أنها تضمن إما إرسال إجابة إلى العميل أو إبلاغه برسالة خطأ.
		</p>
	</li>
	<li>
		<p dir="rtl">
			تحتفظ بنسخ من البيانات المطلوبة في الاستعلامات الأخيرة. تُنشئ هذه الخواديم نسخ من بيانات DNS الأخيرة التي حصلت عليها أثناء البحث عن استعلامات العملاء. تعتمد سرعة الحصول على إجابة من طرف خادوم مخبّئ على عوامل أهمها عدد عملاء الخادوم، وسعة ذاكرة التخبئة Cache memory وقيمة TTL الموجودة في سجلاّت خادوم اسم النطاق المطلوب.
		</p>
	</li>
</ul>
<h3 dir="rtl">
	خادوم إعادة التوجيه Forwarding DNS Server
</h3>

<p dir="rtl">
	يُشكِّل خادوم إعادة التوجيه بديلًا عن إنشاء نُسَخ مخبَّأة على الحواسيب العميلة. تُضيف هذه المقاربة حلقةً جديدة في مسار استعلام DNS عن طريق تشغيل خادوم إعادة توجيه تتلخَّص مهمته في تمرير كل استعلامات DNS إلى خادوم لديه القدرة على التعامل مع الطلبات التكرارية (خادوم مُخبِّئ على سبيل المثال). تُعطي هذه الطّريقة ميزة الحصول على نُسخ مخبَّأة يُمكن الوصول إليها من الشبكة المحلية Local network دون الحاجة لعمل الاستعلامات التكرارية (قد تستأثر الاستعلامات التكرارية بمواردة مُعتبرة في الخواديم التي لديها حركة اتصالات فائقة).
</p>

<p dir="rtl">
	لدى خواديم إعادة التوجيه الخصائص التالية:
</p>

<ul>
<li>
		<p dir="rtl">
			القدرة على الإجابة على الاستعلامات التكرارية دون أن يكون هو نفسه من يتتبع إحالاتِها. الخاصية الأساسية في خادوم إعادة التوجيه هي أنه يمرِّر الطلبات إلى عميل آخر يقوم بالبحث عن الإجابة عنها. يُمكن لخادوم إعادة التوجيه منح قيمة مُضافة كبيرة بموارد محدودة، وذلك اعتمادًا على النُّسخ المخبَّأة التي يحتفظ بها.
		</p>
	</li>
	<li>
		<p dir="rtl">
			توفير تخبِئة بالقرب من الشبكة المحلية. يستطيع خادوم إعادة التوجيه طلب خواديم DNS تكرارية متاحة للعموم وهو ما يُغنيك إن لم تكن لديك القدرة على إنشاء وصيانة وتأمين خدمة DNS كاملة. إتاحة تخبئة قريبة من الشبكة المحلية تعني التقليل من الوقت اللازم للإجابة على الاستعلامات.
		</p>
	</li>
	<li>
		<p dir="rtl">
			زيادة المرونة عن طريق تعريف فضاء محلي لأسماء النطاقات. يستطيع خادوم إعادة التوجيه إضافة شروط على وجهة الاستعلامات وذلك للتأكد من أن الطلبات المحلية تُوجَّه إلى خواديم خاصة بينما تُرسل الطّلبات الخارجية إلى خواديم DNS عامّة.
		</p>
	</li>
</ul>
<h3 dir="rtl">
	الحلول التجميعية
</h3>

<p dir="rtl">
	تطرّقنا في الفقرات السّابقة إلى خواديم DNS مُصمَّمة لتلبية حاجات محدَّدة. في بعض الأحيان يكون مُفيدًا إعدادُ خادوم DNS بطريقة تسمح له بدمج ميزات كل نوع من الخواديم معًا.
</p>

<p dir="rtl">
	يُمكن على سبيل المثال إعداد خادوم للعمل كمخبِّئ بالنسبة لعدد محدّد من عملاء الشبكة المحلية في حين أنه يتعامل مع بقية العملاء بوصفه خادوما يقتصِر على منطقة السلطة. هذا الإعداد شائع جدًا إذ يسمح لك بالإجابة عن الاستعلامات الخارجية المتعلّقة بنطاقك وفي نفس الوقت يمكن للحواسيب على الشبكة المحلية اللجوء لنفس الخادوم لحل الاستعلامات التكرارية.
</p>

<p dir="rtl">
	تُصَمَّم أغلب برمجيات DNS لإنجاز وظيفة معيَّنة. توجد رغم ذلك تطبيقات تتمتع بالمرونة للعمل على دمج عدة وظائف. Bind أحد هذه التّطبيقات. يؤدي توفير عدة خدمات (وظائف) DNS على نفس الخادوم عادةً إلى تدهور في الأداء، لكن الأمر يختلف بالنسبة للمؤسسات ذات البنية التحتية الصغيرة التي يكون فيها تحمل إدارة وصيانة خادوم "كل في واحد" أكثر جدوائية.
</p>

<h2 dir="rtl">
	الفروقات الارتباطية Relational Differences
</h2>

<p dir="rtl">
	من المهم الانتباه للفروق في العلاقة بين الخواديم. فبالرغم أن أغلب الفروق بين إعدادات الخواديم هي فروق وظيفية إلا أن الاختلافات في طبيعة العلاقة بين الخواديم مهمة جدًّا هي الأخرى.
</p>

<h2 dir="rtl">
	الخواديم الرئيسة والخواديم التابعة Primary and Slave Servers
</h2>

<p dir="rtl">
	تعمَد الكثير من أنظمة DNS المسؤولة عن نطاق معيَّن إلى تضمين نُظُم احتياطية مكوَّنة من عدة خواديم لضمان الوصول إلى الخدمات التي توفّرها. تأتي العلاقة بين الخواديم في هذه النّظم على عدّة أشكال، لكن الخادوم - في الغالب - إما أن يكون رئيسًا Primary أو تابِعًا Slave. لدى كل من الخادوم الرئيس والتابع السّلطة على النطاق المسؤول عنه ولا يوجد فرق منه هذه الناحية. الفرق الوحيد بين خادوم أسماء رئيس وآخر تابِع هو المكان الذي يقرأ منه ملفات النطاق: يقرأ الخادوم الرئيس ملفات النطاق من القرص الصّلب لديه. يُضيف مديرو النُّظُم ملفات النطاق إلى نظام الملفات الموجود على الخادوم الرئيس. عند تحرير أو نقل ملفات النطاق فإن ذلك يتم على مستوى الخادوم الرئيس.
</p>

<p dir="rtl">
	يستقبل الخادوم التابِع ملفات النطاق من أحد الخواديم الرئيسة ثمّ يحفظ نسخًا منها لديه في ذاكرة التخبِئة. في حال إعادة تشغيل الخادوم الرئيس فإنه يتحقق من كون ملفات النطاق محدَّثَة Up-to-date ويقوم بتحديث معلوماته من الخادوم الرئيس إن تطلّب الأمر ذلك.
</p>

<p dir="rtl">
	ليسَ مفروضًا على الخادوم أن يكون رئيسًا (أو تابِعًا) في جميع نطاقات سُلطته. يُخصَّص وضع الخادوم (رئيس أو تابِع) لكل واحد من النطاقات التي هو مسؤول عنها دون أن يُؤثِّر ذلك على وضعه بالنسبة لبقية النطاقات؛ أي أنه يُمكن أن يكون رئيسًا بالنسبة لبعض النطاقات وتابِعا بالنسبة لنطاقات أخرى.
</p>

<p dir="rtl">
	يوجد عادةً خادوما أسماء لكل نطاق في نظام DNS. في حال كان النطاق يُوجه إلى نطاقات عامة على شبكة الإنترنت فيتوجّب أن يكون لديه في هذه الحالة خادوما أسماء على الأقل. تمتلك بعض النطاقات عدة خواديم أسماء لتوزيع الحِمل Load بينها.
</p>

<h3 dir="rtl">
	الخواديم العامّة والخواديم الخاصّة Public vs Private Servers
</h3>

<p dir="rtl">
	تستخدم المؤسسات نظام DNS في شبكاتها الدّاخلية والخارجية على السّواء، وتختلف البيانات المُرسلة بشدّة في الحالتين. يُمكن لمنظّمةٍ ما مثلًا توفير خادوم مُقتصر على نطاق السّلطة يتعامل مع استعلامات DNS عامّة (خارجية)، وفي نفس الوقت تستعمل خادوما منفصِلًا (خاصا) يحوي معلومات النّطاق التي يوفّرها الخادوم العام إضافةً إلى معلومات إضافية عن مستضيفات وخدمات موجّهة لمستخدمي الشّبكة المحليّة، مثل أن يكون الخادوم مخبِّئا ويتعامل مع الاستعلامات التكرارية ولكن فقط عندما تكون آتية من الشبكة المحلية.
</p>

<p dir="rtl">
	ذكرنا أثناء الحديث عن الحلول التجميعية أنه يُمكن لخادوم واحد التّعامل مع وظائف عديدة مع التفريق بين الخدمات الموجَّهة للعموم والأخرى الموجَّهة لمستخدمي الشّبكة الدّاخلية. هذه المُقاربة واردة؛ إلا أن توزيع العمل بين خادومين منفصليْن - عامّ وخاص - لا يعلمُ أي منهما شيئا عن الآخر يخفِّف حِمل العمل كما أنه أفضَل من وجهة نظر أمنية حيثُ لا وجود لسجلّات records عن الجزء الخاص لدى الخادوم العام. يعني هذا أن الخادوم العام لا يملك في ملفات النّطاق لديه أي سجلات من نوع NS عن خواديم الأسماء الخاصّة بالشبكة الدّاخلية.
</p>

<p dir="rtl">
	بالحديث عن الأمان توجد بعض الاعتبارات التي ينبغي أخذها في الحسبان. العلاقة من نوع رئيس-تابِع هي الطّريقة السّهلة لتشارك بيانات النّطاق بين الخواديم العامّة والخاصّة، ولكنّ ذلك قد يُسرِّب معلومات عن بنية الشّبكة الداخليّة ويجعلها مُتاحةً للجميع.
</p>

<p dir="rtl">
	من الجيّد في هذا الإطار حذف أي مرجِع للخادوم الخاصّ من ملفّات إعداد الخادوم العامّ. يشمل هذا الأمر، إضافةً إلى إبقاء الخادوميْن منفصليْن كما ذكرنا سابِقًا، مسح أي تفاصيل عن نقل أو إشعار أو إعدادات الخادوم الرئيس؛ بحيثُ تبقى خواديم أسماء الشّبكة الداخلية محميةً حتى في حال تعرّض الخواديم العامّة للاختراق.
</p>

<h2 dir="rtl">
	خاتمة
</h2>

<p dir="rtl">
	تُدرك الآن وجود قدر لا بأس به من المرونة في خيارات إعداد DNS. يعتمد الخيار المُناسِب على حاجات مؤسستك: هل تمنح الأولوية لإعداد نظام DNS سريع لعدد محدّد من العملاء (خواديم مخبّئة أو خواديم إعادة التوجيه)، أم لتوفير خدمة تعيين نطاقاتك على الإنترنت بأكملها (خواديم مُقتصِرة على السّلطة). المقاربات التجميعية شائعة ويجب أخذ طريقتَي عمل DNS السّالفتي الذِّكر بالحسبان.
</p>

<p dir="rtl">
	سنوضّح لك في المقالات اللّاحقة كيف تبدأ مع بعض هذه الإعدادات؛ حيثُ سنقوم أولا بضبط خادوم ليعمل إما كمخبِّئ أو لإعادة التوجيه، ثم نأتي بعد ذلك لإعداد خادومَيْ DNS يقتصران على نطاق السلطة. 
</p>

<p dir="rtl">
	 
</p>

<p dir="rtl">
	ترجمة -وبتصرّف- للمقال: <a href="https://www.digitalocean.com/community/tutorials/a-comparison-of-dns-server-types-how-to-choose-the-right-dns-configuration" rel="external nofollow">A Comparison of DNS Server Types: How To Choose the Right DNS Configuration</a>
</p>
]]></description><guid isPermaLink="false">15</guid><pubDate>Mon, 16 Mar 2015 06:38:00 +0000</pubDate></item></channel></rss>
