REC_CONTROL(1) PowerDNS Recursor REC_CONTROL(1) نام (NAME) rec_control - ابزار خط فرمان برای کنترل نمونه در حال اجرای Recursor خلاصه دستور (SYNOPSIS) rec_control [OPTION]... COMMAND [COMMAND-OPTION]... توضیحات (DESCRIPTION) ابزار rec_control به مدیر سیستم امکان می‌دهد یک نمونهٔ در حال اجرا از PowerDNS Recursor را پرس‌وجو و کنترل کند. دستور rec_control از طریق یک سوکت کنترلی ('controlsocket') با recursor ارتباط برقرار می‌کند که معمولاً در /var/run قرار دارد. گزینه‌های --socket-dir یا --config-dir و --config-name کنترل می‌کنند که rec_control به کدام فرآیند متصل شود. مثال‌ها (EXAMPLES) برای بررسی فعال بودن Recursor، اجرا کنید: # rec_control ping برای متوقف کردن دستی recursor، اجرا کنید: # rec_control quit برای تخلیه حافظه‌های موقت روی دیسک، اجرا کنید: # rec_control dump-cache /tmp/the-cache نکته: پیش از نسخهٔ 4.5.0، برای هر دستوری که داده‌ها را در یک فایل می‌نوشت، pdns_recursor فایل را برای نوشتن باز می‌کرد. از نسخهٔ 4.5.0 به بعد، فایل‌ها توسط خود دستور rec_control و با استفاده از مجوزها و دایرکتوری کاری فعلی کاربری که rec_control را اجرا می‌کند باز می‌شوند. می‌توان از یک خط تیرهٔ منفرد - به عنوان نام فایل استفاده کرد تا داده‌ها در جریان خروجی استاندارد نوشته شوند. گزینه‌ها (OPTIONS) --help نمایش این پیام راهنما. --config-dir= دایرکتوری محل قرارگیری فایل recursor.conf. --config-name= نام پیکربندی مجازی. --socket-dir= محل قرارگیری controlsocket؛ لطفاً در عوض از --config-dir استفاده کنید. --socket-pid= هنگام اجرا در حالت SMP، شناسه فرآیند (pid) مربوط به pdns_recursor تحت کنترل. --timeout= مدت‌زمان انتظار بر حسب ثانیه برای پاسخ دادن PowerDNS Recursor از راه دور. --version نمایش شماره نسخه این برنامه. توجه داشته باشید که دستور version نسخهٔ recursor در حال اجرا را نمایش می‌دهد. دستورها (COMMANDS) add-cookies-unsupported IP [IP...] افزودن نشانی‌های IP دائمی سرورهایی که از کوکی‌ها پشتیبانی نمی‌کنند به جدول کوکی. به صورت اختیاری می‌توان IP:port را مشخص کرد؛ پیش‌فرض استفاده از پورت 53 است. نشانی‌های فهرست‌شده با عنوان Unsupported در جدول پشتیبانی کوکی قرار می‌گیرند و هرس نخواهند شد. add-dont-throttle-names NAME [NAME...] افزودن نام‌های دامنه‌های nameserver که نباید با محدودیت نرخ (throttle) مواجه شوند. add-dont-throttle-netmasks NETMASK [NETMASK...] افزودن نت‌ماسک‌هایی برای nameserverها که نباید با محدودیت نرخ مواجه شوند. add-nta DOMAIN [REASON] افزودن یک لنگر اعتماد منفی (Negative Trust Anchor) برای DOMAIN، با پسوند اختیاری REASON. add-ta DOMAIN DSRECORD افزودن یک لنگر اعتماد (Trust Anchor) برای DOMAIN با داده‌های رکورد DS به صورت DSRECORD. این دستور لنگر اعتماد جدید را به مجموعه لنگرهای اعتماد موجود برای DOMAIN اضافه می‌کند. current-queries نمایش پرس‌وجوهای فعال کنونی. clear-cookies [IP...] حذف مدخل‌ها از جدول کوکی. اگر IP برابر * باشد، همه موارد حذف می‌شوند. به صورت اختیاری می‌توان IP:port را مشخص کرد؛ پیش‌فرض استفاده از پورت 53 است. clear-dont-throttle-names NAME [NAME...] حذف نام‌هایی که اجازه محدود کردن نرخ آن‌ها وجود ندارد. اگر NAME برابر * باشد، همه حذف می‌شوند. clear-dont-throttle-netmasks NETMASK [NETMASK...] حذف نت‌ماسک‌هایی که اجازه محدود کردن نرخ آن‌ها وجود ندارد. اگر NETMASK برابر * باشد، همه حذف می‌شوند. clear-nta DOMAIN... حذف لنگر اعتماد منفی برای یک یا چند DOMAIN. دامنه را برابر * قرار دهید تا تمام NTAها حذف شوند. clear-ta [DOMAIN]... حذف لنگر اعتماد برای یک یا چند DOMAIN. توجه داشته باشید که حذف لنگر اعتماد ریشه (root) امکان‌پذیر نیست. dump-cache FILENAME [TYPE...] تخلیه حافظه‌های موقت در FILENAME. این فایل نباید از قبل وجود داشته باشد؛ PowerDNS از بازنویسی روی آن خودداری خواهد کرد. در حین تخلیه، ممکن است recursor به پرس‌وجوها پاسخ ندهد. اگر هیچ TYPEی مشخص نشود، حافظه موقت رکوردها، حافظه موقت منفی، حافظه موقت بسته‌ها و حافظه موقت تهاجمی NSEC تخلیه می‌شوند. برای انتخاب حافظه‌های موقت خاص، یک یا چند TYPE را با فاصله از یکدیگر مشخص کنید. مقدار TYPE می‌تواند r، n، p یا a باشد. dump-cookies FILENAME تخلیه مخزن کوکی‌ها. dump-dot-probe-map FILENAME تخلیه محتویات نگاشت آزمون‌های DoT در FILENAME ذکرشده. dump-edns FILENAME تخلیه وضعیت EDNS در نام فایل ذکرشده. این فایل نباید از قبل وجود داشته باشد؛ PowerDNS از بازنویسی روی آن خودداری خواهد کرد. در حین تخلیه، recursor به پرس‌وجوها پاسخ نخواهد داد. dump-failedservers FILENAME تخلیه محتویات نگاشت سرورهای ناموفق در FILENAME ذکرشده. این فایل نباید از قبل وجود داشته باشد؛ در غیر این صورت PowerDNS از بازنویسی آن خودداری خواهد کرد. در حین تخلیه، recursor به پرس‌وجوها پاسخ نخواهد داد. dump-non-resolving FILENAME تخلیه محتویات نگاشت نام‌های nameserver که به یک نشانی تحلیل نشدند. این فایل نباید از قبل وجود داشته باشد؛ در غیر این صورت PowerDNS از بازنویسی آن خودداری خواهد کرد. در حین تخلیه، recursor به پرس‌وجوها پاسخ نخواهد داد. dump-nsspeeds FILENAME تخلیه آمار سرعت nameserver در FILENAME ذکرشده. این فایل نباید از قبل وجود داشته باشد؛ PowerDNS از بازنویسی روی آن خودداری خواهد کرد. در حین تخلیه، recursor به پرس‌وجوها پاسخ نخواهد داد. آمارها به ازای هر رشته (thread) نگهداری می‌شوند و همه در همان فایل قرار می‌گیرند. dump-rpz ZONE NAME FILE NAME تخلیه محتوای منطقهٔ RPZ با نام ZONE NAME در FILENAME ذکرشده. این فایل نباید از قبل وجود داشته باشد؛ در غیر این صورت PowerDNS از بازنویسی آن خودداری خواهد کرد. در حین تخلیه، recursor به پرس‌وجوها پاسخ نخواهد داد. برای جزئیات در مورد نحوه نام‌گذاری RPZ، ببینید: https://docs.powerdns.com/recursor/lua-config/rpz.html#policyname..TP dump-saved-parent-ns-sets FILE NAME مدخل‌های نگاشتی شامل مجموعه‌های NS والد ذخیره‌شده را که با موفقیت در تحلیل نام استفاده شده‌اند، تخلیه (dump) می‌کند. تعداد کل مدخل‌ها نیز در سرآیند چاپ می‌شود. یک مدخل زمانی ذخیره می‌شود که recursor ببیند مجموعه والد شامل نام‌هایی است که در مجموعه فرزند وجود ندارند. این موضوع نشان‌دهنده پیکربندی نادرست دامنه است. dump-throttlemap FILENAME محتویات throttle map را در FILENAME مشخص‌شده ذخیره (dump) می‌کند. این فایل نباید از قبل وجود داشته باشد؛ در غیر این صورت PowerDNS از بازنویسی روی آن خودداری می‌کند. در حین عملیات تخلیه، recursor به پرسش‌ها پاسخ نخواهد داد. get STATISTIC [STATISTIC]... یک مورد آماری را دریافت می‌کند. برای مواردی که قابل پرس‌وجو هستند، ببینید: https://docs.powerdns.com/recursor/metrics.html. get-all تمام آمارهای شناخته‌شده را دریافت می‌کند. get-dont-throttle-names فهرست نام‌هایی را که محدودسازی نرخ (throttle) آن‌ها مجاز نیست، دریافت می‌کند. get-dont-throttle-netmasks فهرست نت‌ماسک‌هایی (netmasks) را که محدودسازی نرخ (throttle) آن‌ها مجاز نیست، دریافت می‌کند. get-ntas فهرستی از Negative Trust Anchorهای پیکربندی‌شده فعلی را دریافت می‌کند. get-tas فهرستی از Trust Anchorهای پیکربندی‌شده فعلی را دریافت می‌کند. get-parameter [KEY]... پارامتر(های) پیکربندی را بازیابی می‌کند. از نسخه 5.4.0 به بعد و در صورت فعال بودن پیکربندی YAML، مقدار KEY به صورت section[.name] خواهد بود و مشخص نکردن کلید، یک تخلیه (dump) کامل تولید می‌کند. get-default-parameter [KEY]... مقادیر پیش‌فرض پارامتر(های) پیکربندی را بازیابی می‌کند. اگر پیکربندی YAML فعال باشد، مقدار KEY به صورت section[.name] خواهد بود و مشخص نکردن کلید، یک تخلیه کامل تولید می‌کند. get-proxymapping-stats فهرست زیرشبکه‌های نگاشت‌شده با پروکسی و شمارنده‌های مرتبط با آن‌ها را دریافت می‌کند. get-qtypelist آمارهای QType را بازیابی می‌کند. پرسش‌های برگرفته از حافظه نهان (cache) هنوز شمرده نمی‌شوند. get-remotelogger-stats آمارهای ثبت‌کننده وقایع از راه دور (remote logger) را بر پایه نوع و آدرس بازیابی می‌کند. hash-password [WORK-FACTOR] یک گذرواژه درخواست می‌کند و سپس نسخه هش‌شده و نمک‌دار (salted) آن را برای استفاده به عنوان گذرواژه وب‌سرور یا کلید API بازمی‌گرداند. این دستور با recursor ارتباط برقرار نمی‌کند، بلکه عمل هش کردن را درون rec_control انجام می‌دهد. یک فاکتور محاسباتی scrypt اختیاری می‌تواند به صورت توانی از دو مشخص شود. مقدار پیش‌فرض 1024 است. help فهرستی از دستورهای پشتیبانی‌شده را که برای pdns_recursor در حال اجرا قابل فهم هستند، نمایش می‌دهد. list-dnssec-algos الگوریتم‌های DNSSEC پشتیبانی‌شده (و احتمالاً غیرفعال‌شده) را فهرست می‌کند. ping فعال و در دسترس بودن سرور را بررسی می‌کند. quit درخواست خاموش شدن recursor و خروج از فرایند، در حالی که پاک‌سازی منابع به سیستم‌عامل واگذار می‌شود. quit-nicely درخواست خاموش شدن آرام recursor. این روش به تمام ریسه‌ها (threads) اجازه می‌دهد تا کار جاری خود را به پایان برسانند و پیش از خروج، منابع را آزاد کنند. این روش، راهکار ارجح برای توقف recursor است. reload-acls فهرست‌های کنترل دسترسی (ACLها) را دوباره بارگذاری می‌کند. reload-lua-script [FILENAME] اسکریپت Lua با نام FILENAME را بارگذاری (مجدد) می‌کند. اگر FILENAME خالی باشد، تلاش می‌کند اسکریپت بارگذاری‌شده فعلی را دوباره بارگذاری کند. این کار جایگزین اسکریپت در حال بارگذاری فعلی می‌شود. reload-lua-config [FILENAME] پیکربندی Lua با نام FILENAME را بارگذاری (مجدد) می‌کند. اگر FILENAME خالی باشد، تلاش می‌کند فایل بارگذاری‌شده فعلی را دوباره بارگذاری کند. توجه داشته باشید که FILENAME به‌طور کامل اجرا خواهد شد؛ هر تنظیمی که در زمان اجرا تغییر یافته و در این فایل اصلاح نشده باشد، همچنان فعال باقی خواهد ماند. اثرات بارگذاری مجدد همواره بلافاصله اعمال نمی‌شوند، زیرا برخی زیرسیستم‌ها پیکربندی را به روشی ناهمگام (asynchronous) بازخوانی و جایگزین می‌کنند. در صورت استفاده از تنظیمات YAML، این دستور بخش‌های قابل تنظیم در زمان اجرای تنظیمات YAML را دوباره بارگذاری می‌کند. reload-yaml بخش‌های قابل تنظیم در زمان اجرای تنظیمات YAML را دوباره بارگذاری می‌کند. reload-zones ناحیه‌های معتبر (authoritative) و ارجاعی (forward) را دوباره بارگذاری می‌کند. در صورت بروز خطا، پیکربندی فعلی حفظ می‌شود. set-carbon-server CARBON SERVER [CARBON OURNAME] تنظیم carbon-server را روی CARBON SERVER قرار می‌دهد. اگر CARBON OURNAME خالی نباشد، تنظیم carbon-ourname را نیز روی CARBON OURNAME قرار می‌دهد. set-dnssec-log-bogus SETTING تنظیم dnssec-log-bogus را روی SETTING قرار می‌دهد. برای ثبت خطاهای اعتبارسنجی DNSSEC آن را روی on یا yes و برای غیرفعال کردن ثبت این خطاها روی no یا off قرار دهید. set-ecs-minimum-ttl NUM گزینه ecs-minimum-ttl-override را روی NUM تنظیم می‌کند. set-max-aggr-nsec-cache-size NUM حداکثر تعداد مدخل‌ها را در حافظه نهان تهاجمی (aggressive cache) متعلق به NSEC تغییر می‌دهد. اگر حافظه نهان با تنظیم اندازه آن روی 0 در پیکربندی غیرفعال شده باشد، اندازه آن با این دستور قابل تنظیم نیست. تعیین اندازه روی 0 توسط این دستور، حافظه نهان را نگه می‌دارد اما آن را تا حد زیادی بی‌اثر می‌کند زیرا به طور دوره‌ای خالی می‌شود. set-max-cache-entries NUM حداکثر تعداد مدخل‌ها در حافظه نهان DNS را تغییر می‌دهد. در صورت کاهش، اندازه حافظه نهان به عنوان بخشی از فرایند عادی پاک‌سازی کش به تدریج به این مقدار کاهش می‌یابد که ممکن است مدتی طول بکشد. set-max-packetcache-entries NUM حداکثر تعداد مدخل‌ها در حافظه نهان بسته‌ها (packet cache) را تغییر می‌دهد. در صورت کاهش، اندازه حافظه نهان به عنوان بخشی از فرایند عادی پاک‌سازی کش به تدریج به این مقدار کاهش می‌یابد که ممکن است مدتی طول بکشد. set-minimum-ttl NUM گزینه minimum-ttl-override را روی NUM تنظیم می‌کند. set-event-trace-enabled NUM ثبت پیام‌های ردیابی رخداد (event trace) را تنظیم می‌کند؛ 0 = غیرفعال، 1 = ساختار protobuf، 2 = فایل ثبت لاگ، 3 = هر دو مورد protobuf و فایل لاگ. show-yaml [FILE] نمایش ساختار Yaml معادل از پیکربندی سبک قدیمی. top-queries ۲۰ پرسش برتر را نمایش می‌دهد. این آمار مربوط به آخرین پرسش‌های مشخص‌شده توسط 'stats-ringbuffer-entries' است. top-pub-queries ۲۰ پرسش برتر را که بر اساس فهرست پسوند عمومی (public suffix list) گروه‌بندی شده‌اند نمایش می‌دهد. آمار مربوط به آخرین پرسش‌های مشخص‌شده توسط 'stats-ringbuffer-entries' است. top-largeanswer-remotes ۲۰ میزبان راه دور برتر را که موجب پاسخ‌های با حجم بالا شده‌اند نمایش می‌دهد. آمار مربوط به آخرین پرسش‌های مشخص‌شده توسط 'stats-ringbuffer-entries' است. top-remotes ۲۰ میزبان راه دور پرفعالیت‌تر را نشان می‌دهد. آمار مربوط به آخرین پرسش‌های مشخص‌شده توسط 'stats-ringbuffer-entries' است. top-servfail-queries ۲۰ پرسش برتر را که موجب پاسخ‌های servfail شده‌اند نمایش می‌دهد. آمار مربوط به آخرین پرسش‌های مشخص‌شده توسط 'stats-ringbuffer-entries' است. top-bogus-queries ۲۰ پرسش برتر را که موجب پاسخ‌های جعلی یا نادرست (bogus) شده‌اند نمایش می‌دهد. آمار مربوط به آخرین پرسش‌های مشخص‌شده توسط 'stats-ringbuffer-entries' است. top-pub-servfail-queries ۲۰ پرسش برتر را که موجب پاسخ‌های servfail شده‌اند، به تفکیک فهرست پسوند عمومی (public suffix list) نمایش می‌دهد. آمار مربوط به آخرین پرسش‌های مشخص‌شده توسط 'stats-ringbuffer-entries' است. top-pub-bogus-queries ۲۰ پرسش برتر را که موجب پاسخ‌های جعلی یا نادرست (bogus) شده‌اند، به تفکیک فهرست پسوند عمومی (public suffix list) نمایش می‌دهد. آمار مربوط به آخرین پرسش‌های مشخص‌شده توسط 'stats-ringbuffer-entries' است. top-servfail-remotes ۲۰ میزبان راه دور پرفعالیت‌تر را که موجب پاسخ‌های servfail شده‌اند نمایش می‌دهد. آمار مربوط به آخرین پرسش‌های مشخص‌شده توسط 'stats-ringbuffer-entries' است. top-bogus-remotes ۲۰ میزبان راه دور پرفعالیت‌تر را که موجب پاسخ‌های جعلی یا نادرست (bogus) شده‌اند نمایش می‌دهد. آمار مربوط به آخرین پرسش‌های مشخص‌شده توسط 'stats-ringbuffer-entries' است. top-timeouts ۲۰ مقصد پایین‌دستی پرفعالیت‌تر را که دچار وقفه زمانی (timeout) شده‌اند نمایش می‌دهد. آمار مربوط به آخرین پرسش‌های مشخص‌شده توسط 'stats-ringbuffer-entries' است. trace-regex REGEX FILE ردیابی تفکیک نام (resolution trace) را برای پرسش‌های منطبق ارسال می‌کند. فراخوانی بدون آرگومان، ردیابی را غیرفعال می‌سازد. پیش از نسخه 4.9.0، آرگومان FILE وجود نداشت و ردها همواره درون لاگ سیستم نوشته می‌شدند. از نسخه 4.9.0 به بعد، اطلاعات ردیابی در فایل مشخص‌شده نوشته می‌شود، که این مقدار می‌تواند برای خروجی استاندارد (stdout) برابر با - باشد. پرسش‌های منطبق با این عبارت منظم، حجم زیادی از خروجی ردیابی تولید خواهند کرد. توجه داشته باشید مواردی که با کش بسته (packet cache) تطابق دارند، ردیابی تولید نخواهند کرد. برای لغو regex، دستور trace-regex را بدون وارد کردن regex جدید اجرا کنید. عبارت منظم در برابر پرسش‌های دامنه‌ای که به یک نقطه ختم می‌شوند سنجیده می‌شود. به عنوان مثال، عبارت منظم 'powerdns.com$' با پرسشی برای 'www.powerdns.com' تطابق نخواهد داشت، چرا که تلاش برای تطبیق با 'www.powerdns.com.' صورت می‌گیرد. افزون بر این، از آنجا که این یک عبارت منظم است، برای تطبیق انحصاری پرسش‌های مربوط به 'www.powerdns.com' باید نقطه‌ها را گریز داد (escape کرد): '^www\.powerdns\.com\.$'. توجه داشته باشید که استفاده از نقل‌قول تکی (single quotes) مانع از تفسیر بیشتر بک‌اسلش‌ها توسط پوسته (shell) می‌شود. چندین تطابق را می‌توان با عملگر | به هم متصل کرد. به عنوان مثال، برای تطبیق تمام پرسش‌های دامنه‌های هلندی (.nl) و آلمانی (.de)، از عبارت زیر استفاده کنید: '\.nl\.$|\.de\.$'..TP unload-lua-script در صورت بارگذاری اسکریپت Lua، آن را تخلیه می‌کند. version نسخهٔ Recursor در حال اجرا را گزارش می‌کند. wipe-cache DOMAIN [DOMAIN] [...] مدخل‌های مربوط به DOMAIN (تطابق دقیق نام) را از حافظهٔ نهان پاک می‌کند. این دستور برای نمونه زمانی مفید است که یک سرور مهم آدرس IP جدیدی داشته باشد، اما هنوز TTL آن منقضی نشده باشد. می‌توان چندین نام دامنه را مشخص کرد. می‌توان به انتهای DOMAIN یک $ افزود تا کل درخت از حافظهٔ نهان حذف شود؛ یعنی powerdns.com$ تمام مدخل‌های کش‌شده تحت نام powerdns.com و خود آن را حذف خواهد کرد. نکته: این دستور حافظهٔ نهان منفی (negative cache) را نیز پاک می‌کند. هشدار: تنها "www.somedomain.com" را پاک نکنید؛ رکوردهای NS یا مقصد CNAME آن ممکن است همچنان نامطلوب باشند، بنابراین "somedomain.com" را نیز پاک کنید. wipe-cache-typed qtype DOMAIN [DOMAIN] [...] مشابه wipe-cache است، اما تنها رکوردهای از نوع qtype را پاک می‌کند. همچنین ببینید (SEE ALSO) pdns_recursor(1) https://docs.powerdns.com/recursor نویسندگان (AUTHORS) PowerDNS.COM BV کپی‌رایت و تکثیر (COPYRIGHT) PowerDNS.COM BV September 2, 2026 REC_CONTROL(1)