REC_CONTROL(1) PowerDNS Recursor REC_CONTROL(1)

rec_control - ابزار خط فرمان برای کنترل نمونه در حال اجرای Recursor

rec_control [OPTION]... COMMAND [COMMAND-OPTION]...

ابزار rec_control به مدیر سیستم امکان می‌دهد یک نمونهٔ در حال اجرا از PowerDNS Recursor را پرس‌وجو و کنترل کند.

دستور rec_control از طریق یک سوکت کنترلی ('controlsocket') با recursor ارتباط برقرار می‌کند که معمولاً در /var/run قرار دارد. گزینه‌های --socket-dir یا --config-dir و --config-name کنترل می‌کنند که rec_control به کدام فرآیند متصل شود.

برای بررسی فعال بودن 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 را اجرا می‌کند باز می‌شوند. می‌توان از یک خط تیرهٔ منفرد - به عنوان نام فایل استفاده کرد تا داده‌ها در جریان خروجی استاندارد نوشته شوند.

نمایش این پیام راهنما.
دایرکتوری محل قرارگیری فایل recursor.conf.
نام پیکربندی مجازی.
محل قرارگیری controlsocket؛ لطفاً در عوض از --config-dir استفاده کنید.
هنگام اجرا در حالت SMP، شناسه فرآیند (pid) مربوط به pdns_recursor تحت کنترل.
مدت‌زمان انتظار بر حسب ثانیه برای پاسخ دادن PowerDNS Recursor از راه دور.
نمایش شماره نسخه این برنامه. توجه داشته باشید که دستور version نسخهٔ recursor در حال اجرا را نمایش می‌دهد.

افزودن نشانی‌های IP دائمی سرورهایی که از کوکی‌ها پشتیبانی نمی‌کنند به جدول کوکی. به صورت اختیاری می‌توان IP:port را مشخص کرد؛ پیش‌فرض استفاده از پورت 53 است. نشانی‌های فهرست‌شده با عنوان Unsupported در جدول پشتیبانی کوکی قرار می‌گیرند و هرس نخواهند شد.
افزودن نام‌های دامنه‌های nameserver که نباید با محدودیت نرخ (throttle) مواجه شوند.
افزودن نت‌ماسک‌هایی برای nameserverها که نباید با محدودیت نرخ مواجه شوند.
افزودن یک لنگر اعتماد منفی (Negative Trust Anchor) برای DOMAIN، با پسوند اختیاری REASON.
افزودن یک لنگر اعتماد (Trust Anchor) برای DOMAIN با داده‌های رکورد DS به صورت DSRECORD. این دستور لنگر اعتماد جدید را به مجموعه لنگرهای اعتماد موجود برای DOMAIN اضافه می‌کند.
نمایش پرس‌وجوهای فعال کنونی.
حذف مدخل‌ها از جدول کوکی. اگر IP برابر * باشد، همه موارد حذف می‌شوند. به صورت اختیاری می‌توان IP:port را مشخص کرد؛ پیش‌فرض استفاده از پورت 53 است.
حذف نام‌هایی که اجازه محدود کردن نرخ آن‌ها وجود ندارد. اگر NAME برابر * باشد، همه حذف می‌شوند.
حذف نت‌ماسک‌هایی که اجازه محدود کردن نرخ آن‌ها وجود ندارد. اگر NETMASK برابر * باشد، همه حذف می‌شوند.
حذف لنگر اعتماد منفی برای یک یا چند DOMAIN. دامنه را برابر * قرار دهید تا تمام NTAها حذف شوند.
حذف لنگر اعتماد برای یک یا چند DOMAIN. توجه داشته باشید که حذف لنگر اعتماد ریشه (root) امکان‌پذیر نیست.
تخلیه حافظه‌های موقت در FILENAME. این فایل نباید از قبل وجود داشته باشد؛ PowerDNS از بازنویسی روی آن خودداری خواهد کرد. در حین تخلیه، ممکن است recursor به پرس‌وجوها پاسخ ندهد.

اگر هیچ TYPEی مشخص نشود، حافظه موقت رکوردها، حافظه موقت منفی، حافظه موقت بسته‌ها و حافظه موقت تهاجمی NSEC تخلیه می‌شوند. برای انتخاب حافظه‌های موقت خاص، یک یا چند TYPE را با فاصله از یکدیگر مشخص کنید. مقدار TYPE می‌تواند r، n، p یا a باشد.

