resolv.conf(5)

الاسم
resolv.conf - ملف تهيئة المحلل

موجز
/etc/resolv.conf

الوصف
المحلل resolver هو مجموعة من الإجراءات في مكتبة C توفر الوصول إلى نظام أسماء النطاقات (DNS) على الإنترنت. يحتوي ملف تهيئة المحلل على معلومات تُقرأ بواسطة إجراءات المحلل في المرة الأولى التي تُستدعى فيها بواسطة عملية. صُمم الملف ليكون مقروءًا بشريًا ويحتوي على قائمة كلمات مفتاحية مع قيم توفر أنواعًا مختلفة من معلومات المحلل. يُعتبر ملف التهيئة مصدرًا موثوقًا لمعلومات DNS؛ انظر خيار trust-ad أدناه للتفاصيل.

إذا لم يكن هذا الملف موجودًا، فسيُستعلم فقط عن خادم الأسماء على الجهاز المحلي، وتحتوي قائمة البحث على اسم النطاق المحلي المُحدد من اسم المضيف.

خيارات التهيئة المختلفة هي:

nameserver عنوان IP لخادم الأسماء
    عنوان إنترنت لخادم أسماء يجب على المحلل الاستعلام عنه، إما عنوان IPv4 (بترميز النقاط)، أو عنوان IPv6 بترميز النقطتين (وربما النقاط) وفقًا لـ RFC 2373. يمكن إدراج ما يصل إلى MAXNS (حاليًا 3، انظر <resolv.h>) من خوادم الأسماء، واحد لكل كلمة مفتاحية. إذا كانت هناك خوادم متعددة، تستعلم مكتبة المحلل عنها بالترتيب المُدرج. إذا لم تكن هناك إدخالات nameserver، فالمبدئي هو استخدام خادم الأسماء على الجهاز المحلي. (الخوارزمية المُستخدمة هي تجربة خادم أسماء، وإذا انتهت مهلة الاستعلام، تجربة التالي، حتى نفاد خوادم الأسماء، ثم تكرار تجربة جميع خوادم الأسماء حتى الوصول إلى أقصى عدد من المحاولات.)

search قائمة البحث عن اسم المضيف.
    مبدئيًا، تحتوي قائمة البحث على إدخال واحد، اسم النطاق المحلي. يُحدد من اسم المضيف المحلي المُعاد بواسطة gethostname(2)؛ يُؤخذ اسم النطاق المحلي على أنه كل شيء بعد أول '.'. أخيرًا، إذا كان اسم المضيف لا يحتوي على '.'، يُفترض النطاق الجذر كاسم النطاق المحلي.

    يمكن تغيير ذلك بإدراج مسار البحث عن النطاق المطلوب بعد الكلمة المفتاحية search مع فصل الأسماء بمسافات أو علامات تبويب. سيُحاول استعلامات المحلل التي تحتوي على عدد نقاط أقل من ndots (المبدئي هو 1) باستخدام كل مكون من مسار البحث بدوره حتى يُعثر على تطابق. للبيئات ذات النطاقات الفرعية المتعددة، يُرجى قراءة options ndots:n أدناه لتجنب هجمات الوسيط وحركة المرور غير الضرورية لخوادم DNS الجذرية. لاحظ أن هذه العملية قد تكون بطيئة وتُولد الكثير من حركة مرور الشبكة إذا لم تكن خوادم النطاقات المُدرجة محلية، وأن الاستعلامات ستنتهي مهلة إذا لم يكن هناك خادم متاح لأحد النطاقات.

    إذا كانت هناك توجيهات search متعددة، فتُستخدم فقط قائمة البحث من المثيل الأخير.

    في glibc 2.25 والإصدارات الأقدم، تقتصر قائمة البحث على ستة نطاقات بإجمالي 256 حرفًا. منذ glibc 2.26، قائمة البحث غير محدودة.

    توجيه domain هو اسم قديم لتوجيه search الذي يعالج إدخال قائمة بحث واحد فقط.

sortlist
    يسمح هذا الخيار بفرز العناوين المُعادة بواسطة gethostbyname(3). تُحدد قائمة الفرز بأزواج عنوان IP وقناع الشبكة. قناع الشبكة اختياري والمبدئي هو قناع الشبكة الطبيعي للشبكة. يُفصل عنوان IP وأزواج الشبكة الاختيارية بشرطات مائلة. يمكن تحديد ما يصل إلى 10 أزواج. إليك مثال:

    sortlist 130.155.160.0/255.255.240.0 130.155.0.0

