NAMED-COMPILEZONE(1) BIND 9 NAMED-COMPILEZONE(1)

named-compilezone - ابزار بررسی صحت یا تبدیل فایل ناحیه (zone file)

named-compilezone [-d] [-h] [-j] [-q] [-v] [-c class] [-C mode] [-f format] [-F format] [-J filename] [-i mode] [-k mode] [-m mode] [-M mode] [-n mode] [-l ttl] [-L serial] [-r mode] [-s style] [-S mode] [-t directory] [-T mode] [-w directory] [-D] [-W mode] {-o filename} {zonename} {filename}

ابزار named-compilezone ساختار نحوی و یکپارچگی فایل ناحیه را بررسی می‌کند، و محتویات ناحیه را در یک فایل مشخص‌شده با قالبی تعیین‌شده ذخیره می‌کند (dump).

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

اجرای named-checkzone بر روی ورودی پیش از کامپایل تضمین می‌کند که ناحیه با الزامات پیش‌فرض named <#std-iscman-named> کامپایل می‌شود.

این گزینه اشکال‌زدایی (دیباگ) را فعال می‌کند.
این گزینه خلاصه روش استفاده را چاپ کرده و خارج می‌شود.
این گزینه حالت بی‌صدا (quiet) را فعال می‌کند، که تنها یک کد خروج برای نشان دادن اتمام موفق یا ناموفق تنظیم می‌کند.
این گزینه نسخه برنامه named-checkzone <#std-iscman-named-checkzone> را چاپ کرده و خارج می‌شود.
هنگام بارگذاری فایل ناحیه، این گزینه به named <#std-iscman-named> دستور می‌دهد که در صورت وجود ژورنال، آن را بخواند. فرض می‌شود نام فایل ژورنال همان نام فایل ناحیه به همراه پسوند .jnl است.
هنگام بارگذاری فایل ناحیه، این گزینه به named <#std-iscman-named> دستور می‌دهد تا در صورت وجود، ژورنال را از فایل مشخص‌شده بخواند. این گزینه متضمن -j است.
این گزینه کلاس ناحیه را مشخص می‌کند. در صورت عدم تعیین، مقدار IN فرض می‌شود.
این گزینه حالت بررسی فایل‌های ناحیه را هنگام بارگذاری کنترل می‌کند. حالت‌های ممکن عبارتند از check-svcb:fail و check-svcb:ignore.

مقدار check-svcb:fail بررسی‌های اضافی را روی رکوردهای SVCB مربوط به _dns فعال می‌کند و check-svcb:ignore این بررسی‌ها را غیرفعال می‌سازد. مقدار پیش‌فرض check-svcb:ignore است.

این گزینه بررسی‌های یکپارچگی ناحیه را پس از بارگذاری انجام می‌دهد. حالت‌های ممکن عبارتند از: full، full-sibling، local، local-sibling و none (پیش‌فرض).

حالت full بررسی می‌کند که رکوردهای MX به رکوردهای A یا AAAA ارجاع دهند (هم نام‌های میزبان درون ناحیه و هم خارج از ناحیه). حالت local فقط رکوردهای MX را بررسی می‌کند که به نام‌های میزبان درون ناحیه ارجاع دارند.

حالت full بررسی می‌کند که رکوردهای SRV به رکوردهای A یا AAAA ارجاع دهند (هم نام‌های میزبان درون ناحیه و هم خارج از ناحیه). حالت local فقط رکوردهای SRV را بررسی می‌کند که به نام‌های میزبان درون ناحیه ارجاع دارند.

حالت full بررسی می‌کند که رکوردهای تفویض (delegation) NS به رکوردهای A یا AAAA ارجاع دهند (هم نام‌های میزبان درون ناحیه و هم خارج از ناحیه). همچنین بررسی می‌کند که رکوردهای آدرس چسبان (glue) در ناحیه با رکوردهای اعلام‌شده توسط فرزند مطابقت داشته باشند. حالت local فقط رکوردهای NS را بررسی می‌کند که به نام‌های میزبان درون ناحیه ارجاع دارند یا بررسی می‌کند که برخی رکوردهای چسبان مورد نیاز وجود داشته باشند؛ یعنی زمانی که سرور نام در یک ناحیه فرزند قرار دارد.

حالت‌های full-sibling و local-sibling بررسی‌های چسبان هم‌سطح (sibling glue) را غیرفعال می‌کنند، اما در سایر موارد به ترتیب مانند full و local هستند.

حالت none بررسی‌ها را غیرفعال می‌کند.

این گزینه قالب فایل ناحیه را مشخص می‌کند. قالب‌های ممکن عبارتند از: text (پیش‌فرض)، و raw.
این گزینه قالب فایل خروجی مشخص‌شده را تعیین می‌کند. برای named-checkzone <#std-iscman-named-checkzone>، این گزینه هیچ اثری ندارد مگر اینکه محتویات ناحیه را ذخیره کند.

