.\" Copyright (c) 2007-2025 Roy Marples .\" All rights reserved .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .Dd June 26, 2025 .Dt RESOLVCONF 8 .Os .Sh "نام (NAME)" .Nm resolvconf .Nd چارچوب مدیریت اطلاعات سرورهای نام و فایل resolv.conf .Sh "خلاصه دستور (SYNOPSIS)" .Nm .Fl I .Nm .Op Fl m Ar metric .Op Fl p .Op Fl x .Fl a Ar key .No < Ns Pa file .Nm .Fl C Ar pattern .Nm .Fl c Ar pattern .Nm .Op Fl f .Fl d Ar key .Nm .Op Fl x .Fl iLlp Ar pattern .Nm .Fl u .Nm .Fl Fl version .Sh "توضیحات (DESCRIPTION)" دستور .Nm فایل‌های .Xr resolv.conf 5 را از چندین منبع، مانند کلاینت‌های DHCP و VPN مدیریت می‌کند. به‌طور سنتی، میزبان تنها یک کلاینت اجرا می‌کند و همان، .Pa /etc/resolv.conf را به‌روزرسانی می‌کند. سیستم‌های مدرن‌تر معمولاً دارای رابط‌های سیمی و بی‌سیم هستند و هیچ تضمینی وجود ندارد که هر دو روی یک شبکه باشند. با پیدایش VPN و سایر انواع دیمن‌های شبکه، اکنون مؤلفه‌های متعددی بر سر محتوای .Pa /etc/resolv.conf رقابت می‌کنند. .Pp .Nm این مشکل را با دادن امکان ارسال فایل .Xr resolv.conf 5 توسط دیمن‌ها به .Nm از طریق .Xr stdin 4 با آرگومان .Fl a Ar key به جای دستکاری مستقیم فایل‌سیستم حل می‌کند. سپس .Nm فایل .Pa /etc/resolv.conf را به بهترین شکلی که تشخیص می‌دهد به‌روزرسانی می‌کند. اگر .Pa /etc/resolv.conf از قبل وجود داشته باشد و خط اول آن با امضای مورد انتظار مطابقت نداشته باشد، .Nm از به‌روزرسانی آن خودداری خواهد کرد، مگر اینکه دستور به‌روزرسانی .Fl u داده شده باشد. هنگامی که یک تحلیل‌گر محلی به جز libc نصب شده باشد، مانند .Xr dnsmasq 8 یا .Xr named 8 , آن‌گاه .Nm فایل‌هایی را فراهم می‌کند که تحلیل‌گر باید برای استفاده از آن‌ها پیکربندی شود. .Pp در اصل، .Nm یک ذخیره‌ساز کلید/مقدار برای فایل‌های .Pa resolv.conf است. هر مدخل باید یک .Ar key منحصربه‌فرد داشته باشد و بهتر است به‌صورت .Sy interface.protocol بیان شود تا به‌سادگی مشخص گردد فایل .Pa resolv.conf از کجا آمده است. این کار همچنین امکان استفاده از تطبیق الگو مانند .Sy interface.* را برای مطابقت با تمام پروتکل‌های در حال اجرا روی آن رابط فراهم می‌سازد. به‌عنوان مثال، یک سیستم امروزی احتمالاً پروتکل‌های DHCP،‏ RA و DHCPv6 را اجرا می‌کند که می‌توانند از برنامه‌های جداگانه یا یک برنامه مجری چندین پروتکل باشند. با این حال، این یک الزام قطعی نیست؛ .Nm با هر نام کلیدی کار خواهد کرد و در خارج از .Nm باید به عنوان یک مقدار مبهم با آن رفتار شود. .Pp .Nm می‌تواند یک .Pa resolv.conf را به عنوان خصوصی و در صورت تمایل غیرقابل جستجو علامت‌گذاری کند. این بدان معناست که سرورهای نام فهرست‌شده در آن .Pa resolv.conf تنها برای پرس‌وجوهای مربوط به دامنه/جستجوی فهرست‌شده در همان فایل استفاده می‌شوند و در صورت غیرقابل جستجو بودن، دامنه/جستجوی فهرست‌شده از فهرست جستجوی سراسری تعریف‌شده در .Pa /etc/resolv.conf مستثنی می‌شوند. این ویژگی فقط زمانی کار می‌کند که یک تحلیل‌گر محلی به جز libc نصب شده باشد. برای چگونگی پیکربندی .Nm جهت استفاده از یک سرور نام محلی و نحوه حذف علامت خصوصی، به .Xr resolvconf.conf 5 مراجعه کنید. .Pp .Nm می‌تواند یک .Pa resolv.conf را به عنوان اختصاصی علامت‌گذاری کند. در این حالت تنها آخرین کلید اختصاصی برای پردازش استفاده می‌شود، در غیر این صورت همه کلیدها پردازش می‌گردند. .Pp هنگامی که یک منبع پیکربندی از بین می‌رود، مانند قطع شدن یک رابط یا متوقف شدن VPN، باید .Nm را با آرگومان‌های .Fl d Ar key فراخوانی کند تا فایل .Pa resolv.conf ای را که قبلاً اضافه کرده بود پاک‌سازی نماید. برای سیستم‌هایی که از مفهوم پایداری پیکربندی در زمان تعلیق منبع پشتیبانی می‌کنند (مانند قطع شدن سیگنال حامل)، باید در عوض .Nm را با آرگومان‌های .Fl C Ar key برای منسوخ کردن مدخل و با .Fl c Ar key برای فعال‌سازی مجدد مدخل هنگام بازگشت دوباره آن فراخوانی کرد. این کار تنها بر ترتیبی که مدخل‌های .Pa resolv.conf پردازش می‌شوند تأثیر می‌گذارد. .Pp در اینجا چند گزینه برای دستورات فوق آورده شده است: .Bl -tag -width pattern_opt .It Fl f نادیده گرفتن مدخل‌های ناموجود .Pa resolv.conf . این گزینه در واقع فقط برای حذف کردن کاربرد دارد. .It Fl m Ar metric تنظیم متریک مدخل .Pa resolv.conf هنگام افزودن آن؛ پیش‌فرض 0 است. متریک‌های پایین‌تر اولویت دارند. این امر بر ترتیب پیش‌فرض مدخل‌ها هنگام فهرست‌بندی تأثیر می‌گذارد. .It Fl p Op Ar pattern اگر دستور .Fl a داده شده باشد، .Pa resolv.conf را به عنوان خصوصی علامت‌گذاری می‌کند، در غیر این صورت مدخل‌های .Pa resolv.conf که کلید آن‌ها با .Ar pattern مطابقت دارد فهرست می‌شوند. اگر یک .Fl p اضافی داده شود، .Pa resolv.conf به عنوان غیرقابل جستجو نیز علامت‌گذاری می‌گردد. .It Fl x علامت‌گذاری .Pa resolv.conf به عنوان اختصاصی هنگام افزودن؛ در غیر این صورت فقط از آخرین کلید اختصاصی استفاده می‌شود. .El .Pp .Nm دستورات دیگری نیز برای کاربردهای عمومی دارد: .Bl -tag -width pattern_opt .It Fl i Op Ar pattern فهرست کردن کلیدهای ذخیره‌شده‌ای که فایل‌های .Pa resolv.conf برای آن‌ها موجود است، با امکان تطبیق اختیاری با .Ar pattern . اگر ابتدا گزینه .Fl L داده شود، کلیدها پس از پس‌پردازش فهرست خواهند شد. .It Fl L Op Ar pattern فهرست کردن فایل‌های .Pa resolv.conf موجود، پس از اعمال پس‌پردازش توسط پیکربندی .Xr resolvconf.conf 5 . در صورت تعیین .Ar pattern , فایل‌های مربوط به کلیدهایی که با آن مطابقت دارند فهرست می‌شوند. .It Fl l Op Ar pattern فهرست کردن فایل‌های .Pa resolv.conf موجود. در صورت تعیین .Ar pattern , فایل‌های مربوط به کلیدهایی که با آن تطابق دارند فهرست می‌شوند. .It Fl u وادار کردن .Nm به به‌روزرسانی تمام مشترکین خود. .Nm هنگام افزودن یک resolv.conf که با آنچه در حال حاضر برای آن کلید دارد یکسان باشد، مشترکین را به‌روزرسانی نمی‌کند. .It Fl Fl version چاپ نسخه resolvconf در .Em stdout . .El .Pp .Nm همچنین دستوراتی دارد که برای استفاده توسط مشترکین آن و در زمان راه‌اندازی سیستم طراحی شده‌اند: .Bl -tag -width pattern_opt .It Fl I مقداردهی اولیه دایرکتوری وضعیت .Pa /run/resolvconf . این دستور باید پس از پاک‌سازی دایرکتوری وضعیت پایه یا سوار شدن آن به عنوان یک سیستم‌فایل مبتنی بر حافظه در طول توالی راه‌اندازی اولیه، پیش از اینکه هر دیمنی فرصت فراخوانی .Nm را داشته باشد، اجرا شود. .It Fl R چاپ دستور مورداستفاده برای راه‌اندازی مجدد یک سرویس. .It Fl r Ar service اگر .Ar service در حال اجرا باشد، آن را مجدداً راه‌اندازی می‌کند. اگر سرویس وجود نداشته باشد یا در حال اجرا نباشد مقدار صفر، و در غیر این صورت نتیجه راه‌اندازی مجدد سرویس بازگردانده می‌شود. .It Fl v چاپ متغیرهای DOMAINS،‏ SEARCH و NAMESERVERS تا مشترک بتواند تحلیل‌گر را به‌آسانی پیکربندی کند. .It Fl V مشابه .Fl v , با این تفاوت که فقط اطلاعات پیکربندی‌شده در .Xr resolvconf.conf 5 تنظیم می‌شوند. .El .Sh "ترتیب RESOLV.CONF (RESOLV.CONF ORDERING)" برای اینکه .Nm به‌طور مؤثر کار کند، باید مدخل‌های .Pa resolv.conf را به ترتیب صحیح پردازش نماید. .Nm ابتدا کلیدهای موجود در فهرست .Sy key_order را پردازش می‌کند، سپس مدخل‌های بدون متریک و منطبق با فهرست .Sy dynamic_order را، سپس مدخل‌های دارای متریک را به ترتیب، و در نهایت سایر موارد را بر اساس ترتیب الفبایی سیستم‌عامل پردازش می‌کند. برای جزئیات بیشتر درباره این فهرست‌ها به .Xr resolvconf.conf 5 مراجعه کنید. .Sh "پروتکل‌ها (PROTOCOLS)" در اینجا چند برچسب پروتکل پیشنهادی برای استفاده در هر .Pa resolv.conf آورده شده است: .Bl -tag -width pattern_opt .It dhcp پروتکل پیکربندی پویای میزبان (Dynamic Host Configuration Protocol). .It ppp پروتکل نقطه به نقطه (Point-to-Point Protocol). .It ra اعلان رهیاب در IPv6 (IPv6 Router Advertisement). .It dhcp6 پروتکل پیکربندی پویای میزبان برای IPv6، نسخه ۶. .El .Sh "نکات پیاده‌سازی (IMPLEMENTATION NOTES)" اگر یک مشترک بیت اجرایی داشته باشد اجرا می‌شود، در غیر این صورت فرض می‌شود که یک اسکریپت شل است و در یک زیرپوسته به محیط جاری منبع‌دهی (source) می‌شود. این کار به این دلیل انجام می‌شود تا مشترکین سریع باقی بمانند و همچنین به زبان پوسته محدود نباشند. .Pp مشترکین با قابلیت حمل بالا نباید از هیچ چیزی خارج از .Pa /bin و .Pa /sbin استفاده کنند؛ زیرا ممکن است .Pa /usr و سایر دایرکتوری‌ها هنگام راه‌اندازی سیستم در دسترس نباشند. همچنین، تکیه بر ویژگی‌های خاص یک پوسته توصیه نمی‌شود. .Sh "محیط (ENVIRONMENT)" .Bl -ohang .It Va IF_METRIC اگر گزینه .Fl m داده نشده باشد، از .Va IF_METRIC برای متریک استفاده می‌شود. .It Va IF_PRIVATE فایل .Pa resolv.conf را به عنوان خصوصی علامت‌گذاری می‌کند. .It Va IF_NOSEARCH فایل .Pa resolv.conf را به عنوان غیرقابل جستجو علامت‌گذاری می‌کند. .It Va IF_EXCLUSIVE فایل .Pa resolv.conf را به عنوان اختصاصی علامت‌گذاری می‌کند. .El .Sh "فایل‌ها (FILES)" .Bl -ohang .It Pa /etc/resolv.conf.bak فایل پشتیبان از resolv.conf اصلی. .It Pa /etc/resolvconf.conf فایل پیکربندی برای .Nm . .It Pa /usr/lib/resolvconf دایرکتوری مشترکینی که در هر بار افزودن، حذف یا به‌روزرسانی توسط .Nm اجرا می‌شوند. .It Pa /usr/lib/resolvconf/libc.d دایرکتوری مشترکینی که پس از اجرای مشترک libc اجرا می‌شوند. .It Pa /run/resolvconf دایرکتوری وضعیت برای .Nm . .El .Sh "نکات (NOTES)" برچسب‌های دامنه اسکی فرض شده و به حروف کوچک تبدیل می‌شوند تا در صورت دریافت موارد با حروف بزرگ و کوچک متفاوت از منابع مختلف، از ایجاد ناحیه‌های تکراری جلوگیری شود. .Pp هنگام اجرای یک تحلیل‌گر محلی غیر از libc، باید آن را طوری پیکربندی کنید که فایل‌های تولیدشده توسط .Nm را شامل شود. برای دستورالعمل‌های مربوط به نحوه پیکربندی تحلیل‌گر خود، به .Xr resolvconf.conf 5 مراجعه کنید. .Sh "همچنین ببینید (SEE ALSO)" .Xr resolver 3 , .Xr stdin 4 , .Xr resolv.conf 5 , .Xr resolvconf.conf 5 .Sh "تاریخچه (HISTORY)" این پیاده‌سازی از .Nm تحت عنوان openresolv شناخته می‌شود و با resolvconf توزیع دبیان که توسط Thomas Hood نوشته شده، از نظر خط فرمان کاملاً سازگار است. .Sh "نویسندگان (AUTHORS)" .An Roy Marples Aq Mt roy@marples.name .Sh "اشکالات (BUGS)" لطفاً اشکالات را به نشانی زیر گزارش دهید: .Lk http://roy.marples.name/projects/openresolv