options
    تسمح الخيارات بتعديل بعض متغيرات المحلل الداخلية. الصيغة هي

        options خيار ...

    حيث option هو أحد الخيارات التالية:

    debug
        يضبط RES_DEBUG في _res.options (فعال فقط إذا بُني glibc بدعم التصحيح؛ انظر resolver(3)).

    ndots:n
        يضبط حدًا لعدد النقاط التي يجب أن تظهر في اسم معطى لـ res_query(3) (انظر resolver(3)) قبل إجراء استعلام مطلق ابتدائي. المبدئي لـ n هو 1، مما يعني أنه إذا كان هناك أي نقاط في اسم، سيُحاول الاسم أولاً كاسم مطلق قبل إلحاق أي عناصر قائمة بحث به. قيمة هذا الخيار محدودة بصمت إلى 15.

    timeout:n
        يضبط مقدار الوقت الذي سينتظره المحلل لاستجابة من خادم أسماء بعيد قبل إعادة محاولة الاستعلام عبر خادم أسماء مختلف. قد لا يكون هذا الوقت الإجمالي المستغرق في أي استدعاء API للمحلل ولا يوجد ضمان بأن استدعاء API واحد للمحلل يتوافق مع مهلة واحدة. يُقاس بالثواني، المبدئي هو RES_TIMEOUT (حاليًا 5، انظر <resolv.h>). قيمة هذا الخيار محدودة بصمت إلى 30.

    attempts:n
        يضبط عدد المرات التي سيرسل فيها المحلل استعلامًا إلى خوادم الأسماء الخاصة به قبل الاستسلام وإرجاع خطأ إلى التطبيق المستدعي. المبدئي هو RES_DFLRETRY (حاليًا 2، انظر <resolv.h>). قيمة هذا الخيار محدودة بصمت إلى 5.

    rotate
        يضبط RES_ROTATE في _res.options، مما يسبب اختيارًا دائريًا لخوادم الأسماء من بين تلك المدرجة. هذا له تأثير توزيع حمل الاستعلام بين جميع الخوادم المدرجة، بدلاً من أن يحاول جميع العملاء الخادم الأول المدرج أولاً في كل مرة.

    no-aaaa (منذ glibc 2.36)
        يضبط RES_NOAAAA في _res.options، مما يكبت استعلامات AAAA التي يقوم بها المحلل الفرعي، بما في ذلك عمليات البحث AAAA التي تُثار بواسطة واجهات قائمة على NSS مثل getaddrinfo(3). تتأثر فقط عمليات بحث DNS: بيانات IPv6 في hosts(5) لا تزال مستخدمة، getaddrinfo(3) مع AI_PASSIVE سيظل ينتج عناوين IPv6، وخوادم أسماء IPv6 المكونة لا تزال مستخدمة. لإنتاج نتائج خطأ اسم (NXDOMAIN) صحيحة، تُترجم استعلامات AAAA إلى استعلامات A. هذا الخيار مخصص مبدئيًا لأغراض التشخيص، لاستبعاد أن استعلامات DNS AAAA لها تأثير ضار. إنه غير متوافق مع استخدام EDNS0 والتحقق من DNSSEC بواسطة التطبيقات.

    no-check-names
        يضبط RES_NOCHECKNAME في _res.options، مما يعطل التحقق الحديث لـ BIND من أسماء المضيفين وأسماء البريد الواردة من الأحرف غير الصالحة مثل الشرطة السفلية (_)، أو غير ASCII، أو أحرف التحكم.

    inet6
        يضبط RES_USE_INET6 في _res.options. هذا له تأثير محاولة استعلام AAAA قبل استعلام A داخل دالة gethostbyname(3)، ورسم خرائط استجابات IPv4 في "شكل نفق" IPv6 إذا لم يتم العثور على سجلات AAAA ولكن توجد مجموعة سجلات A. منذ glibc 2.25، هذا الخيار مهمل؛ يجب على التطبيقات استخدام getaddrinfo(3) بدلاً من gethostbyname(3).

    ip6-bytestring (منذ glibc 2.3.4 إلى glibc 2.24)
        يضبط RES_USEBSTRING في _res.options. هذا يسبب إجراء عمليات بحث عكسية IPv6 باستخدام تنسيق تسمية البت الموصوف في RFC 2673؛ إذا لم يُضبط هذا الخيار (وهو المبدئي)، فسيُستخدم تنسيق nibble. أُزيل هذا الخيار في glibc 2.25، لأنه اعتمد على امتداد DNS غير متوافق مع الإصدارات السابقة لم يُنشر أبدًا على الإنترنت.

    ip6-dotint/no-ip6-dotint (glibc 2.3.4 إلى glibc 2.24)
        يمسح/يضبط RES_NOIP6DOTINT في _res.options. عندما يكون هذا الخيار ممسوحًا (ip6-dotint)، تُجرى عمليات البحث العكسية IPv6 في منطقة ip6.int (المهملة)؛ عندما يُضبط هذا الخيار (no-ip6-dotint)، تُجرى عمليات البحث العكسية IPv6 في منطقة ip6.arpa بشكل مبدئي. هذه الخيارات متاحة حتى glibc 2.24، حيث no-ip6-dotint هو المبدئي. منذ أن توقف دعم ip6-dotint منذ زمن طويل عن التوفر على الإنترنت، أُزيلت هذه الخيارات في glibc 2.25.

    edns0 (منذ glibc 2.6)
        يضبط RES_USE_EDNS0 في _res.options. هذا يُفعِّل دعم امتدادات DNS الموصوفة في RFC 2671.

    single-request (منذ glibc 2.10)
        يضبط RES_SNGLKUP في _res.options. بشكل مبدئي، يُجري glibc عمليات بحث IPv4 و IPv6 بالتوازي منذ glibc 2.9. بعض خوادم DNS التطبيقية لا تستطيع معالجة هذه الاستعلامات بشكل صحيح وتتسبب في انتهاء مهلة الطلبات. هذا الخيار يُعطِّل السلوك ويجعل glibc يُجري طلبات IPv6 و IPv4 بالتسلسل (على حساب بعض التباطؤ في عملية الحل).

    single-request-reopen (منذ glibc 2.9)
        يضبط RES_SNGLKUPREOP في _res.options. يستخدم الحال نفس المقبس لطلبات A و AAAA. بعض الأجهزة تُرسل خطأً ردًا واحدًا فقط. عندما يحدث ذلك، سيجلس نظام العميل وينتظر الرد الثاني. تشغيل هذا الخيار يُغير هذا السلوك بحيث إذا لم يتم التعامل مع طلبين من نفس المنفذ بشكل صحيح، سيُغلق المقبس ويفتح مقبسًا جديدًا قبل إرسال الطلب الثاني.

    no-tld-query (منذ glibc 2.14)
        يضبط RES_NOTLDQUERY في _res.options. هذا الخيار يتسبب في عدم محاولة res_nsearch() حل اسم غير مؤهل كما لو كان نطاقًا من المستوى الأعلى (TLD). يمكن أن يتسبب هذا الخيار في مشاكل إذا كان الموقع يحتوي على “localhost” كـ TLD بدلاً من وجود localhost على عنصر واحد أو أكثر من قائمة البحث. ليس لهذا الخيار أي تأثير إذا لم يتم ضبط أي من RES_DEFNAMES أو RES_DNSRCH.

    use-vc (منذ glibc 2.14)
        يضبط RES_USEVC في _res.options. هذا الخيار يُجبر استخدام TCP لحلول DNS.

    no-reload (منذ glibc 2.26)
        يضبط RES_NORELOAD في _res.options. هذا الخيار يُعطِّل إعادة التحميل الآلي لملف تهيئة متغير.

    trust-ad (منذ glibc 2.31)
        يضبط RES_TRUSTAD في _res.options. هذا الخيار يتحكم في سلوك بت AD للحال المختزل. إذا ضبط حال تحقق بت AD في رد، فهذا يشير إلى أن البيانات في الرد تم التحقق منها وفقًا لبروتوكول DNSSEC. للاعتماد على بت AD، يجب على النظام المحلي الثقة في كل من حال التحقق من DNSSEC ومسار الشبكة إليه، ولهذا السبب يلزم الاشتراك الصريح. إذا كان الخيار trust-ad نشطًا، يضبط الحال المختزل بت AD في استعلامات DNS الصادرة (لتفعيل دعم بت AD)، ويحافظ على بت AD في الردود. بدون هذا الخيار، لا يُضبط بت AD في الاستعلامات، ويُزال دائمًا من الردود قبل إعادتها إلى التطبيق. هذا يعني أن التطبيقات يمكنها الثقة في بت AD في الردود إذا تم ضبط الخيار trust-ad بشكل صحيح.

        في glibc 2.30 والإصدارات السابقة، لا يُضبط AD آليًا في الاستعلامات، ويُمرر دون تغيير إلى التطبيقات في الردود.

يمكن تجاوز الكلمة الرئيسية search لملف resolv.conf للنظام على أساس كل عملية عن طريق ضبط متغير البيئة LOCALDOMAIN إلى قائمة مفصولة بمسافات من نطاقات البحث.

يمكن تعديل الكلمة الرئيسية options لملف resolv.conf للنظام على أساس كل عملية عن طريق ضبط متغير البيئة RES_OPTIONS إلى قائمة مفصولة بمسافات من خيارات الحال كما هو موضح أعلاه تحت options.

يجب أن تظهر الكلمة الرئيسية والقيمة في سطر واحد، ويجب أن تبدأ الكلمة الرئيسية (مثل nameserver) السطر. تتبع القيمة الكلمة الرئيسية، مفصولة بمسافة بيضاء.

الأسطر التي تحتوي على فاصلة منقوطة (;) أو رمز هاش (#) في العمود الأول تُعامل كتعليقات.

الملفات
/etc/resolv.conf، <resolv.h>

انظر أيضًا
gethostbyname(3)، resolver(3)، host.conf(5)، hosts(5)، nsswitch.conf(5)، hostname(7)، named(8)

دليل عمليات خادم الأسماء لـ BIND

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.