تخلیه مخزن کوکی‌ها.
تخلیه محتویات نگاشت آزمون‌های DoT در FILENAME ذکرشده.
تخلیه وضعیت EDNS در نام فایل ذکرشده. این فایل نباید از قبل وجود داشته باشد؛ PowerDNS از بازنویسی روی آن خودداری خواهد کرد. در حین تخلیه، recursor به پرس‌وجوها پاسخ نخواهد داد.
تخلیه محتویات نگاشت سرورهای ناموفق در FILENAME ذکرشده. این فایل نباید از قبل وجود داشته باشد؛ در غیر این صورت PowerDNS از بازنویسی آن خودداری خواهد کرد. در حین تخلیه، recursor به پرس‌وجوها پاسخ نخواهد داد.
تخلیه محتویات نگاشت نام‌های nameserver که به یک نشانی تحلیل نشدند. این فایل نباید از قبل وجود داشته باشد؛ در غیر این صورت PowerDNS از بازنویسی آن خودداری خواهد کرد. در حین تخلیه، recursor به پرس‌وجوها پاسخ نخواهد داد.
تخلیه آمار سرعت nameserver در FILENAME ذکرشده. این فایل نباید از قبل وجود داشته باشد؛ PowerDNS از بازنویسی روی آن خودداری خواهد کرد. در حین تخلیه، recursor به پرس‌وجوها پاسخ نخواهد داد. آمارها به ازای هر رشته (thread) نگهداری می‌شوند و همه در همان فایل قرار می‌گیرند.
تخلیه محتوای منطقهٔ 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 ببیند مجموعه والد شامل نام‌هایی است که در مجموعه فرزند وجود ندارند. این موضوع نشان‌دهنده پیکربندی نادرست دامنه است.
محتویات throttle map را در FILENAME مشخص‌شده ذخیره (dump) می‌کند. این فایل نباید از قبل وجود داشته باشد؛ در غیر این صورت PowerDNS از بازنویسی روی آن خودداری می‌کند. در حین عملیات تخلیه، recursor به پرسش‌ها پاسخ نخواهد داد.
یک مورد آماری را دریافت می‌کند. برای مواردی که قابل پرس‌وجو هستند، ببینید: https://docs.powerdns.com/recursor/metrics.html.
تمام آمارهای شناخته‌شده را دریافت می‌کند.
فهرست نام‌هایی را که محدودسازی نرخ (throttle) آن‌ها مجاز نیست، دریافت می‌کند.
فهرست نت‌ماسک‌هایی (netmasks) را که محدودسازی نرخ (throttle) آن‌ها مجاز نیست، دریافت می‌کند.
فهرستی از Negative Trust Anchorهای پیکربندی‌شده فعلی را دریافت می‌کند.
فهرستی از Trust Anchorهای پیکربندی‌شده فعلی را دریافت می‌کند.
پارامتر(های) پیکربندی را بازیابی می‌کند. از نسخه 5.4.0 به بعد و در صورت فعال بودن پیکربندی YAML، مقدار KEY به صورت section[.name] خواهد بود و مشخص نکردن کلید، یک تخلیه (dump) کامل تولید می‌کند.
مقادیر پیش‌فرض پارامتر(های) پیکربندی را بازیابی می‌کند. اگر پیکربندی YAML فعال باشد، مقدار KEY به صورت section[.name] خواهد بود و مشخص نکردن کلید، یک تخلیه کامل تولید می‌کند.
فهرست زیرشبکه‌های نگاشت‌شده با پروکسی و شمارنده‌های مرتبط با آن‌ها را دریافت می‌کند.
آمارهای QType را بازیابی می‌کند. پرسش‌های برگرفته از حافظه نهان (cache) هنوز شمرده نمی‌شوند.
آمارهای ثبت‌کننده وقایع از راه دور (remote logger) را بر پایه نوع و آدرس بازیابی می‌کند.
یک گذرواژه درخواست می‌کند و سپس نسخه هش‌شده و نمک‌دار (salted) آن را برای استفاده به عنوان گذرواژه وب‌سرور یا کلید API بازمی‌گرداند. این دستور با recursor ارتباط برقرار نمی‌کند، بلکه عمل هش کردن را درون rec_control انجام می‌دهد. یک فاکتور محاسباتی scrypt اختیاری می‌تواند به صورت توانی از دو مشخص شود. مقدار پیش‌فرض 1024 است.
فهرستی از دستورهای پشتیبانی‌شده را که برای pdns_recursor در حال اجرا قابل فهم هستند، نمایش می‌دهد.
الگوریتم‌های DNSSEC پشتیبانی‌شده (و احتمالاً غیرفعال‌شده) را فهرست می‌کند.
فعال و در دسترس بودن سرور را بررسی می‌کند.
درخواست خاموش شدن recursor و خروج از فرایند، در حالی که پاک‌سازی منابع به سیستم‌عامل واگذار می‌شود.
quit-nicely
درخواست خاموش شدن آرام recursor. این روش به تمام ریسه‌ها (threads) اجازه می‌دهد تا کار جاری خود را به پایان برسانند و پیش از خروج، منابع را آزاد کنند. این روش، راهکار ارجح برای توقف recursor است.
فهرست‌های کنترل دسترسی (ACLها) را دوباره بارگذاری می‌کند.
اسکریپت Lua با نام FILENAME را بارگذاری (مجدد) می‌کند. اگر FILENAME خالی باشد، تلاش می‌کند اسکریپت بارگذاری‌شده فعلی را دوباره بارگذاری کند. این کار جایگزین اسکریپت در حال بارگذاری فعلی می‌شود.
پیکربندی Lua با نام FILENAME را بارگذاری (مجدد) می‌کند. اگر FILENAME خالی باشد، تلاش می‌کند فایل بارگذاری‌شده فعلی را دوباره بارگذاری کند. توجه داشته باشید که FILENAME به‌طور کامل اجرا خواهد شد؛ هر تنظیمی که در زمان اجرا تغییر یافته و در این فایل اصلاح نشده باشد، همچنان فعال باقی خواهد ماند. اثرات بارگذاری مجدد همواره بلافاصله اعمال نمی‌شوند، زیرا برخی زیرسیستم‌ها پیکربندی را به روشی ناهمگام (asynchronous) بازخوانی و جایگزین می‌کنند. در صورت استفاده از تنظیمات YAML، این دستور بخش‌های قابل تنظیم در زمان اجرای تنظیمات YAML را دوباره بارگذاری می‌کند.
بخش‌های قابل تنظیم در زمان اجرای تنظیمات YAML را دوباره بارگذاری می‌کند.
ناحیه‌های معتبر (authoritative) و ارجاعی (forward) را دوباره بارگذاری می‌کند. در صورت بروز خطا، پیکربندی فعلی حفظ می‌شود.
تنظیم carbon-server را روی CARBON SERVER قرار می‌دهد. اگر CARBON OURNAME خالی نباشد، تنظیم carbon-ourname را نیز روی CARBON OURNAME قرار می‌دهد.
تنظیم dnssec-log-bogus را روی SETTING قرار می‌دهد. برای ثبت خطاهای اعتبارسنجی DNSSEC آن را روی on یا yes و برای غیرفعال کردن ثبت این خطاها روی no یا off قرار دهید.
گزینه ecs-minimum-ttl-override را روی NUM تنظیم می‌کند.
حداکثر تعداد مدخل‌ها را در حافظه نهان تهاجمی (aggressive cache) متعلق به NSEC تغییر می‌دهد. اگر حافظه نهان با تنظیم اندازه آن روی 0 در پیکربندی غیرفعال شده باشد، اندازه آن با این دستور قابل تنظیم نیست. تعیین اندازه روی 0 توسط این دستور، حافظه نهان را نگه می‌دارد اما آن را تا حد زیادی بی‌اثر می‌کند زیرا به طور دوره‌ای خالی می‌شود.
حداکثر تعداد مدخل‌ها در حافظه نهان DNS را تغییر می‌دهد. در صورت کاهش، اندازه حافظه نهان به عنوان بخشی از فرایند عادی پاک‌سازی کش به تدریج به این مقدار کاهش می‌یابد که ممکن است مدتی طول بکشد.
حداکثر تعداد مدخل‌ها در حافظه نهان بسته‌ها (packet cache) را تغییر می‌دهد. در صورت کاهش، اندازه حافظه نهان به عنوان بخشی از فرایند عادی پاک‌سازی کش به تدریج به این مقدار کاهش می‌یابد که ممکن است مدتی طول بکشد.
گزینه minimum-ttl-override را روی NUM تنظیم می‌کند.
ثبت پیام‌های ردیابی رخداد (event trace) را تنظیم می‌کند؛ 0 = غیرفعال، 1 = ساختار protobuf، 2 = فایل ثبت لاگ، 3 = هر دو مورد protobuf و فایل لاگ.
نمایش ساختار Yaml معادل از پیکربندی سبک قدیمی.
۲۰ پرسش برتر را نمایش می‌دهد. این آمار مربوط به آخرین پرسش‌های مشخص‌شده توسط 'stats-ringbuffer-entries' است.
۲۰ پرسش برتر را که بر اساس فهرست پسوند عمومی (public suffix list) گروه‌بندی شده‌اند نمایش می‌دهد. آمار مربوط به آخرین پرسش‌های مشخص‌شده توسط 'stats-ringbuffer-entries' است.
۲۰ میزبان راه دور برتر را که موجب پاسخ‌های با حجم بالا شده‌اند نمایش می‌دهد. آمار مربوط به آخرین پرسش‌های مشخص‌شده توسط 'stats-ringbuffer-entries' است.
۲۰ میزبان راه دور پرفعالیت‌تر را نشان می‌دهد. آمار مربوط به آخرین پرسش‌های مشخص‌شده توسط 'stats-ringbuffer-entries' است.
۲۰ پرسش برتر را که موجب پاسخ‌های servfail شده‌اند نمایش می‌دهد. آمار مربوط به آخرین پرسش‌های مشخص‌شده توسط 'stats-ringbuffer-entries' است.
۲۰ پرسش برتر را که موجب پاسخ‌های جعلی یا نادرست (bogus) شده‌اند نمایش می‌دهد. آمار مربوط به آخرین پرسش‌های مشخص‌شده توسط 'stats-ringbuffer-entries' است.
۲۰ پرسش برتر را که موجب پاسخ‌های servfail شده‌اند، به تفکیک فهرست پسوند عمومی (public suffix list) نمایش می‌دهد. آمار مربوط به آخرین پرسش‌های مشخص‌شده توسط 'stats-ringbuffer-entries' است.
۲۰ پرسش برتر را که موجب پاسخ‌های جعلی یا نادرست (bogus) شده‌اند، به تفکیک فهرست پسوند عمومی (public suffix list) نمایش می‌دهد. آمار مربوط به آخرین پرسش‌های مشخص‌شده توسط 'stats-ringbuffer-entries' است.
۲۰ میزبان راه دور پرفعالیت‌تر را که موجب پاسخ‌های servfail شده‌اند نمایش می‌دهد. آمار مربوط به آخرین پرسش‌های مشخص‌شده توسط 'stats-ringbuffer-entries' است.
۲۰ میزبان راه دور پرفعالیت‌تر را که موجب پاسخ‌های جعلی یا نادرست (bogus) شده‌اند نمایش می‌دهد. آمار مربوط به آخرین پرسش‌های مشخص‌شده توسط 'stats-ringbuffer-entries' است.
۲۰ مقصد پایین‌دستی پرفعالیت‌تر را که دچار وقفه زمانی (timeout) شده‌اند نمایش می‌دهد. آمار مربوط به آخرین پرسش‌های مشخص‌شده توسط 'stats-ringbuffer-entries' است.
ردیابی تفکیک نام (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، آن را تخلیه می‌کند.

نسخهٔ Recursor در حال اجرا را گزارش می‌کند.
مدخل‌های مربوط به DOMAIN (تطابق دقیق نام) را از حافظهٔ نهان پاک می‌کند. این دستور برای نمونه زمانی مفید است که یک سرور مهم آدرس IP جدیدی داشته باشد، اما هنوز TTL آن منقضی نشده باشد. می‌توان چندین نام دامنه را مشخص کرد. می‌توان به انتهای DOMAIN یک $ افزود تا کل درخت از حافظهٔ نهان حذف شود؛ یعنی powerdns.com$ تمام مدخل‌های کش‌شده تحت نام powerdns.com و خود آن را حذف خواهد کرد.

نکته: این دستور حافظهٔ نهان منفی (negative cache) را نیز پاک می‌کند.

هشدار: تنها "www.somedomain.com" را پاک نکنید؛ رکوردهای NS یا مقصد CNAME آن ممکن است همچنان نامطلوب باشند، بنابراین "somedomain.com" را نیز پاک کنید.

مشابه wipe-cache است، اما تنها رکوردهای از نوع qtype را پاک می‌کند.

pdns_recursor(1) https://docs.powerdns.com/recursor

PowerDNS.COM BV

PowerDNS.COM BV

September 2, 2026