.TH STUBBY 1 .SH "نام (NAME)" stubby \- یک تحلیل‌گر محلی خرد (stub resolver) برای حریم خصوصی DNS .SH "خلاصه دستور (SYNOPSIS)" .B stubby [\fB\-C\fR \fIfile\fR] [\fB\-ghilV\fR] [\fB\-v\fR \fIloglevel\fR] .SH "توضیحات (DESCRIPTION)" .B stubby به عنوان یک تحلیل‌گر محلی خرد برای حریم خصوصی DNS عمل می‌کند که از DNS\-over\-TLS بهره می‌برد. Stubby پرس‌وجوهای DNS ارسال‌شده از ماشین محلی به یک تحلیل‌گر حریم خصوصی DNS را رمزگذاری کرده و بدین ترتیب حریم خصوصی کاربر نهایی را افزایش می‌دهد. .PP .B stubby در مراحل اولیه توسعه قرار دارد اما برای کاربران فنی و پیشرفته مناسب است. .PP .B stubby با اجرا شدن به صورت یک دیمن (daemon) که روی آدرس لوپ‌بک (loopback) به پرس‌وجوهای DNS گوش می‌دهد و آن‌ها را از طریق TLS به بیرون فوروارد می‌کند، حریم خصوصی DNS را فراهم می‌سازد. پیکربندی پیش‌فرض «حریم خصوصی سخت‌گیرانه» (Strict Privacy) را ارائه می‌دهد و از زیرمجموعه‌ای از سرورهای حریم خصوصی DNS موجود استفاده می‌کند. ببینید: .I https://dnsprivacy.org/wiki/display/DP/DNS+Privacy+Test+Servers \. .SH "گزینه‌ها (OPTIONS)" .TP .BR \-C \ \fIfile\fR تنظیمات را از فایل پیکربندی \fIfile\fR می‌خواند. اگر این گزینه داده نشود، \fBstubby\fR به دنبال یک فایل پیکربندی در \fI~/.stubby.yml\fR می‌گردد. اگر این فایل وجود نداشته باشد، \fBstubby\fR به فایل پیکربندی سراسری \fI/etc/stubby/stubby.yml\fR رجوع می‌کند. .TP .BR \-g اجرای \fBstubby\fR به صورت یک دیمن. .TP .BR \-h نمایش پیام راهنمای نحوه استفاده و خروج. .TP .BR \-i خواندن پیکربندی، اعتبارسنجی محتوا، چاپ زیباسازی‌شدهٔ (pretty-print) آن در خروجی استاندارد و خروج. .TP .BR \-l فعال‌سازی تمام گزارش‌گیری‌ها. معادل با \fB\-v 7\fR. .TP .BR \-v \ \fIloglevel\fR فعال‌سازی گزارش‌گیری. تمام پیام‌های گزارش‌گیری در سطح \fIloglevel\fR یا پایین‌تر در خروجی خطای استاندارد چاپ می‌شوند: .RS .TP 0: EMERG سیستم غیرقابل استفاده است .TP 1: ALERT اقدام فوری باید صورت گیرد .TP 2: CRIT شرایط بحرانی .TP 3: ERROR شرایط خطا .TP 4: WARN شرایط هشدار .TP 5: NOTICE شرایط عادی، اما حائز اهمیت .TP 6: INFO پیام‌های اطلاعاتی .TP 7: DEBUG پیام‌های سطح اشکال‌زدایی .RE .TP .BR \-V نمایش نسخهٔ \fBstubby\fR و خروج. .SH "پیکربندی (CONFIGURATION)" فایل پیکربندی در قالب YAML است. یک نمونه پیکربندی عبارت است از: .PP .nf .RS resolution_type: GETDNS_RESOLUTION_STUB dns_transport_list: - GETDNS_TRANSPORT_TLS tls_authentication: GETDNS_AUTHENTICATION_REQUIRED tls_query_padding_blocksize: 256 edns_client_subnet_private : 1 idle_timeout: 10000 listen_addresses: - 127.0.0.1 - 0::1 round_robin_upstreams: 1 upstream_recursive_servers: - address_data: 145.100.185.15 tls_auth_name: "dnsovertls.sinodun.com" tls_pubkey_pinset: - digest: "sha256" value: 62lKu9HsDVbyiPenApnc4sfmSYTHOVfFgL3pyB+cBL4= - address_data: 145.100.185.16 tls_auth_name: "dnsovertls1.sinodun.com" tls_pubkey_pinset: - digest: "sha256" value: cE2ecALeE5B+urJhDrJlVFmf38cJLAvqekONvjvpqUA= - address_data: 185.49.141.37 tls_auth_name: "getdnsapi.net" tls_pubkey_pinset: - digest: "sha256" value: foxZRnIh9gZpWnl+zEiKa0EJ2rdCGroMWm02gaxSc9Q= - address_data: 2001:610:1:40ba:145:100:185:15 tls_auth_name: "dnsovertls.sinodun.com" tls_pubkey_pinset: - digest: "sha256" value: 62lKu9HsDVbyiPenApnc4sfmSYTHOVfFgL3pyB+cBL4= - address_data: 2001:610:1:40ba:145:100:185:16 tls_auth_name: "dnsovertls1.sinodun.com" tls_pubkey_pinset: - digest: "sha256" value: cE2ecALeE5B+urJhDrJlVFmf38cJLAvqekONvjvpqUA= - address_data: 2a04:b900:0:100::38 tls_auth_name: "getdnsapi.net" tls_pubkey_pinset: - digest: "sha256" value: foxZRnIh9gZpWnl+zEiKa0EJ2rdCGroMWm02gaxSc9Q= .RE .fi .PP موارد پیکربندی به شرح زیر است. برخی از آن‌ها مقادیر ثابتی را از کتابخانهٔ .B getdns که زیربنای .B stubby است دریافت می‌کنند و توضیحات بیشتر درباره مقادیر آن‌ها را می‌توان در مستندات .B getdns یا در .I http://www.getdnsapi.net یافت. .TP .B resolution_type \fIresolution\fR. به دلایل تاریخی باید بر روی \fIGETDNS_RESOLUTION_STUB\fR تنظیم شود. در صورت استفاده از هر تنظیم دیگری، .B stubby با خطا خارج خواهد شد. .TP .B dns_transport_list \fIlist\fR فهرست انواع روش‌های انتقال (transport) مورد استفاده را تنظیم می‌کند. برای حریم خصوصی DNS، این مقدار باید بر روی \fIGETDNS_TRANSPORT_TLS\fR تنظیم شود. روش‌های انتقال متن صریح (Clear text) عبارتند از .I GETDNS_TRANSPORT_TCP و .I GETDNS_TRANSPORT_UDP \. .TP .B tls_authentication \fItype\fR نوع احراز هویت لازم را تعیین می‌کند. برای حریم خصوصی سخت‌گیرانه (Strict Privacy)، این مقدار باید روی \fIGETDNS_AUTHENTICATION_REQUIRED\fR تنظیم شود. برای حالت فرصت‌طلبانه (Opportunistic)، این تنظیم را حذف کرده یا آن را برابر با \fIGETDNS_AUTHENTICATION_NONE\fR قرار دهید. در حالت فرصت‌طلبانه، احراز هویت سرور نام (nameserver) الزامی نیست و در صورتی که روش‌های انتقال متن صریح در .I dns_transport_list تعریف شده باشند، بازگشت (fallback) به آن‌ها مجاز است. .TP .B tls_query_padding_blocksize \fIblocksize\fR استفاده از گزینهٔ لایه‌گذاری (padding) در EDNS0 برای لایه‌گذاری پرس‌وجوهای DNS به منظور مخفی کردن اندازهٔ آن‌ها. .TP .B edns_client_subnet_private \fI0\fR or \fI1\fR اگر 1 باشد، از حریم خصوصی EDNS0 Client Subnet استفاده می‌کند تا زیرشبکهٔ کلاینت به سرورهای معتبر (authoritative) ارسال نشود. .TP .B idle_timeout \fItimeout\fR استفاده از مهلت زمانی بی‌کاری EDNS0 Keepalive به میزان .I timeout میلی‌ثانیه، مگر آنکه توسط سرور بازنویسی شود. این کار اتصالات بی‌کار TLS را باز نگه می‌دارد تا از سربار باز کردن یک اتصال جدید برای هر پرس‌وجو جلوگیری شود. .TP .B round_robin_upstreams \fI0\fR or \fI1\fR اگر 1 باشد، پرس‌وجوها به صورت نوبت‌گردشی (round robin) بین تمام سرورهای بالادستی پیکربندی‌شده توزیع می‌شوند. بدون این گزینه، .B stubby از هر سرور بالادستی به صورت متوالی استفاده می‌کند تا زمانی که از دسترس خارج شود و سپس به سراغ سرور بعدی می‌رود. .TP .B upstream_recursive_servers \fIserver list\fR مشخص کردن سرورهای بالادستی که .B stubby باید استفاده کند. هر مورد در این فهرست شامل موارد زیر است: .RS .TP .B address_data \fIaddress\fR آدرس IPv4 یا IPv6 سرور. .TP .B tls_auth_name \fIname\fR نام دامنهٔ احراز هویت که در برابر گواهی ارائه‌شده اعتبارسنجی خواهد شد. .TP .B tls_pubkey_pinset \fIpinset\fR مجموعه سنجاق‌شدهٔ (pinset) کلید عمومی sha256 SPKI سرور. این مورد نیز در برابر گواهی ارائه‌شده اعتبارسنجی می‌شود. این بخش شامل دو مورد است: .RS .TP .B digest \fItype\fR نوع خلاصه‌ساز (digest) کلید. .TP .B value \fIkeyval\fR مقدار کلید. .RE .RE .SH "فایل‌ها (FILES)" .nf .I ~/.stubby.yml .I /etc/stubby/stubby.yml .fi .SH "همچنین ببینید (SEE ALSO)" .nf .I https://getdnsapi.net .I https://dnsprivacy.org/wiki/display/DP/DNS+Privacy+Daemon+-+Stubby .fi