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

tsocks.conf - پرونده پیکربندی برای tsocks(8)

پیکربندی tsocks بسته به نیازهای هر محیط، می‌تواند از دو خط تا صدها خط متغیر باشد. ایده اصلی، تعریف شبکه‌هایی است که رایانه می‌تواند مستقیماً (یعنی بدون استفاده از کارساز SOCKS) به آن‌ها دسترسی داشته باشد، و همچنین تعریف یک یا چند کارساز SOCKS برای دسترسی به سایر شبکه‌ها (از جمله یک کارساز پیش‌فرض).

شبکه‌های محلی با استفاده از کلیدواژه 'local' در پرونده پیکربندی اعلان می‌شوند. هنگامی که برنامه‌ها تلاش می‌کنند به رایانه‌های موجود در شبکه‌های مشخص‌شده به عنوان محلی متصل شوند، tsocks برای برقراری اتصال تلاشی جهت استفاده از کارساز SOCKS نخواهد کرد.

بدیهی است اگر اتصالی به یک شبکه محلی در دسترس نباشد، باید از طریق یک کارساز SOCKS پروکسی شود. با این حال، بسیاری از ساختارها دارای چندین کارساز SOCKS مختلف برای دسترسی به شبکه‌های داخلی (و خارجی) گوناگون هستند. به همین دلیل، پرونده پیکربندی امکان تعریف «مسیرها» (paths) و همچنین یک کارساز SOCKS پیش‌فرض را فراهم می‌کند.

مسیرها به صورت بلوک‌هایی در پرونده پیکربندی اعلان می‌شوند؛ یعنی با یک خط 'path {' شروع شده و با خط '}' پایان می‌یابند. در داخل این بلوک، باید از دستورالعمل‌ها برای اعلان یک کارساز SOCKS (همان‌طور که در ادامه این صفحه راهنما مستند شده است) استفاده شود و دستورالعمل‌های 'reaches' باید برای اعلان شبکه‌ها و حتی درگاه‌های مقصد در آن شبکه‌ها که این کارساز باید برای دسترسی به آن‌ها استفاده شود، به کار روند. توجه: هر مسیر باید یک کارساز SOCKS تعریف کند و حاوی یک یا چند دستورالعمل 'reaches' باشد.

دستورالعمل‌های اعلان کارساز SOCKS که درون یک بلوک 'path' قرار ندارند، کارساز SOCKS پیش‌فرض را تعریف می‌کنند. اگر tsocks نیاز به اتصال به رایانه‌ای از طریق کارساز SOCKS داشته باشد (یعنی شبکه‌ای نباشد که به عنوان 'local' اعلان شده باشد) و هیچ مسیری (path) اعلان نکرده باشد که می‌تواند از طریق دستورالعمل 'reaches' به آن شبکه دسترسی یابد، از این کارساز پیش‌فرض برای برقراری اتصال استفاده می‌شود.

ساختار پایه تمام خطوط در پرونده پیکربندی به صورت زیر است:

<directive> = <parameters>

استثنای این قاعده بلوک‌های 'path' هستند که به شکل زیر می‌باشند:

path {
<directive> = <parameters>
}

خطوط خالی نادیده گرفته می‌شوند و تمام ورودی‌های یک خط پس از نویسه '#' نادیده گرفته خواهند شد.

دستورالعمل‌های زیر در پرونده پیکربندی tsocks استفاده می‌شوند:

نشانی IP کارساز SOCKS (مانند "server = 10.1.4.253"). تنها یک کارساز می‌تواند در هر بلوک مسیر یا خارج از بلوک‌های مسیر (برای تعریف کارساز پیش‌فرض) مشخص شود. مگر اینکه گزینه --disable-hostnames در زمان کامپایل به اسکریپت configure داده شده باشد، کارساز می‌تواند به صورت یک نام میزبان نیز مشخص شود (مانند "server = socks.nec.com").
درگاهی که کارساز SOCKS درخواست‌ها را روی آن دریافت می‌کند. تنها یک server_port می‌تواند در هر بلوک مسیر یا خارج از آن (برای کارساز پیش‌فرض) تعیین شود. در صورتی که کارساز روی درگاه استاندارد (1080) فعال باشد، نیازی به این دستورالعمل نیست.
نسخه SOCKS مورد استفاده توسط کارساز. نسخه‌های 4 و 5 پشتیبانی می‌شوند (اما هر دو تنها برای عملیات اتصال یا connect). مقدار پیش‌فرض 4 است. تنها یک server_type می‌تواند در هر بلوک مسیر یا خارج از آن (برای کارساز پیش‌فرض) مشخص شود.

می‌توانید از ابزار inspectsocks برای تعیین نوع کارساز استفاده کنید؛ بخش ابزارها (UTILITIES) را در ادامه این صفحه راهنما ببینید.

