.TH PDNSD 8 "Jul 2007" "pdnsd 1.2.9b-par" "دستورهای مدیریت سیستم" .SH "نام (NAME)" pdnsd \- دیمن پروکسی سامانه نام دامنه (DNS) .SH "خلاصه دستور (SYNOPSIS)" \fBpdnsd\fP [\-h] [\-V] [\-s] [\-d] [\-g] [\-t] [\-p \fIfile\fR] [\-v\fIn\fR] [\-m\fIxx\fR] [\-c \fIfile\fR] [\-4] [\-6] [\-a] .PP این صفحه راهنما خلاصه‌ای از مستندات \fBpdnsd\fP است. برای مستندات کامل و به‌روز، به مستندات HTML (یا متن ساده) مراجعه کنید (که می‌توانید آن را در زیرپوشه \fBdoc/\fP سورس‌کد یا در یک دایرکتوری مستندات استاندارد، معمولاً در \fB/usr/share/doc/pdnsd/\fP در صورت استفاده از بسته باینری، بیابید). .SH "توضیحات (DESCRIPTION)" .PP برنامه \fBpdnsd\fP یک سرور پروکسی سامانه نام دامنه (DNS) با قابلیت پشتیبانی از IPv6 است که محتویات حافظه نهان (کش) DNS خود را هنگام خروج بر روی دیسک ذخیره می‌کند. .SH "گزینه‌ها (OPTIONS)" .RS .TP .B \-4 پشتیبانی از IPv4 را فعال می‌کند. پشتیبانی از IPv6 به‌طور خودکار غیرفعال می‌شود (در صورت موجود بودن). به‌طور پیش‌فرض فعال است. .TP .B \-6 پشتیبانی از IPv6 را فعال می‌کند. پشتیبانی از IPv4 به‌طور خودکار غیرفعال می‌شود (در صورت موجود بودن). به‌طور پیش‌فرض غیرفعال است. .TP .B \-a با این گزینه، pdnsd تلاش می‌کند به‌طور خودکار بررسی کند که آیا سیستم از IPv6 پشتیبانی می‌کند یا خیر، و در غیر این صورت به IPv4 بازمی‌گردد. .TP .BR \-V " یا " \-\-version اطلاعات نسخه را چاپ کرده و خارج می‌شود. .TP \fB\-c\fP \fIFILE\fP یا \fB\-\-config\-file=\fP\fIFILE\fP مشخص می‌کند که پیکربندی باید از \fIFILE\fP خوانده شود. پیش‌فرض \fB/etc/pdnsd.conf\fP است. .TP .BR \-d " یا " \-\-daemon اجرای \fBpdnsd\fP در حالت دیمن (به‌عنوان یک پردازش پس‌زمینه). .TP .BR \-g " یا " \-\-debug چاپ برخی پیام‌های اشکال‌زدایی در کنسول یا در فایل \fBpdnsd.debug\fP در دایرکتوری کش شما (در حالت دیمن). .TP .BR \-h " یا " \-\-help چاپ خلاصه گزینه‌ها و خروج. .TP \fB\-i\fP \fIPREFIX\fP یا \fB\-\-ipv4_6_prefix=\fP\fIPREFIX\fP پیشوندی را تعیین می‌کند که pdnsd (هنگام اجرا در حالت IPv6) برای نگاشت آدرس‌های IPv4 در فایل پیکربندی به آدرس‌های IPv6 استفاده می‌کند. باید یک آدرس IPv6 معتبر باشد. پیش‌فرض ::ffff:0.0.0.0 است. .TP .B \-p \fIFILE\fP شناسه فرایند (PID) که سرور تحت آن اجرا می‌شود را در نام فایل مشخص‌شده می‌نویسد. تنها در حالت دیمن کار می‌کند. .TP .B \-\-pdnsd\-user کاربری را که \fBpdnsd\fP تحت آن اجرا خواهد شد چاپ کرده و خارج می‌شود. .TP .BR \-s " یا " \-\-status سوکت کنترل وضعیت را فعال می‌کند. اگر می‌خواهید از .BR pdnsd\-ctl (8) برای کنترل \fBpdnsd\fP در زمان اجرا استفاده کنید، یا باید این گزینه به خط فرمان داده شود یا \fBstatus_ctl=on;\fP در فایل پیکربندی مشخص گردد. .TP .BR \-t " یا " \-\-tcp رشته (thread) سرور TCP را فعال می‌کند. سپس \fBpdnsd\fP به پرس‌وجوهای TCP و UDP پاسخ خواهد داد. .TP .BI \-v n میزان پرگویی (verbosity) برنامه \fBpdnsd\fP را تنظیم می‌کند. \fIn\fP یک آرگومان عددی بین 0 (عملکرد عادی) تا 3 (پیام‌های بسیار برای اشکال‌زدایی) است. .TP .BI \-m xx روش پرس‌وجویی را که \fBpdnsd\fP استفاده می‌کند تعیین می‌نماید. مقادیر ممکن برای \fIxx\fP عبارتند از: .IP .B uo \- برنامه pdnsd فقط از UDP استفاده خواهد کرد. این سریع‌ترین روش است و باید توسط تمام نام‌سرورهای اینترنت پشتیبانی شود. .IP .B to \- برنامه pdnsd فقط از TCP استفاده خواهد کرد. پرس‌وجوهای TCP معمولاً زمان بیشتری نسبت به پرس‌وجوهای UDP می‌برند، اما در برابر برخی حملات که در آن‌ها مهاجم تلاش می‌کند شناسه پرس‌وجو را حدس زده و پاسخ‌های جعلی ارسال کند ایمن‌تر هستند. پرس‌وجوهای TCP توسط برخی از سرورهای نام پشتیبانی نمی‌شوند. .IP .B tu \- برنامه pdnsd تلاش می‌کند از TCP استفاده کند، و در صورتی که اتصال آن رد شود یا با اتمام مهلت زمانی (timeout) مواجه گردد، به UDP بازمی‌گردد. .IP .B ut \- برنامه pdnsd تلاش می‌کند از UDP استفاده کند، و اگر پاسخ UDP ناقص باشد (یعنی بیت tc تنظیم شده باشد) پرس‌وجو را با استفاده از TCP تکرار خواهد کرد. این رفتار توصیه‌شده توسط استانداردهای DNS است. .PP علاوه بر این، پیشوند "no" می‌تواند به گزینه‌های \-\-status، \-\-daemon، \-\-debug و \-\-tcp اضافه شود (مثلاً \-\-notcp) تا اثر آن‌ها را معکوس کند. .RE .SH "نحوه استفاده (USAGE)" .PP برنامه \fBpdnsd\fP معمولاً از طریق یک اسکریپت راه‌اندازی اجرا می‌شود. برای کارکردن \fBpdnsd\fP، شما باید: .IP ۱. با ویرایش فایل \fB/etc/resolv.conf\fP به سیستم خود اعلام کنید که از \fBpdnsd\fP به‌عنوان سرور DNS اولیه استفاده کند. .IP ۲. با قرار دادن آدرس‌های IP یک یا چند سرور DNS، معمولاً سرورهای DNS ارائه‌دهنده خدمات اینترنتی شما (ISP)، در فایل \fB/etc/pdnsd.conf\fP به \fBpdnsd\fP بگویید که از یک منبع معتبر برای رکوردهای DNS استفاده کند. .PP برای این کار، خط زیر را در فایل \fB/etc/resolv.conf\fP خود قرار دهید .PP .RS nameserver 127.0.0.X .RE .PP که در آن X می‌تواند هر عددی باشد. (من از ۳ استفاده می‌کنم). بقیه ورودی‌ها را کامنت کنید. باید همین مقدار را در خط =server_ip در بخش \fBglobal\fP فایل \fB/etc/pdnsd.conf\fP نیز قرار دهید. .br اگر می‌خواهید از \fBpdnsd\fP به‌عنوان سرور DNS برای یک شبکه محلی کوچک استفاده کنید، باید از آدرس IP یا نام رابط متصل به این شبکه به جای 127.0.0.X استفاده نمایید. .RE .PP برای اینکه به \fBpdnsd\fP بگویید اطلاعات DNS را از کجا دریافت کند، خطوط زیر را در \fB/etc/pdnsd.conf\fP اضافه کنید: .PP .RS server { .br label= "myisp"; ip=123.456.789.001,123.456.789.002; proxy_only=on; timeout=10; .br } .RE .PP به آکولادهای باز و بسته دقت کنید. برای هر مجموعه‌ای از سرورهای DNS که می‌خواهید \fBpdnsd\fP از آن‌ها پرس‌وجو کند، بخش‌های \fBserver\fP مشابه بیشتری اضافه نمایید. البته گزینه‌های پیکربندی نشان داده شده در اینجا فقط مثال هستند. نمونه‌های بیشتر را می‌توانید در \fB/etc/pdnsd.conf.sample\fP یا در فایل pdnsd.conf در دایرکتوری مستندات بیابید. صفحه راهنمای .BR pdnsd.conf (5) را برای همه گزینه‌های ممکن و معانی دقیق آن‌ها ببینید. .PP اگر از اتصال dial up استفاده می‌کنید، به یاد داشته باشید که اسکریپت‌های ppp معمولاً هنگامی که اتصال با ISP برقرار می‌شود، فایل \fB/etc/resolv.conf\fP را جایگزین می‌کنند. باید ppp (یا هر ابزاری که برای برقراری اتصال استفاده می‌کنید) را طوری پیکربندی کنید که \fB/etc/resolv.conf\fP هر بار که اتصالی برقرار می‌شود بازنویسی نشود. مستندات اسکریپت‌هایی را که هنگام بالا آمدن شبکه اجرا می‌شوند بخوانید. .PP اگر از pppconfig استفاده می‌کنید، مقدار `none' را در گزینه `nameservers' در برگه `advanced' مشخص کنید. اگر از چندین ISP استفاده می‌کنید، باید این کار را برای هر اتصال/حساب انجام دهید. .PP در صورت استفاده از چندین ISP، باید با فراخوانی \fBpdnsd\-ctl\fP (ابزار کنترل \fBpdnsd\fP) در اسکریپتی (مانند \fB/etc/ppp/ip\-up\fP هنگام استفاده از pppd) که زمان برقراری اتصال اجرا می‌شود، به \fBpdnsd\fP اطلاع دهید که کدام سرورهای DNS در دسترس قرار گرفته‌اند. اگر آدرس‌های سرورهای DNS از طریق نوعی پروتکل پیکربندی پویا (مثلاً pppd با گزینه usepeerdns یا یک سرویس‌گیرنده DHCP) دریافت می‌شوند، می‌توانید آدرس‌های سرور DNS را به‌عنوان یک آرگومان اضافی به \fBpdnsd\-ctl\fP ارسال کنید تا \fBpdnsd\fP در زمان اجرا پیکربندی شود. برای جزئیات به صفحه راهنمای .BR pdnsd\-ctl (8) مراجعه کنید. .SH "فایل‌ها (FILES)" \fB/etc/pdnsd.conf\fP فایل پیکربندی pdnsd است. قالب فایل و گزینه‌های پیکربندی در صفحه راهنمای .BR pdnsd.conf (5) توصیف شده‌اند. می‌توانید نمونه‌های تقریباً تمامی گزینه‌ها را در \fB/etc/pdnsd.conf.sample\fP بیابید. .PP \fB/var/cache/pdnsd/pdnsd.cache\fP .PP \fB/var/cache/pdnsd/pdnsd.status\fP سوکت کنترل وضعیت است که باید پیش از امکان استفاده از \fBpdnsd\-ctl\fP فعال شده باشد. .PP \fB/etc/init.d/pdnsd\fP (نام و مکان اسکریپت راه‌اندازی ممکن است بسته به توزیع شما متفاوت باشد.) .PP \fB/etc/resolv.conf\fP .PP \fB/etc/defaults/pdnsd\fP شامل پارامترها یا گزینه‌های اضافی است که ممکن است هنگام بوت به pdnsd ارسال شوند. این کار از زحمت دستکاری اسکریپت‌های راه‌اندازی (initscripts) جلوگیری می‌کند (در همه توزیع‌ها موجود نیست). .SH "اشکالات (BUGS)" .PP در حال حاضر به نظر نمی‌رسد گزینه پرگویی .BI -v n تأثیر چندانی بر حجم خروجی اشکال‌زدایی داشته باشد. .br اشکالات باقیمانده را به نویسندگان گزارش دهید. .SH "انطباق با استانداردها (CONFORMING TO)" .PP برنامه \fBpdnsd\fP باید با RFCهای 1034 و 1035 سازگار باشد. از نسخه 1.0.0، سازگاری با RFC بهبود یافته و اکنون باور بر این است (یا امید می‌رود؟) که pdnsd کاملاً با RFC سازگار باشد. این برنامه کاملاً از RFC 2181 پیروی می‌کند (به‌جز یک مورد جزئی در پورت FreeBSD؛ به مستندات مراجعه فرمایید). .PP این برنامه از قابلیت‌های زیر که اغلب آن‌ها در این RFCها به‌صورت اختیاری، آزمایشی یا منسوخ علامت‌گذاری شده‌اند پشتیبانی \fIنمی‌کند\fP: .IP \(bu پرس‌وجوهای معکوس (Inverse queries) .IP \(bu پرس‌وجوهای وضعیت (Status queries) .IP \(bu پرس‌وجوهای تکمیل (Completion queries) .IP \(bu فضاهای نامی غیر از IN (اینترنت) .IP \(bu پرس‌وجوهای AXFR و IXFR (انتقال کامل زون)؛ از آنجا که pdnsd زون‌ها را نگهداری نمی‌کند، نباید استاندارد را نقض کند .PP انواع رکوردهای زیر، که الحاقیه‌هایی بر استاندارد اصلی DNS هستند، در صورتی که هنگام کامپایل به‌عنوان گزینه تعیین شده باشند پشتیبانی می‌شوند (اگر به آن‌ها نیازی ندارید، نیازی نیست پشتیبانی از آن‌ها را در pdnsd کامپایل کنید و می‌توانید فضای کش و فایل اجرایی را ذخیره نمایید): .IP \(bu رکورد RP (شخص مسئول، RFC 1183) .IP \(bu رکورد AFSDB (مکان پایگاه‌داده AFS، RFC 1183) .IP \(bu رکورد X25 (آدرس X25، RFC 1183) .IP \(bu رکورد ISDN (شماره/آدرس ISDN، RFC 1183) .IP \(bu رکورد RT (مسیریابی از طریق، RFC 1183) .IP \(bu رکورد NSAP (آدرس پروتکل دسترسی به خدمات شبکه، RFC 1348) .IP \(bu رکورد PX (اطلاعات نگاشت X.400/RFC822، RFC 1995) .IP \(bu رکورد GPOS (موقعیت جغرافیایی، منسوخ) .IP \(bu رکورد AAAA (آدرس IPv6، RFC 1886) .IP \(bu رکورد LOC (مکان جغرافیایی، RFC 1876) .IP \(bu رکورد EID (شناسه Nimrod EID) .IP \(bu رکورد NIMLOC (مکان‌یاب Nimrod) .IP \(bu رکورد SRV (رکورد سرویس، RFC 2782) .IP \(bu رکورد ATMA (آدرس ATM) .IP \(bu رکورد NAPTR (نگاشت URI، RFC 2168) .IP \(bu رکورد KX (تبادل کلید، RFC 2230) .SH "همچنین ببینید (SEE ALSO)" .PP .BR pdnsd\-ctl (8), .BR pdnsd.conf (5), .BR pppconfig (8), .BR resolv.conf (5) .PP مستندات بیشتر در زیرپوشه \fBdoc/\fP سورس‌کد یا در \fB/usr/share/doc/pdnsd/\fP در صورت استفاده از بسته باینری در دسترس است. .SH "نویسندگان (AUTHORS)" برنامه \fBpdnsd\fP در ابتدا توسط Thomas Moestl نوشته شد، .UR , .UE و به‌طور گسترده توسط Paul A. Rombouts بازبینی شد .UR .UE (برای نسخه‌های 1.1.8b1\-par و بالاتر). .PP چندین نفر دیگر نیز در توسعه \fBpdnsd\fP مشارکت داشته‌اند؛ فایل‌های موجود در سورس‌کد یا دایرکتوری \fB/usr/share/doc/pdnsd/\fP را ببینید. .PP این صفحه راهنما توسط Mahesh T. Pai نوشته شد .UR .UE با استفاده از مستندات موجود در دایرکتوری \fB/usr/share/docs/pdnsd/\fP برای دبیان، اما می‌تواند در سایر توزیع‌ها نیز استفاده شود. .PP آخرین بازبینی: ۲۲ ژوئیه ۲۰۰۷ توسط Paul A. Rombouts. .SH "حق نشر (COPYRIGHT)" .PP این صفحه راهنما بخشی از بسته pdnsd است و ممکن است به شکل اصلی یا اصلاح‌شده تحت شرایط مجوز عمومی همگانی گنو (GNU GPL) منتشرشده توسط بنیاد نرم‌افزار آزاد توزیع شود؛ نسخه ۳ یا (به انتخاب شما) هر نسخه بالاتر. .PP می‌توانید یک نسخه از GNU GPL را در فایل \fBCOPYING\fP در سورس‌کد یا در دایرکتوری \fB/usr/share/common\-licenses/\fP در صورت استفاده از سیستم دبیان پیدا کنید.