SOCKS.CONF(5) File Formats Manual SOCKS.CONF(5)

socks.conf - نحو و ساختار فایل پیکربندی کلاینت SOCKS

فایل پیکربندی برای کتابخانه کلاینت ساکس (socks)، امکان کنترل و نظارت بر ثبت گزارش‌ها (logging) و انتخاب کارساز را فراهم می‌کند. این فایل به دو بخش تقسیم می‌شود: تنظیمات سراسری و مسیرها. یک خط را می‌توان با استفاده از نویسه استاندارد یادداشت # به یادداشت (کامنت) تبدیل کرد.

تنظیمات سراسری به شکل یک کلیدواژه و به دنبال آن یک دونقطه (:) و سپس مقدار مربوطه هستند.

تنظیم این فیلد روی 1، قابلیت اشکال‌زدایی را فعال می‌کند.
این مقدار تعیین می‌کند که کتابخانه کلاینت خروجی گزارش‌ها را به کجا ارسال کند. این مقدار می‌تواند syslog، stdout، stderr، یک نام فایل یا ترکیبی از آن‌ها باشد. حالت پیش‌فرض، عدم ثبت گزارش است. توجه داشته باشید که اگر برنامه ساکس‌شده خود نیز از syslog استفاده کند، ممکن است مقدار syslog با آن تداخل پیدا کند.
پروتکل مورد استفاده برای تفکیک نام‌های میزبان (resolve hostnames). مقادیر معتبر عبارتند از udp، tcp و fake. مقدار پیش‌فرض udp است.
مدت زمانی که نشانه‌گذاری "خراب" (bad) برای یک مسیر پیش از حذف شدن باید معتبر بماند. مقدار پیش‌فرض ۳۰۰ ثانیه است.
تعداد دفعاتی که یک مسیر می‌تواند پیش از علامت‌گذاری به عنوان خراب با شکست مواجه شود. مقدار پیش‌فرض ۱ است.
تعداد ثانیه‌هایی که کلاینت منتظر تکمیل اتصال به کارساز پراکسی می‌ماند. مقدار پیش‌فرض 0 است، که مشخص می‌کند کلاینت باید از مقدار پیش‌فرض سیستم استفاده کند.

مسیرها با کلیدواژه route مشخص می‌شوند. در داخل یک جفت آکولاد ({})، مجموعه‌ای از کلیدواژه‌ها رفتار مسیر را کنترل می‌کنند. هر route می‌تواند شامل سه مشخصه آدرس باشد: from، to و via. یک مسیر برای اتصال بر اساس مقادیر داخل بلوک route انتخاب می‌شود.

هنگام جستجو برای مسیری که با درخواست کلاینت تطابق داشته باشد، کتابخانه ابتدا به دنبال یک مسیر مستقیم (direct) می‌گردد. سپس به دنبال یک مسیر socks_v4، یک مسیر socks_v5، یک مسیر http و در نهایت به دنبال یک مسیر upnp خواهد گشت.

بسته به نحوه پیکربندی کتابخانه و متغیرهای محیطی تنظیم‌شده (راهنمای socksify(1) را ببینید)، در صورتی که هیچ مسیر دیگری یافت نشود، ممکن است یک بازگشت خودکار به یک مسیر مستقیم خودکار تولیدشده (direct) وجود داشته باشد یا خیر.

بلوک route می‌تواند شامل موارد زیر باشد:

آدرس‌ها
هر فیلد آدرس می‌تواند شامل یک آدرس IP (و در صورت کاربرد، یک ماسک شبکه که با علامت '/' از آدرس IP جدا می‌شود)، یک نام میزبان، یک نام دامنه (که با نقطه ابتدایی '.' مشخص می‌شود) یا یک نام رابط شبکه (در صورت نیاز) باشد. به دنبال هر آدرس می‌تواند یک مشخص‌کننده اختیاری port قرار گیرد.
مسیر تنها برای درخواست‌هایی استفاده می‌شود که از آدرس داده‌شده به عنوان مقدار مبدا می‌آیند.
مسیر تنها برای درخواست‌هایی استفاده می‌شود که به مقصد آدرس داده‌شده به عنوان مقدار ارسال می‌شوند.
آدرس کارساز پراکسی که باید به عنوان درگاه (gateway) برای اتصال استفاده شود، یا مقدار ویژه direct برای نشان دادن اینکه اتصال باید به جای عبور از هرگونه کارساز پراکسی، به طور مستقیم برقرار شود.

در مورد upnp، اگر نشانی اینترنتی (URL) کامل مربوط به IGD هنوز مشخص نشده باشد، این آدرس همچنین می‌تواند نام رابط شبکه‌ای باشد که برای شناسایی نقطه کنترل upnp به کار می‌رود، یا مقدار ویژه broadcast برای نشان دادن اینکه کلاینت باید برای یافتن یک مسیریاب upnp روی تمام رابط‌های شبکه موجود فراخوانی همگانی انجام دهد.