این گزینه نام کاربری پیش‌فرض را برای احراز هویت با نام کاربری و گذرواژه در نسخه 5 پروتکل SOCKS تعیین می‌کند. جهت تشخیص نام کاربری مورد استفاده (در صورتی که کارساز socks به احراز هویت نام کاربری و گذرواژه نیاز داشته باشد)، tsocks ابتدا متغیر محیطی TSOCKS_USERNAME را بررسی می‌کند، سپس این گزینه پیکربندی را می‌خواند و در نهایت تلاش می‌کند نام کاربری محلی را دریافت کند. این گزینه برای کارسازهای نسخه 4 پروتکل SOCKS معتبر نیست. تنها یک default_user می‌تواند در هر بلوک مسیر یا خارج از آن (برای کارساز پیش‌فرض) مشخص شود.
این گزینه گذرواژه پیش‌فرض را برای احراز هویت با نام کاربری و گذرواژه در نسخه 5 پروتکل SOCKS تعیین می‌کند. جهت تشخیص گذرواژه مورد استفاده (در صورتی که کارساز socks به احراز هویت نام کاربری و گذرواژه نیاز داشته باشد)، tsocks ابتدا متغیر محیطی TSOCKS_PASSWORD را بررسی می‌کند و سپس به سراغ این گزینه پیکربندی می‌رود. این گزینه برای کارسازهای نسخه 4 پروتکل SOCKS معتبر نیست. تنها یک default_pass می‌تواند در هر بلوک مسیر یا خارج از آن (برای کارساز پیش‌فرض) مشخص شود.
یک جفت IP/Subnet که شبکه‌ای را مشخص می‌کند که می‌تواند مستقیماً و بدون پروکسی شدن از طریق کارساز SOCKS در دسترس باشد (مانند "local = 10.0.0.0/255.0.0.0"). بدیهی است که نشانی‌های IP تمام کارسازهای SOCKS باید در شبکه‌های مشخص‌شده به عنوان محلی (local) قرار داشته باشند، در غیر این صورت tsocks برای دسترسی به کارسازهای SOCKS به یک کارساز SOCKS دیگر نیاز خواهد داشت.
این دستورالعمل تنها در داخل یک بلوک مسیر (path) معتبر است. پارامتر آن به صورت IP[:startport[-endport]]/Subnet تشکیل می‌شود و یک شبکه (و محدوده‌ای از درگاه‌ها در آن شبکه) را تعیین می‌کند که کارساز SOCKS مشخص‌شده در این بلوک مسیر می‌تواند به آن دسترسی داشته باشد. برای نمونه، در یک بلوک مسیر، عبارت reaches = 150.0.0.0:80-1024/255.0.0.0 به tsocks نشان می‌دهد که کارساز SOCKS مشخص‌شده در بلوک مسیر فعلی باید برای دسترسی به هر IP در محدوده 150.0.0.0 تا 150.255.255.255 هنگامی که درخواست اتصال برای درگاه‌های 80 تا 1024 است، استفاده شود.

برنامه tsocks به همراه دو ابزار کاربردی ارائه می‌شود که می‌توانند در ایجاد و اعتبارسنجی پرونده پیکربندی tsocks مفید باشند:

ابزار inspectsocks می‌تواند برای تعیین نسخه SOCKS که یک کارساز پشتیبانی می‌کند استفاده شود. inspectsocks نشانی IP یا نام میزبان کارساز SOCKS و به صورت اختیاری شماره درگاه آن را به عنوان آرگومان دریافت می‌کند (مانند 'inspectsocks socks.nec.com 1080'). سپس آن کارساز را بررسی می‌کند تا نسخه مورد پشتیبانی توسط کارساز را تشخیص دهد.
ابزار validateconf می‌تواند برای اعتبارسنجی پرونده پیکربندی استفاده شود. این ابزار قالب پرونده و همچنین محتوای آن را برای خطاهای احتمالی بررسی می‌کند. پس از خواندن پرونده، پیکربندی را به شکلی قالب‌بندی‌شده و خوانا روی صفحه نمایش تخلیه می‌کند. این امر می‌تواند در عیب‌یابی مشکلات بسیار مفید باشد.

ابزار validateconf می‌تواند پرونده پیکربندی را از مکانی غیر از مکان مشخص‌شده در زمان کامپایل، با استفاده از گزینه خط فرمان -f <filename> بخواند.

به طور معمول validateconf صرفاً پیکربندی خوانده‌شده را روی صفحه نمایش می‌دهد (در قالبی خوانا)، اما یک حالت کاربردی «آزمایش» (test) نیز دارد. هنگامی که یک نام میزبان یا IP در خط فرمان مانند -t <hostname/ip> به آن داده شود، validateconf تعیین می‌کند که کدام‌یک از کارسازهای SOCKS مشخص‌شده در پرونده پیکربندی، توسط tsocks برای دسترسی به میزبان مشخص‌شده استفاده خواهد شد.

tsocks(8)

Shaun Clowes (delius@progsoc.uts.edu.au)

حق نشر 2000 Shaun Clowes

برنامه tsocks و مستندات آن می‌توانند تحت شرایط و ضوابط نسخه 2 از مجوز عمومی همگانی گنو (GNU General Public License) همان‌طور که توسط بنیاد نرم‌افزارهای آزاد (کمبریج، ماساچوست، ایالات متحده آمریکا) منتشر شده است، آزادانه بازتوزیع شوند.

این مستندات بر اساس مستندات logwrites (رهگیر کتابخانه اشتراکی دیگر) نوشته شده است. یک خط کد از آن در tsocks و بخش زیادی از مستندات استفاده شده است :) برنامه logwrites توسط Adam J. Richter (adam@yggdrasil.com) نوشته شده و از آدرس ftp.yggdrasil.com pub/dist/pkg قابل دریافت است.

Shaun Clowes