RNDC(8) BIND 9 RNDC(8)

rndc - ابزار کنترل کارساز نام (name server)

rndc [-b source-address] [-c config-file] [-k key-file] [-s server] [-p port] [-q] [-r] [-V] [-y server_key] [[-4] | [-6]] {command}

rndc عملیات یک کارساز نام را کنترل می‌کند. اگر rndc بدون گزینه‌ها یا آرگومان‌های خط فرمان فراخوانی شود، خلاصه‌ای کوتاه از دستورات پشتیبانی‌شده، گزینه‌های موجود و آرگومان‌های آن‌ها را چاپ می‌کند.

rndc از طریق یک اتصال TCP با کارساز نام ارتباط برقرار می‌کند و دستوراتی را ارسال می‌کند که با امضاهای دیجیتال احراز هویت شده‌اند. در نسخه‌های فعلی rndc و named <#std-iscman-named>، تنها الگوریتم‌های احراز هویت پشتیبانی‌شده عبارتند از HMAC-MD5 (برای سازگاری)، HMAC-SHA1، HMAC-SHA224، HMAC-SHA256 (پیش‌فرض)، HMAC-SHA384 و HMAC-SHA512. آن‌ها از یک رمز مشترک در هر دو سر اتصال استفاده می‌کنند که احراز هویت مبتنی بر TSIG را برای درخواست فرمان و پاسخ کارساز نام فراهم می‌سازد. تمامی دستورات ارسال‌شده روی کانال باید توسط یک server_key که برای کارساز شناخته‌شده است امضا شوند.

rndc یک فایل پیکربندی را می‌خواند تا نحوه تماس با کارساز نام و اینکه چه الگوریتم و کلیدی باید استفاده شود را مشخص کند.

-4
این گزینه نشان‌دهنده استفاده اختصاصی از IPv4 است.
-6
این گزینه نشان‌دهنده استفاده اختصاصی از IPv6 است.
این گزینه source-address را به‌عنوان نشانی مبدا برای برقراری اتصال با کارساز تعیین می‌کند. مشخص کردن چند مورد برای تنظیم هر دو نشانی مبدا IPv4 و IPv6 مجاز است.
این گزینه config-file را به‌عنوان فایل پیکربندی به‌جای پیش‌فرض، /etc/rndc.conf، مشخص می‌کند.
این گزینه key-file را به‌عنوان فایل کلید به‌جای پیش‌فرض، /etc/rndc.key، مشخص می‌کند. کلید موجود در /etc/rndc.key در صورتی که config-file وجود نداشته باشد، برای احراز هویت دستورهای ارسالی به کارساز استفاده می‌شود.
server نام یا نشانی کارسازی است که با عبارت server در فایل پیکربندی برای rndc مطابقت دارد. اگر هیچ کارسازی در خط فرمان ارائه نشود، میزبان مشخص‌شده در بند default-server درون عبارت options از فایل پیکربندی rndc به کار گرفته می‌شود.
این گزینه به BIND 9 دستور می‌دهد تا فرمان‌ها را به‌جای درگاه پیش‌فرض کانال کنترل یعنی 953، به درگاه TCP با شماره port ارسال کند.
این گزینه حالت بی‌صدا را فعال می‌کند، که در آن متن پیام بازگردانده‌شده از کارساز چاپ نمی‌شود مگر اینکه خطایی رخ دهد.
این گزینه به rndc دستور می‌دهد پس از اجرای فرمان درخواستی، کد نتیجه بازگردانده‌شده توسط named <#std-iscman-named> (مانند ISC_R_SUCCESS، ISC_R_FAILURE و غیره) را چاپ کند.
این گزینه دوره مهلت زمانی (timeout) بی‌کار بودن را برای rndc به مقدار timeout ثانیه تنظیم می‌کند. مقدار پیش‌فرض ۶۰ ثانیه و بیشینه مقدار قابل تنظیم ۸۶۴۰۰ ثانیه (۱ روز) است. اگر روی ۰ تنظیم شود، هیچ مهلت زمانی در نظر گرفته نمی‌شود.
این گزینه گزارش‌گیری پرجزئیات (verbose) را فعال می‌کند.
این گزینه استفاده از کلید server_key از فایل پیکربندی را نشان می‌دهد. برای موفقیت اعتبارسنجی پیام‌های کنترلی، server_key باید توسط named <#std-iscman-named> با همان الگوریتم و رشته رمز مشترک شناخته شده باشد. اگر هیچ server_key مشخص نشود، rndc ابتدا به دنبال بند key در عبارت server مربوط به کارساز مورد استفاده می‌گردد، و اگر عبارت server برای آن میزبان وجود نداشته باشد، در بند default-key از عبارت options جستجو می‌کند. توجه داشته باشید که فایل پیکربندی حاوی رمزهای مشترکی است که برای ارسال دستورهای کنترلی احراز هویت‌شده به کارسازهای نام استفاده می‌شود، بنابراین نباید دسترسی عمومی خواندن یا نوشتن داشته باشد.

فهرست دستورات پشتیبانی‌شده توسط rndc را می‌توان با اجرای rndc بدون هیچ آرگومانی مشاهده کرد.

دستورات پشتیبانی‌شده در حال حاضر عبارتند از:

این دستور یک ناحیه (zone) را در حین اجرای کارساز اضافه می‌کند. این دستور مستلزم آن است که گزینه allow-new-zones روی yes تنظیم شده باشد. رشته پیکربندی مشخص‌شده در خط فرمان، متن پیکربندی ناحیه‌ای است که معمولاً در named.conf <#std-iscman-named.conf> قرار می‌گیرد.

پیکربندی در فایلی به نام viewname.nzf (یا اگر named <#std-iscman-named> با liblmdb کامپایل شده باشد، در یک فایل پایگاه‌داده LMDB به نام viewname.nzd) ذخیره می‌شود. viewname نام نما (view) است، مگر اینکه نام view شامل کاراکترهایی باشد که برای استفاده به‌عنوان نام فایل ناسازگارند؛ در این صورت به‌جای آن از یک هش رمزنگاری‌شده از نام view استفاده می‌شود. هنگام راه‌اندازی مجدد named <#std-iscman-named>، این فایل در پیکربندی view بارگذاری می‌شود تا ناحیه‌های اضافه‌شده پس از راه‌اندازی مجدد پابرجا بمانند.

این نمونه دستور addzone ناحیه example.com را به نمای پیش‌فرض اضافه می‌کند:

rndc addzone example.com '{ type primary; file "example.com.db"; };'

(به براکت‌های دور و نقطه‌ویرگول پس از متن پیکربندی ناحیه دقت کنید.)

همچنین ببینید rndc delzone و rndc modzone.

این دستور یک ناحیه را در حین اجرای کارساز حذف می‌کند.

اگر آرگومان -clean مشخص شده باشد، فایل اصلی (master file) ناحیه (و فایل ژورنال، در صورت وجود) به همراه ناحیه حذف می‌شوند. بدون گزینه -clean، فایل‌های ناحیه باید به‌صورت دستی حذف شوند. (اگر نوع ناحیه secondary یا stub باشد، فایل‌هایی که نیاز به حذف دارند در خروجی دستور rndc delzone گزارش داده می‌شوند.)

اگر ناحیه در ابتدا از طریق rndc addzone اضافه شده باشد، به‌طور دائمی حذف می‌شود. با این حال، اگر در ابتدا در named.conf <#std-iscman-named.conf> پیکربندی شده باشد، آن پیکربندی اولیه سر جای خود باقی می‌ماند؛ هنگامی که کارساز مجدداً راه‌اندازی یا بازپیکربندی شود، ناحیه دوباره ایجاد می‌شود. برای حذف دائمی آن، باید از named.conf <#std-iscman-named.conf> نیز حذف شود.

همچنین ببینید rndc addzone و rndc modzone.

دستورات زیر به شما اجازه می‌دهند با "dnssec-policy" مربوط به یک ناحیه مشخص تعامل داشته باشید.
این دستور به named <#std-iscman-named> اطلاع می‌دهد که انتشار رکورد DS برای کلید امضای کلید (KSK) یک ناحیه مشخص در ناحیه والد تایید شده یا از آن پس گرفته (withdrawn) شده است. این کار برای تکمیل جابه‌جایی کلید (rollover) KSK لازم است. آرگومان‌های -key id و -alg algorithm در صورت لزوم برای تعیین یک KSK مشخص استفاده می‌شوند؛ اگر تنها یک کلید به‌عنوان KSK برای ناحیه عمل کند، می‌توان این آرگومان‌ها را نادیده گرفت. زمان انتشار یا پس گرفتن DS به‌طور پیش‌فرض روی زمان فعلی تنظیم می‌شود، اما با آرگومان -when time می‌توان آن را روی زمانی مشخص تنظیم کرد، که در آن time در قالب YYYYMMDDHHMMSS بیان می‌شود.
این دستور به شما اجازه می‌دهد جابه‌جایی کلید (rollover) را برای یک کلید خاص زمان‌بندی کنید (با نادیده گرفتن طول عمر اصلی کلید). آرگومان‌های -key id و -alg algorithm مشخص می‌کنند کدام کلید جابه‌جا شود. زمان شروع جابه‌جایی را می‌توان با -when time تنظیم کرد، که در آن time در قالب YYYYMMDDHHMMSS بیان می‌شود. در صورت عدم تنظیم، جابه‌جایی بلافاصله آغاز خواهد شد.
-status [-v] zone [class [view]]
این دستور وضعیت امضای DNSSEC را برای ناحیه مشخص‌شده نمایش می‌دهد. افزودن -v همچنین کلیدهایی را که دیگر استفاده نمی‌شوند فهرست کرده و وضعیت کلیدها را نشان می‌دهد.
این دستور سیگنالی به یک نمونه از named <#std-iscman-named> برای ناحیه‌ای با پیکربندی dnssec-policy در حالت دستی ارسال می‌کند، و به آن می‌گوید عملیاتی را که قبلاً مسدود شده اما در گزارش‌ها ثبت شده بودند ادامه دهد. این امکان به مدیر سیستم فرصت می‌دهد تا پیام‌های گزارش را بررسی کند، متوجه شود در مرحله بعد چه اتفاقی خواهد افتاد، و سپس با استفاده از rndc dnssec -step به named <#std-iscman-named> اطلاع دهد که به مرحله بعد برود.
این دستور فایل‌های خروجی DNSTAP را می‌بندد و دوباره باز می‌کند.

rndc dnstap -reopen امکان تغییر نام فایل خروجی به‌صورت خارجی را فراهم می‌کند تا named <#std-iscman-named> بتواند آن را کوتاه (truncate) کرده و دوباره باز کند.

rndc dnstap -roll باعث می‌شود فایل خروجی مشابه فایل‌های گزارش (log) به‌صورت خودکار چرخش (roll) داده شود. به نام جدیدترین فایل خروجی پسوند ".0" اضافه می‌شود؛ فایل ماقبل جدیدترین به ".1" منتقل می‌شود، و به همین ترتیب. اگر number مشخص شده باشد، تعداد فایل‌های گزارش پشتیبان به آن عدد محدود خواهد شد.

این دستور کش‌های کارساز (پیش‌فرض) و/یا ناحیه‌ها را در فایل دامپ برای نماهای مشخص‌شده تخلیه می‌کند. اگر نمایی مشخص نشود، تمامی نماها دامپ می‌شوند. (گزینه dump-file را در راهنمای مرجع مدیر BIND 9 ببینید.)
این دستور فهرستی از کارسازهایی را که در حال حاضر به دلیل تنظیمات fetches-per-server با محدودیت نرخ مواجه هستند، و فهرستی از نام‌های دامنه‌ای را که در حال حاضر به دلیل تنظیمات fetches-per-zone با محدودیت نرخ مواجهند، در قالب خروجی تخلیه می‌کند.
این دستور کش کارساز را پاکسازی می‌کند.
این دستور نام داده‌شده را از کش DNS نما و در صورت وجود، از پایگاه‌داده نشانی کارساز نام (nameserver address database)، کش کارساز خراب (bad server cache) و کش SERVFAIL نما پاکسازی می‌کند.
این دستور نام داده‌شده و تمامی زیردامنه‌های آن را از کش DNS نما، پایگاه‌داده نشانی، کش کارساز خراب و کش SERVFAIL پاکسازی می‌کند.
این دستور به‌روزرسانی‌های یک ناحیه پویا را به حالت تعلیق درمی‌آورد. اگر هیچ ناحیه‌ای مشخص نشود، تمامی ناحیه‌ها معلق می‌شوند. این کار امکان ویرایش دستی ناحیه‌ای را که معمولاً با به‌روزرسانی پویا تغییر می‌کند فراهم ساخته، و باعث همگام‌سازی تغییرات فایل ژورنال با فایل اصلی (master file) می‌شود. در زمان تعلیق ناحیه، تمام تلاش‌ها برای به‌روزرسانی پویا رد می‌شوند.

همچنین ببینید rndc thaw.

این دستور کارساز را بلافاصله متوقف می‌کند. تغییرات اخیری که از طریق به‌روزرسانی پویا یا IXFR اعمال شده‌اند در فایل‌های اصلی ذخیره نمی‌شوند، اما هنگام راه‌اندازی مجدد کارساز از فایل‌های ژورنال بازخوانی و اعمال (roll forward) خواهند شد. اگر -p مشخص شود، شناسه فرایند (PID) کارساز named <#std-iscman-named> بازگردانده می‌شود. این کار به یک فرایند خارجی اجازه می‌دهد تا تشخیص دهد چه زمانی توقف named <#std-iscman-named> کامل شده است.

همچنین ببینید rndc stop.

این دستور به شما امکان می‌دهد یک فایل SKR را برای ناحیه مشخص‌شده وارد کنید تا از امضای آفلاین KSK پشتیبانی شود.
این دستور تمام کلیدهای DNSSEC ناحیه داده‌شده را از دایرکتوری کلیدها واکشی می‌کند. اگر در بازه زمانی انتشار خود باشند، با مجموعه‌رکورد DNSKEY ناحیه ادغام می‌شوند. برعکس rndc sign، با این حال، ناحیه بلافاصله توسط کلیدهای جدید بازامضا نمی‌شود، بلکه اجازه می‌یابد به مرور زمان به‌صورت تدریجی بازامضا شود.

این دستور مستلزم این است که ناحیه با یک dnssec-policy پیکربندی شده باشد.

این دستور پایگاه‌داده "managed-keys" را که نگهداری تکیه‌گاه‌های اعتماد DNSSEC در RFC 5011 https://datatracker.ietf.org/doc/html/rfc5011.html را بر عهده دارد، بررسی و کنترل می‌کند. اگر نمایی مشخص شود، این دستورات روی آن نما اعمال می‌شوند؛ در غیر این صورت، روی همه نماها اعمال خواهند شد.
  • هنگام اجرا با کلمه کلیدی status، وضعیت کنونی پایگاه‌داده managed-keys چاپ می‌شود.
  • هنگام اجرا با کلمه کلیدی refresh، ارسال فوری پرس‌وجوی بازنشانی برای همه کلیدهای مدیریت‌شده تحمیل می‌شود تا در صورت یافتن کلیدهای جدید، پایگاه‌داده managed-keys بدون انتظار برای بازه بازنشانی معمول به‌روزرسانی شود.
  • هنگام اجرا با کلمه کلیدی sync، تخلیه فوری پایگاه‌داده managed-keys روی دیسک (در فایل managed-keys.bind یا viewname.mkeys) انجام می‌شود. این کار پایگاه‌داده را با فایل ژورنال خود همگام می‌کند تا محتویات کنونی پایگاه‌داده به‌صورت چشمی قابل بررسی باشد.
  • هنگام اجرا با کلمه کلیدی destroy، پایگاه‌داده managed-keys متوقف و حذف می‌شود و تمام فرآیندهای نگهداری کلید پایان می‌یابد. این دستور فقط باید با احتیاط بسیار زیاد استفاده شود.

    کلیدهای موجود که از قبل مورد اعتماد هستند از حافظه حذف نمی‌شوند؛ اعتبارسنجی DNSSEC پس از استفاده از این دستور می‌تواند ادامه یابد. با این حال، عملیات نگهداری کلید تا زمانی که named <#std-iscman-named> مجدداً راه‌اندازی یا بازپیکربندی شود متوقف می‌شود و تمام وضعیت‌های نگهداری کلید فعلی حذف خواهند شد.

    اجرای rndc reconfig یا راه‌اندازی مجدد named <#std-iscman-named> بلافاصله پس از این دستور باعث می‌شود که نگهداری کلیدها از ابتدا مقداردهی اولیه شود، درست مانند اینکه کارساز برای اولین بار راه‌اندازی شده باشد. این کار در درجه اول برای آزمایش در نظر گرفته شده است، اما ممکن است به‌عنوان مثال برای تسریع در دریافت کلیدهای جدید در زمان جابه‌جایی تکیه‌گاه اعتماد، یا به‌عنوان تعمیری تهاجمی برای مشکلات نگهداری کلید استفاده شود.

این دستور نمایه‌سازی حافظه (memory profiling) را کنترل می‌کند. برای داشتن هرگونه تاثیر، named <#std-iscman-named> باید با jemalloc ساخته شده باشد، کتابخانه دارای پشتیبانی نمایه‌سازی فعال باشد و با پیکربندی تخصیص‌دهنده حافظه prof:true اجرا شود (یا از طریق MALLOC_CONF یا /etc/malloc.conf).

گزینه prof_active:false توصیه می‌شود تا اطمینان حاصل شود سربار نمایه‌سازی در زمانی که نیازی به آن نیست روی named <#std-iscman-named> تأثیر نگذارد.

گزینه‌های on و off به‌ترتیب نمایه‌سازی حافظه jemalloc را آغاز و متوقف می‌کنند. هنگام اجرا با گزینه dump، کارساز named <#std-iscman-named> نمایه را در دایرکتوری کاری تخلیه می‌کند. نام فایل به‌طور خودکار توسط jemalloc انتخاب خواهد شد.

این دستور پیکربندی یک ناحیه را در حین اجرای کارساز تغییر می‌دهد. این دستور مستلزم آن است که گزینه allow-new-zones روی yes تنظیم شده باشد. همانند addzone، رشته پیکربندی مشخص‌شده در خط فرمان، متن پیکربندی ناحیه‌ای است که معمولاً در named.conf <#std-iscman-named.conf> قرار می‌گیرد.

اگر ناحیه در ابتدا از طریق rndc addzone اضافه شده باشد، تغییرات پیکربندی به‌طور دائمی ثبت می‌شوند و پس از راه‌اندازی مجدد یا بازپیکربندی کارساز همچنان پابرجا خواهند بود. با این حال، اگر در ابتدا در named.conf <#std-iscman-named.conf> پیکربندی شده باشد، آن پیکربندی اولیه سر جای خود باقی می‌ماند؛ زمانی که کارساز مجدداً راه‌اندازی یا بازپیکربندی شود، ناحیه به پیکربندی اولیه خود برمی‌گردد. برای اعمال دائمی تغییرات، باید در named.conf <#std-iscman-named.conf> نیز اصلاح شود.

همچنین ببینید rndc addzone و rndc delzone.

این دستور پیام‌های NOTIFY را برای ناحیه دوباره ارسال می‌کند.
این دستور سطح اشکال‌زدایی کارساز را روی ۰ تنظیم می‌کند.

همچنین ببینید rndc trace.

این دستور یک تکیه‌گاه اعتماد منفی (NTA) مربوط به DNSSEC را برای domain، با طول عمر duration تنظیم می‌کند. طول عمر پیش‌فرض در named.conf <#std-iscman-named.conf> از طریق گزینه nta-lifetime پیکربندی می‌شود و پیش‌فرض آن یک ساعت است. طول عمر نمی‌تواند از یک هفته بیشتر باشد.

یک تکیه‌گاه اعتماد منفی به‌صورت انتخابی اعتبارسنجی DNSSEC را برای ناحیه‌هایی که مشخص شده به دلیل پیکربندی نادرست (و نه به دلیل حمله) با شکست مواجه می‌شوند غیرفعال می‌کند. هنگامی که داده‌های نیازمند اعتبارسنجی در یک NTA فعال یا زیر آن باشند (و بالاتر از سایر تکیه‌گاه‌های اعتماد پیکربندی‌شده قرار گیرند)، named <#std-iscman-named> فرایند اعتبارسنجی DNSSEC را لغو کرده و با داده‌ها به عنوان ناامن (insecure) به‌جای جعلی (bogus) رفتار می‌کند. این وضعیت تا زمان پایان یافتن طول عمر NTA ادامه می‌یابد.

تکیه‌گاه‌های NTA در صورت راه‌اندازی مجدد کارساز named <#std-iscman-named> نیز حفظ می‌شوند. تکیه‌گاه‌های NTA برای هر نما در فایلی به نام name.nta ذخیره می‌شوند که در آن name نام نما است؛ اگر حاوی کاراکترهای ناسازگار با استفاده به‌عنوان نام فایل باشد، یک هش رمزنگاری‌شده از نام نما تولید می‌شود.

یک NTA موجود را می‌توان با استفاده از گزینه -remove حذف کرد.

طول عمر یک NTA را می‌توان با گزینه -lifetime مشخص کرد. پسوندهای قالب TTL می‌توانند برای مشخص کردن طول عمر بر حسب ثانیه، دقیقه یا ساعت استفاده شوند. اگر NTA مشخص‌شده از قبل وجود داشته باشد، طول عمر آن به مقدار جدید به‌روزرسانی می‌شود. تنظیم lifetime روی صفر معادل -remove است.

اگر از -dump استفاده شود، سایر آرگومان‌ها نادیده گرفته می‌شوند و فهرستی از NTAهای موجود چاپ می‌شود. توجه داشته باشید که این خروجی ممکن است شامل NTAهایی باشد که منقضی شده‌اند اما هنوز پاکسازی نشده‌اند.

به‌طور معمول، named <#std-iscman-named> به‌طور دوره‌ای بررسی می‌کند تا ببیند آیا داده‌های زیر یک NTA اکنون قابل اعتبارسنجی هستند یا خیر (برای جزئیات به گزینه nta-recheck در راهنمای مرجع مدیر مراجعه کنید). اگر داده‌ها قابل اعتبارسنجی باشند، NTA دیگر غیرضروری تلقی شده و اجازه می‌یابد زودتر از موعد منقضی شود. پارامتر -force این رفتار را لغو کرده و یک NTA را وادار می‌کند تا در کل طول عمر خود پابرجا بماند، صرف‌نظر از اینکه آیا داده‌ها در صورت عدم حضور NTA قابل اعتبارسنجی بودند یا خیر.

کلاس نما را می‌توان با -class مشخص کرد. پیش‌فرض، کلاس IN است که در حال حاضر تنها کلاسی است که DNSSEC برای آن پشتیبانی می‌شود.

تمام این گزینه‌ها می‌توانند خلاصه شوند، یعنی به -l، -r، -d، -f و -c.

گزینه‌های ناشناخته به‌عنوان خطا تلقی می‌شوند. برای اشاره به نام دامنه یا نمایی که با خط تیره آغاز می‌شود، از یک دوخط‌تیره (--) در خط فرمان برای نشان دادن پایان گزینه‌ها استفاده کنید.

این دستور ثبت وقایع پرس‌وجو (query logging) را فعال یا غیرفعال می‌کند. برای سازگاری با گذشته، این دستور همچنین می‌تواند بدون آرگومان برای جابه‌جایی بین حالت فعال و غیرفعال ثبت وقایع استفاده شود.

ثبت پرس‌وجو را می‌توان با هدایت صریح دسته queries به یک کانال (channel) در بخش logging از named.conf <#std-iscman-named.conf>، یا با مشخص کردن querylog yes; در بخش options از named.conf <#std-iscman-named.conf> نیز فعال کرد.

این دستور فایل پیکربندی را مجدداً بارگذاری کرده و ناحیه‌های جدید را بارگذاری می‌کند، اما فایل‌های ناحیه موجود را حتی در صورت تغییر مجدداً بارگذاری نمی‌کند. این روش در صورت وجود تعداد زیادی ناحیه، سریع‌تر از یک rndc reload کامل است، زیرا نیازی به بررسی زمان تغییر فایل‌های ناحیه ندارد.
این دستور فهرست پرس‌وجوهایی را که named <#std-iscman-named> در حال حاضر به‌صورت بازگشتی (recursive) روی آن‌ها کار می‌کند، و فهرست دامنه‌هایی را که در حال حاضر پرس‌وجوهای تکراری (iterative) به آن‌ها ارسال می‌شوند، تخلیه می‌کند.

فهرست اول شامل تمام کلاینت‌های یکتایی است که منتظر اتمام بازگشت هستند، از جمله پرس‌وجویی که در انتظار پاسخ است و برچسب زمانی (ثانیه‌های سپری‌شده از مبدا یونیکس) زمانی که named پردازش این پرس‌وجوی کلاینت را آغاز کرده است.

فهرست دوم شامل دامنه‌هایی است که فراخوانی‌های فعال (یا اخیراً فعال) برای آن‌ها در جریان است. این بخش تعداد فراخوانی‌های فعال برای هر دامنه و تعداد پرس‌وجوهایی را که در نتیجه محدودیت fetches-per-zone پذیرفته شده‌اند (مجاز بوده‌اند) یا کنار گذاشته شده‌اند (سرریز شده‌اند) گزارش می‌دهد. (توجه: این شمارنده‌ها در طول زمان تجمیعی نیستند؛ هر زمان که تعداد فراخوانی‌های فعال برای یک دامنه به صفر برسد، شمارنده آن دامنه حذف می‌شود، و دفعه بعد که فراخوانی به آن دامنه ارسال شود، دوباره با شمارنده‌های صفر ایجاد می‌شود).

این دستور نگهداری ناحیه را برای ناحیه داده‌شده زمان‌بندی می‌کند.
این دستور فایل پیکربندی و ناحیه‌ها را مجدداً بارگذاری می‌کند.

اگر ناحیه‌ای مشخص شود، این دستور تنها ناحیه داده‌شده را مجدداً بارگذاری می‌کند. اگر هیچ ناحیه‌ای مشخص نشود، بارگذاری مجدد به‌صورت ناهمگام انجام می‌شود.

این دستور شمارنده‌های آماری درخواست‌شده را بازنشانی می‌کند.

حداقل یک نام شمارنده باید ارائه شود. در حال حاضر شمارنده‌های زیر پشتیبانی می‌شوند: recursive-high-water، tcp-high-water.

این دستور ثبت وقایع پاسخ‌ها (response logging) را فعال یا غیرفعال می‌کند. برای سازگاری با گذشته، این دستور می‌تواند بدون آرگومان نیز برای جابه‌جایی وضعیت ثبت پاسخ‌ها استفاده شود.

برخلاف ثبت پرس‌وجو، ثبت پاسخ را نمی‌توان با هدایت صریح دسته responses به یک channel در بخش logging از named.conf <#std-iscman-named.conf> فعال کرد، اما همچنان می‌توان آن را با مشخص کردن responselog yes; در بخش options از named.conf <#std-iscman-named.conf> فعال نمود.

این دستور ناحیه ثانویه داده‌شده را مجدداً از کارساز اولیه منتقل (retransfer) می‌کند.

اگر ناحیه برای استفاده از inline-signing پیکربندی شده باشد، نسخه امضاشده ناحیه دور ریخته می‌شود؛ پس از تکمیل انتقال مجدد نسخه امضانشده، نسخه امضاشده با امضاهای جدید دوباره ایجاد می‌شود. با ارائه آرگومان اختیاری -force، در صورت وجود انتقال ناحیه در حال انجام، پیش از زمان‌بندی انتقال ناحیه جدید لغو خواهد شد.

این دستور فهرست رابط‌های شبکه موجود را بدون نیاز به اجرای کامل rndc reconfig یا انتظار برای تایمر interface-interval، برای یافتن تغییرات اسکن می‌کند.
این دستور ریشه‌های امنیتی (یعنی تکیه‌گاه‌های اعتماد پیکربندی‌شده از طریق trust-anchors، یا عبارت‌های managed-keys یا trusted-keys [هر دو منسوخ‌شده]، یا dnssec-validation auto) و تکیه‌گاه‌های اعتماد منفی را برای نماهای مشخص‌شده تخلیه می‌کند. اگر نمایی مشخص نشود، همه نماها تخلیه می‌شوند. ریشه‌های امنیتی نشان می‌دهند که آیا آن‌ها به‌عنوان کلیدهای مورد اعتماد، کلیدهای مدیریت‌شده، یا کلیدهای مدیریت‌شده در حال مقداردهی اولیه (کلیدهای مدیریت‌شده‌ای که هنوز با یک پرس‌وجوی موفق بازنشانی کلید به‌روزرسانی نشده‌اند) پیکربندی شده‌اند یا خیر.

اگر آرگومان اول - باشد، خروجی از طریق کانال پاسخ rndc بازگردانده شده و در خروجی استاندارد چاپ می‌شود. در غیر این صورت، در فایل تخلیه secroots نوشته می‌شود، که پیش‌فرض آن named.secroots است، اما می‌توان آن را از طریق گزینه secroots-file در named.conf <#std-iscman-named.conf> لغو کرد.

همچنین ببینید rndc managed-keys.

این دستور ارائه پاسخ‌های بیات/کهنه (stale answers) را بر اساس پیکربندی در named.conf <#std-iscman-named.conf> فعال، غیرفعال، بازنشانی کرده یا وضعیت کنونی آن را گزارش می‌دهد.

اگر ارائه پاسخ‌های کهنه توسط rndc serve-stale off غیرفعال شود، حتی در صورت بارگذاری مجدد یا بازپیکربندی named <#std-iscman-named> همچنان غیرفعال می‌ماند. دستور rndc serve-stale reset تنظیمات را به وضعیت پیکربندی‌شده در named.conf <#std-iscman-named.conf> بازمی‌گرداند.

دستور rndc serve-stale status گزارش می‌دهد که آیا کش کردن و ارائه پاسخ‌های کهنه در حال حاضر فعال است یا غیرفعال. همچنین مقادیر stale-answer-ttl و max-stale-ttl را گزارش می‌دهد.

اگر کارساز با مقدار yes برای allow-new-zones پیکربندی شده باشد، این دستور پیکربندی یک ناحیه در حال اجرا را چاپ می‌کند.

همچنین ببینید rndc addzone، rndc modzone و rndc delzone.

این دستور تمام کلیدهای DNSSEC ناحیه داده‌شده را از دایرکتوری کلیدها واکشی می‌کند (گزینه key-directory در راهنمای مرجع مدیر BIND 9 را ببینید). اگر در دوره انتشار خود باشند، با مجموعه‌رکورد DNSKEY ناحیه ادغام می‌شوند. اگر مجموعه‌رکورد DNSKEY تغییر کند، ناحیه به‌طور خودکار با مجموعه کلید جدید مجدداً امضا می‌شود. این کار امضاهای کلیدهای غیرفعال را با امضاهای کلیدهای فعال جایگزین می‌کند، و امضاهایی را که در بازه بازنشانی منقضی می‌شوند به‌روزرسانی می‌کند.

این دستور مستلزم این است که ناحیه با یک dnssec-policy پیکربندی شده باشد.

همچنین ببینید rndc loadkeys.

این دستور رکوردهای وضعیت امضای DNSSEC را برای ناحیه مشخص‌شده فهرست، ویرایش یا حذف می‌کند. وضعیت عملیات در حال انجام DNSSEC، مانند امضا کردن یا تولید زنجیره‌های NSEC3، در ناحیه در قالب رکوردهای منبع DNS از نوع sig-signing-type ذخیره می‌شود. rndc signing -list این رکوردها را به قالبی خوانا برای انسان تبدیل می‌کند و نشان می‌دهد کدام کلیدها در حال حاضر در حال امضا هستند یا امضای ناحیه را به پایان رسانده‌اند، و کدام زنجیره‌های NSEC3 در حال ایجاد یا حذف هستند.

rndc signing -clear می‌تواند یک کلید منفرد (مشخص‌شده در همان قالبی که rndc signing -list برای نمایش آن استفاده می‌کند) یا تمام کلیدها را حذف کند. در هر دو حالت، تنها کلیدهای کامل‌شده حذف می‌شوند؛ هر رکوردی که نشان دهد یک کلید هنوز امضای ناحیه را تمام نکرده است حفظ می‌شود.

rndc signing -nsec3param پارامترهای NSEC3 را برای یک ناحیه تنظیم می‌کند. این تنها سازوکار پشتیبانی‌شده برای استفاده از NSEC3 در ناحیه‌های inline-signing است. پارامترها در همان قالب یک رکورد منبع NSEC3PARAM مشخص می‌شوند: hash algorithm، flags، iterations و salt، به همان ترتیب.

در حال حاضر، تنها مقدار تعریف‌شده برای hash algorithm مقدار 1 است که بیانگر SHA-1 است. فلگ‌های flags بسته به اینکه آیا بیت opt-out در زنجیره NSEC3 باید تنظیم شود یا خیر، می‌توانند روی 0 یا 1 تنظیم شوند. پارامتر iterations تعداد دفعات اضافی را که الگوریتم باید هنگام تولید هش NSEC3 اعمال شود، تعیین می‌کند. مقدار salt رشته‌ای از داده‌ها در مبنای شانزده (هگزادسیمال)، یک خط تیره (-) در صورت عدم استفاده از salt، یا کلمه کلیدی auto است که باعث می‌شود named <#std-iscman-named> یک salt تصادفی ۶۴ بیتی تولید کند.

تنها پیکربندی توصیه‌شده rndc signing -nsec3param 1 0 0 - zone است، یعنی بدون salt، بدون تکرارهای اضافی، بدون opt-out.

هشدار:

از تکرار اضافی، salt یا opt-out استفاده نکنید مگر اینکه تمام پیامدهای آن‌ها را کاملاً درک کرده باشید. تعداد بالاتر تکرارها باعث مشکلات سازگاری و تعامل‌پذیری می‌شود و کارسازها را در معرض حملات محروم‌سازی از سرویس (DoS) مبتنی بر تخلیه پردازنده قرار می‌دهد.

دستور rndc signing -nsec3param none یک زنجیره NSEC3 موجود را حذف کرده و آن را با NSEC جایگزین می‌کند.

دستور rndc signing -serial value شماره سریال ناحیه را به value تنظیم می‌کند. اگر این مقدار باعث عقب رفتن شماره سریال شود، رد می‌شود. کاربرد اصلی این پارامتر تنظیم شماره سریال در ناحیه‌های امضا‌شده درون‌خطی (inline signed) است.

این دستور آمار کارساز را در فایل آمار می‌نویسد. (گزینه statistics-file را در راهنمای مرجع مدیر BIND 9 ببینید.)
این دستور وضعیت کارساز را نمایش می‌دهد. توجه داشته باشید که تعداد ناحیه‌ها شامل ناحیه داخلی bind/CH و ناحیه پیش‌فرض تذکار ./IN (hint zone) می‌شود، در صورتی که ناحیه ریشه صریحی پیکربندی نشده باشد.
این دستور کارساز را متوقف می‌کند، و مطمئن می‌شود که هرگونه تغییرات اخیر اعمال‌شده از طریق به‌روزرسانی پویا یا IXFR ابتدا در فایل‌های اصلی ناحیه‌های به‌روزشده ذخیره شوند. اگر -p مشخص شود، شناسه فرایند (PID) named <#std-iscman-named> بازگردانده می‌شود. این کار به یک فرایند خارجی اجازه می‌دهد تا تشخیص دهد چه زمانی توقف named <#std-iscman-named> کامل شده است.

همچنین ببینید rndc halt.

این دستور تغییرات موجود در فایل ژورنال یک ناحیه پویا را با فایل اصلی همگام می‌کند. اگر گزینه "-clean" مشخص شود، فایل ژورنال نیز حذف خواهد شد. اگر هیچ ناحیه‌ای مشخص نشود، تمامی ناحیه‌ها همگام‌سازی می‌شوند.
هنگامی که این دستور بدون آرگومان فراخوانی شود، مقادیر فعلی گزینه‌های tcp-initial-timeout، tcp-idle-timeout، tcp-keepalive-timeout و tcp-advertised-timeout را نمایش می‌دهد. هنگامی که همراه با آرگومان‌ها فراخوانی شود، این مقادیر به‌روزرسانی می‌شوند. این امکان به مدیر سیستم اجازه می‌دهد هنگام مواجهه با حمله محروم‌سازی از سرویس (DoS)، تنظیمات سریعی را اعمال کند. برای جزئیات نحوه استفاده، توضیحات این گزینه‌ها را در راهنمای مرجع مدیر BIND 9 ببینید.
این دستور به‌روزرسانی‌ها را برای یک ناحیه پویای منجمدشده فعال می‌کند. اگر هیچ ناحیه‌ای مشخص نشود، تمام ناحیه‌های منجمد فعال می‌شوند. این کار باعث می‌شود کارساز ناحیه را مجدداً از روی دیسک بارگذاری کرده و پس از اتمام بارگذاری، به‌روزرسانی‌های پویا را دوباره فعال کند. پس از خروج ناحیه از انجماد، دیگر درخواست‌های به‌روزرسانی پویا رد نمی‌شوند. اگر ناحیه تغییر کرده باشد و گزینه ixfr-from-differences در حال استفاده باشد، فایل ژورنال به‌روزرسانی می‌شود تا تغییرات ناحیه را منعکس کند. در غیر این صورت، اگر ناحیه تغییر کرده باشد، فایل ژورنال موجود حذف می‌شود. اگر هیچ ناحیه‌ای مشخص نشود، بارگذاری مجدد به‌صورت ناهمگام انجام می‌شود.

همچنین ببینید rndc freeze.

اگر سطحی مشخص نشود، این دستور سطح اشکال‌زدایی کارساز را یک واحد افزایش می‌دهد.
در صورت مشخص شدن، این دستور سطح اشکال‌زدایی کارساز را به مقدار ارائه‌شده تنظیم می‌کند.

همچنین ببینید rndc notrace.

این دستور اعتبارسنجی DNSSEC را فعال، غیرفعال یا وضعیت فعلی آن را بررسی می‌کند. به‌طور پیش‌فرض، اعتبارسنجی فعال است.

هنگام روشن یا خاموش کردن اعتبارسنجی، کش پاکسازی می‌شود تا از استفاده از داده‌هایی که ممکن است بین وضعیت‌ها تفاوت داشته باشند جلوگیری شود.

این دستور وضعیت فعلی ناحیه داده‌شده را نمایش می‌دهد، از جمله نام فایل اصلی و هر فایل شامل‌شده‌ای (include file) که از آن بارگذاری شده است، آخرین زمانی که بارگذاری شده، شماره سریال فعلی، تعداد گره‌ها، اینکه آیا ناحیه از به‌روزرسانی‌های پویا پشتیبانی می‌کند، آیا ناحیه با DNSSEC امضا شده است، آیا از مدیریت خودکار کلید DNSSEC استفاده می‌کند یا امضای درون‌خطی (inline signing)، و زمان‌های زمان‌بندی‌شده برای بازنشانی یا انقضای ناحیه.

همچنین ببینید rndc showzone.

دستورات rndc که نام‌های ناحیه را مشخص می‌کنند، مانند reload، retransfer یا zonestatus، هنگامی که برای ناحیه‌هایی از نوع redirect به کار روند می‌توانند مبهم باشند. ناحیه‌های تغییر مسیر (redirect) همیشه . نامیده می‌شوند، و می‌توانند با ناحیه‌هایی از نوع hint یا رونوشت‌های ثانویه از ناحیه ریشه اشتباه گرفته شوند. برای مشخص کردن یک ناحیه تغییر مسیر، از نام ناحیه خاص -redirect بدون نقطه پایانی استفاده کنید. (همراه با نقطه پایانی، این نام ناحیه‌ای به نام "-redirect" را مشخص می‌کند.)

در حال حاضر هیچ راهی برای ارائه رمز مشترک برای یک server_key بدون استفاده از فایل پیکربندی وجود ندارد.

چندین پیام خطا می‌توانند واضح‌تر باشند.

rndc.conf(5) <#std-iscman-rndc.conf>, rndc-confgen(8) <#std-iscman-rndc-confgen>, named(8) <#std-iscman-named>, named.conf(5) <#std-iscman-named.conf>, BIND 9 Administrator Reference Manual.

Internet Systems Consortium

2026, Internet Systems Consortium

2026-08-19 9.20.27