قالب‌های ممکن عبارتند از text (پیش‌فرض)، که نمایش متنی استاندارد ناحیه است، و raw و raw=N، که ناحیه را در قالب باینری برای بارگذاری سریع توسط named <#std-iscman-named> ذخیره می‌کنند. گزینه raw=N نسخه قالب فایل باینری ناحیه را مشخص می‌کند: اگر N برابر 0 باشد، فایل باینری توسط هر نسخه‌ای از named <#std-iscman-named> قابل خواندن است؛ اگر N برابر 1 باشد، فایل فقط توسط نسخه 9.9.0 یا بالاتر قابل خواندن خواهد بود. پیش‌فرض 1 است.

این گزینه بررسی‌های check-names را با حالت شکست مشخص‌شده اجرا می‌کند. حالت‌های ممکن عبارتند از fail، warn و ignore (پیش‌فرض).
این گزینه حداکثر TTL مجاز را برای فایل ورودی تنظیم می‌کند. هر رکوردی با TTL بالاتر از این مقدار باعث رد شدن ناحیه می‌شود. این شبیه به استفاده از گزینه max-zone-ttl در named.conf <#std-iscman-named.conf> است.
هنگام کامپایل یک ناحیه به قالب raw، این گزینه مقدار "source serial" را در سربرگ روی شماره سریال مشخص‌شده تنظیم می‌کند. انتظار می‌رود این گزینه در درجه اول برای اهداف آزمایشی استفاده شود.
این گزینه مشخص می‌کند که آیا رکوردهای MX باید بررسی شوند تا مشخص شود آدرس هستند یا خیر. حالت‌های ممکن عبارتند از fail، warn و ignore (پیش‌فرض).
این گزینه بررسی می‌کند که آیا رکورد MX به یک CNAME ارجاع دارد یا خیر. حالت‌های ممکن عبارتند از fail، warn و ignore (پیش‌فرض).
این گزینه مشخص می‌کند که آیا رکوردهای NS باید بررسی شوند تا مشخص شود آدرس هستند یا خیر. حالت‌های ممکن عبارتند از fail، warn و ignore (پیش‌فرض).
این گزینه خروجی ناحیه را در filename می‌نویسد. اگر filename برابر - باشد، خروجی ناحیه در خروجی استاندارد نوشته می‌شود. این گزینه برای named-compilezone اجباری است.
این گزینه رکوردهایی را بررسی می‌کند که توسط DNSSEC متفاوت تلقی می‌شوند اما در DNS معمولی از نظر معنایی برابر هستند. حالت‌های ممکن عبارتند از fail، warn و ignore (پیش‌فرض).
این گزینه سبک نگارش فایل ناحیه ذخیره‌شده را مشخص می‌کند. سبک‌های ممکن عبارتند از full (پیش‌فرض) و relative. قالب full برای پردازش خودکار توسط اسکریپت‌های مجزا مناسب‌تر است. قالب relative بیشتر خوانا برای انسان بوده و در نتیجه برای ویرایش دستی مناسب است.
این گزینه بررسی می‌کند که آیا رکورد SRV به یک CNAME ارجاع دارد یا خیر. حالت‌های ممکن عبارتند از fail، warn و ignore (پیش‌فرض).
این گزینه به named <#std-iscman-named> دستور می‌دهد که به directory عملیات chroot را انجام دهد، به طوری که دستورات include در فایل پیکربندی طوری پردازش شوند که گویی توسط یک named <#std-iscman-named> با chroot مشابه اجرا شده‌اند.
این گزینه بررسی می‌کند که آیا رکوردهای Sender Policy Framework (SPF) وجود دارند یا خیر و در صورتی که رکورد TXT با قالب SPF نیز وجود نداشته باشد، هشدار صادر می‌کند. حالت‌های ممکن عبارتند از warn و ignore (پیش‌فرض).
این گزینه به named <#std-iscman-named> دستور می‌دهد که به directory تغییر مسیر دهد (chdir)، تا نام‌های نسبی فایل در دستورات $INCLUDE فایل اصلی عمل کنند. این شبیه به بند directory در named.conf <#std-iscman-named.conf> است.
این گزینه فایل ناحیه را در قالب کانونیکال (canonical) ذخیره می‌کند. این گزینه همیشه برای named-compilezone فعال است.
این گزینه مشخص می‌کند که آیا نویسه‌های عام غیرپایانی (non-terminal wildcards) بررسی شوند یا خیر. نویسه‌های عام غیرپایانی تقریباً همیشه نتیجه عدم درک الگوریتم تطبیق نویسه عام هستند (RFC 4592 https://datatracker.ietf.org/doc/html/rfc4592.html). حالت‌های ممکن عبارتند از warn و ignore (پیش‌فرض).
این مورد نام دامنه ناحیه‌ای را که بررسی می‌شود مشخص می‌کند.
این مورد نام فایل ناحیه است.

دستور named-compilezone در صورت تشخیص خطا وضعیت خروج 1 و در غیر این صورت 0 را برمی‌گرداند.

named(8) <#std-iscman-named>، named-checkconf(8) <#std-iscman-named-checkconf>، named-checkzone(8) <#std-iscman-named-checkzone>، RFC 1035 https://datatracker.ietf.org/doc/html/rfc1035.html، راهنمای مرجع مدیر BIND 9.

Internet Systems Consortium

2026, Internet Systems Consortium

2026-08-19 9.20.27