پارامتری برای from، to و via. کلیدواژه‌های eq/=, ne/!=, ge/>=, le/<=, gt/>, lt/< را به همراه یک عدد می‌پذیرد. همچنین می‌توان یک محدوده درگاه را به صورت "port <start #> - <end #>" تعیین کرد که با تمام شماره درگاه‌های درون محدوده <start #> و <end #> مطابقت خواهد داشت.

گزینه‌های مشخصی را برای سازگاری با کارسازهای دارای نقص فعال می‌کند. مقادیر معتبر عبارتند از: necgssapi، برای سازگاری با کارسازهایی که gssapi را به روش NEC socks پیاده‌سازی کرده‌اند.
دستوراتی که کارساز از آن‌ها پشتیبانی می‌کند. دستورات معتبر عبارتند از bind، bindreply، connect، udpassociate و udpreply. مقدار پیش‌فرض، تمامی دستوراتی است که پروتکل‌های تعیین‌شده برای مسیر از آن‌ها پشتیبانی می‌کنند.

می‌تواند به جای protocol یا به عنوان مکمل آن استفاده شود.

نوع رمزگذاری که باید برای ارتباطات احراز هویت‌شده با GSSAPI اعمال شود. مقادیر ممکن عبارتند از clear، integrity یا confidentiality. حالت پیش‌فرض این است که برای محرمانگی (confidentiality) تلاش شود، اما هر آنچه را که کارساز به جز clear ارائه دهد می‌پذیرد، زیرا clear بخشی از استاندارد SOCKS GSSAPI نیست.
نام سرویسی که هنگام استفاده از GSSAPI به کار می‌رود. مقدار پیش‌فرض "rcmd" است.
فهرست روش‌های احراز هویت که کلاینت از آن‌ها پشتیبانی می‌کند و به کارساز پیشنهاد می‌دهد. مقادیر پشتیبانی‌شده در حال حاضر عبارتند از none، gssapi و username. مقدار پیش‌فرض، تمامی روش‌های پشتیبانی‌شده است.
پروتکل‌هایی که کارساز پشتیبانی می‌کند. مقادیر پشتیبانی‌شده tcp و udp هستند. مقدار پیش‌فرض، تمامی پروتکل‌های پشتیبانی‌شده است.
پروتکل‌های پراکسی که کارساز از آن‌ها پشتیبانی می‌کند. مقادیر پشتیبانی‌شده در حال حاضر عبارتند از socks_v4، socks_v5، http و upnp. مقدار پیش‌فرض socks_v4 و socks_v5 است. توجه داشته باشید که اگر کارساز ساکس به هر شکلی از احراز هویت نیاز داشته باشد، باید صریحاً این گزینه را روی socks_v5 تنظیم کنید، زیرا نگارش ۴ از احراز هویت پشتیبانی نمی‌کند.

دایرکتوری مثال‌ها (example) را در بسته توزیع‌شده مشاهده کنید.

هنگام انجام احراز هویت با نام کاربری، از مقدار SOCKS_USERNAME به عنوان نام کاربری استفاده می‌کند.
هنگام انجام احراز هویت با نام کاربری، از مقدار SOCKS_PASSWORD به عنوان گذرواژه استفاده می‌کند. این کار توصیه نمی‌شود، زیرا سایر کاربران روی سیستم ممکن است بتوانند گذرواژه شما را مشاهده کنند.
اگر این متغیر روی "no" تنظیم شده باشد، کلاینت برای افزودن خودکار مسیرهای مستقیم برای تمام آدرس‌های روی شبکه محلی (LAN) تلاش نخواهد کرد. پیش‌فرض این است که آن‌ها را اضافه کند.
اگر این متغیر تنظیم شده باشد، کلاینت قفل‌گذاری ریسه‌ها (threadlocking) را انجام نمی‌دهد. پیش‌فرض این است که کلاینت خود تلاش کند تشخیص دهد آیا برنامه‌ای که باید ساکس‌سازی شود نیاز به قفل‌گذاری ریسه دارد یا خیر.

برخی از متغیرهای محیطی تکمیلی در socksify(1) مستند شده‌اند.

/etc/socks.conf

برای Inferno Nettverk A/S:

Michael Shuldman
Karl-Andre' Skevik

socksify(1)، sockd(8)، sockd.conf(5)

اطلاعات مربوط به نگارش‌های جدید و سایر موضوعات مرتبط را می‌توان در صفحه خانگی وب Dante یافت: http://www.inet.no/dante

فایل همراه BUGS را ببینید. موارد جدید باید به dante-bugs@inet.no گزارش شوند.

2013-07-29