.Dd 2016-10-29 .Dt TINC.CONF 5 .\" Manual page created by: .\" Ivo Timmermans .\" Guus Sliepen .Sh "نام (NAME)" .Nm tinc.conf .Nd پیکربندی دیمن tinc .Sh "توضیحات (DESCRIPTION)" پرونده‌های موجود در دایرکتوری .Pa /etc/tinc/ حاوی اطلاعات زمان اجرا و امنیتی برای دیمن tinc هستند\&. .Sh "شبکه‌ها (NETWORKS)" اجرای بیش از یک دیمن tinc کاملاً مجاز و بدون مشکل است\&. با این حال، در حالت پیش‌فرض، خیلی زود متوجه خواهید شد که بدون گزینه .Fl c نمی‌توانید از دو پرونده پیکربندی مختلف استفاده کنید\&. .Pp ما به روش دیگری برای حل این موضوع فکر کرده‌ایم: نام‌های شبکه\&. این به این معناست که شما .Nm را با گزینه .Fl n فراخوانی می‌کنید، که نامی را به این دیمن اختصاص می‌دهد\&. .Pp اثر این کار این است که دیمن ریشه پیکربندی خود را روی .Pa /etc/tinc/ Ns Ar NETNAME Ns Pa / تنظیم می‌کند، جایی که .Ar NETNAME آرگومان شما به گزینه .Fl n است\&. متوجه خواهید شد که پیام‌ها در syslog به عنوان پیامی از طرف .Nm tincd. Ns Ar NETNAME ظاهر می‌شوند\&. .Pp با این حال، به طور اکید لازم نیست که tinc را با گزینه .Fl n فراخوانی کنید\&. در این حالت، نام شبکه صرفاً خالی خواهد بود و به همین صورت استفاده می‌شود\&. اکنون .Nm tinc به دنبال پرونده‌ها در .Pa /etc/tinc/ می‌گردد، به جای .Pa /etc/tinc/ Ns Ar NETNAME Ns Pa / ؛ پرونده پیکربندی باید .Pa /etc/tinc/tinc.conf باشد، و پرونده‌های پیکربندی میزبان اکنون انتظار می‌رود در .Pa /etc/tinc/hosts/ باشند\&. .Pp اما به شدت توصیه می‌شود از این قابلیت .Nm tinc استفاده کنید، زیرا بسیار شفاف‌تر خواهد بود که دیمن شما با چه کسی ارتباط برقرار می‌کند\&. بنابراین، ما فرض خواهیم کرد که از آن استفاده می‌کنید\&. .Sh "نام‌ها (NAMES)" هر دیمن tinc باید نامی داشته باشد که در شبکه‌ای که بخشی از آن خواهد بود یکتا باشد\&. این نام توسط سایر دیمن‌های tinc برای شناسایی استفاده خواهد شد\&. نام باید در پرونده .Pa /etc/tinc/ Ns Ar NETNAME Ns Pa /tinc.conf اعلام شود\&. .Pp برای آسان‌تر شدن کارها، چیزی را انتخاب کنید که نام‌های یکتا و با قابلیت به‌خاطرسپاری آسان به دیمن(های) tinc شما بدهد\&. می‌توانید مواردی مانند نام‌های میزبان، نام خانوادگی مالک یا نام‌های مکان را امتحان کنید\&. .Sh "کلیدهای عمومی/خصوصی (PUBLIC/PRIVATE KEYS)" باید از دستور .Ic tincd -K برای تولید جفت‌کلیدهای عمومی/خصوصی استفاده کنید\&. این دستور دو کلید تولید خواهد کرد\&. کلید خصوصی باید در یک پرونده جداگانه ذخیره شود: .Pa /etc/tinc/ Ns Ar NETNAME Ns Pa /rsa_key.priv \-\- که در آن .Ar NETNAME نشان‌دهنده شبکه است (به بخش .Sx شبکه‌ها (NETWORKS) در بالا مراجعه کنید)\&. کلید عمومی باید در پرونده پیکربندی میزبان ذخیره شود: .Pa /etc/tinc/ Ns Ar NETNAME Ns Pa /hosts/ Ns Va NAME \-\- که در آن .Va NAME نشان‌دهنده نام دیمن محلی tinc است (به بخش .Sx نام‌ها (NAMES) مراجعه کنید)\&. .Sh "پیکربندی سرور (SERVER CONFIGURATION)" پیکربندی سرور دیمن در پرونده .Pa /etc/tinc/ Ns Ar NETNAME Ns Pa /tinc.conf انجام می‌شود\&. این پرونده شامل توضیحات (خطوطی که با .Li # شروع می‌شوند) یا انتساب‌ها به صورت زیر است: .Pp .Va Variable Li = Ar Value \&. .Pp نام متغیرها به بزرگی و کوچکی حروف حساس نیستند، و هرگونه فاصله، تب، خط جدید و بازگشت به ابتدای خط نادیده گرفته می‌شوند\&. نکته: الزامی نیست که علامت .Li = را قرار دهید، اما انجام این کار خوانایی را بهبود می‌بخشد\&. اگر آن را حذف می‌کنید، به یاد داشته باشید که حداقل یک نویسه فاصله به جای آن قرار دهید\&. .Pp پیکربندی سرور با پیکربندی ویژه میزبان تکمیل می‌شود (بخش بعدی را ببینید)\&. اگرچه تمام گزینه‌های پیکربندی برای میزبان محلی فهرست‌شده در این سند را می‌توان در .Pa /etc/tinc/ Ns Ar NETNAME Ns Pa /tinc.conf نیز قرار داد، اما توصیه می‌شود گزینه‌های پیکربندی ویژه میزبان در پرونده پیکربندی میزبان قرار گیرند، زیرا این کار تبادل آن با سایر گره‌ها را آسان می‌کند\&. .Pp در اینجا تمام متغیرهای معتبر به ترتیب حروف الفبا فهرست شده‌اند\&. مقدار پیش‌فرض در داخل پرانتز آورده شده است\&. .Bl -tag -width indent .It Va AddressFamily Li = ipv4 | ipv6 | any Pq any این گزینه بر خانواده نشانی سوکت‌های شنونده و خروجی تأثیر می‌گذارد\&. اگر .Qq any انتخاب شود، بسته به سیستم‌عامل هر دو سوکت شنونده IPv4 و IPv6 یا فقط سوکت‌های IPv6 ایجاد خواهند شد\&. .It Va BindToAddress Li = Ar address Oo Ar port Oc Bq experimental اگر رایانه شما بیش از یک نشانی IPv4 یا IPv6 دارد، .Nm tinc به طور پیش‌فرض روی تمام آن‌ها برای اتصالات ورودی گوش فرا می‌دهد\&. می‌توان چندین متغیر .Va BindToAddress را مشخص کرد، که در این صورت سوکت‌های شنونده برای هر نشانی مشخص‌شده ساخته می‌شوند\&. .Pp اگر هیچ .Ar port مشخص نشود، سوکت به درگاه مشخص‌شده توسط گزینه .Va Port یا در صورتی که هیچ‌کدام داده نشود به درگاه 655 متصل خواهد شد\&. برای اتصال فقط به یک درگاه خاص اما نه به یک نشانی خاص، از .Li * برای .Ar address استفاده کنید\&. .Pp این گزینه ممکن است در همه پلتفرم‌ها کار نکند\&. .It Va BindToInterface Li = Ar interface Bq experimental اگر رایانه شما بیش از یک رابط شبکه دارد، .Nm tinc به طور پیش‌فرض روی تمام آن‌ها برای اتصالات ورودی گوش می‌دهد\&. با این متغیر امکان اتصال تنها به یک رابط منفرد وجود دارد\&. .Pp این گزینه ممکن است در همه پلتفرم‌ها کار نکند\&. همچنین، در برخی پلتفرم‌ها در واقع به یک رابط متصل نمی‌شود، بلکه به نشانی که رابط در لحظه ایجاد سوکت دارد متصل می‌شود\&. .It Va Broadcast Li = no | mst | direct Po mst Pc Bq experimental این گزینه روش ارسال بسته‌های برودکست به سایر دیمن‌ها را انتخاب می‌کند\&. نکته: تمام گره‌های یک VPN باید از یک حالت .Va Broadcast مشابه استفاده کنند، در غیر این صورت حلقه‌های مسیریابی می‌توانند شکل بگیرند\&. .Bl -tag -width indent .It no بسته‌های برودکست هرگز به گره‌های دیگر ارسال نمی‌شوند\&. .It mst بسته‌های برودکست از طریق درخت پوشای کمینه (Minimum Spanning Tree) مربوط به VPN ارسال و فوروارد می‌شوند\&. این تضمین می‌کند که بسته‌های برودکست به تمام گره‌ها می‌رسند\&. .It direct بسته‌های برودکست مستقیماً به تمام گره‌هایی که می‌توان مستقیماً به آن‌ها رسید ارسال می‌شوند\&. بسته‌های برودکست دریافتی از گره‌های دیگر هرگز فوروارد نمی‌شوند\&. اگر گزینه IndirectData نیز تنظیم شده باشد، بسته‌های برودکست تنها به گره‌هایی ارسال می‌شوند که با آن‌ها اتصال متا داریم\&. .El .It Va ConnectTo Li = Ar name مشخص می‌کند در زمان راه‌اندازی به کدام دیمن دیگر tinc متصل شود\&. می‌توان چندین متغیر .Va ConnectTo را مشخص کرد، که در این صورت اتصالات خروجی به هر دیمن مشخص‌شده tinc برقرار می‌شود\&. نام‌ها باید برای این دیمن tinc شناخته‌شده باشند (یعنی باید یک پرونده پیکربندی میزبان برای نام موجود در خط .Va ConnectTo وجود داشته باشد)\&. .Pp اگر میزبانی را با .Va ConnectTo مشخص نکنید، .Nm tinc اصلاً تلاشی برای اتصال به سایر دیمن‌ها نخواهد کرد و در عوض صرفاً برای اتصالات ورودی گوش فرا می‌دهد\&. .It Va DecrementTTL Li = yes | no Po no Pc Bq experimental در صورت فعال بودن، .Nm tinc فیلد زمان حیات (Time To Live) را در بسته‌های IPv4، یا فیلد محدودیت جهش (Hop Limit) را در بسته‌های IPv6، قبل از فوروارد بسته دریافتی به دستگاه شبکه مجازی یا به گره دیگر کاهش می‌دهد، و بسته‌هایی که مقدار TTL آن‌ها صفر است را دور می‌اندازد، که در این صورت یک بسته ICMP Time Exceeded به عقب ارسال می‌کند\&. .Pp اگر از حالت switch استفاده می‌کنید و می‌خواهید از IPv6 استفاده نمایید، از این گزینه استفاده نکنید\&. .It Va Device Li = Ar device Po Pa /dev/tap0 ، Pa /dev/net/tun No یا موارد دیگر بسته به پلتفرم Pc دستگاه شبکه مجازی برای استفاده\&. .Nm tinc به طور خودکار نوع دستگاه را تشخیص خواهد داد\&. توجه داشته باشید که به ازای هر دیمن فقط می‌توانید از یک دستگاه استفاده کنید\&. در ویندوز، به جای .Va Device از .Va Interface استفاده کنید\&. صفحات info بسته tinc حاوی اطلاعات بیشتری درباره پیکربندی دستگاه شبکه مجازی است\&. .It Va DeviceType Li = Ar type Pq وابسته به پلتفرم نوع دستگاه شبکه مجازی\&. برنامه Tinc معمولاً نوع رابط tun/tap مناسب را به طور خودکار انتخاب می‌کند، و این گزینه نباید استفاده شود\&. با این حال، این گزینه می‌تواند برای انتخاب یکی از انواع رابط‌های ویژه استفاده شود، در صورتی که پشتیبانی از آن‌ها کامپایل شده باشد\&. .Bl -tag -width indent .It dummy استفاده از رابط ساختگی (dummy)\&. هیچ بسته‌ای از یک دستگاه شبکه مجازی خوانده یا روی آن نوشته نمی‌شود\&. برای آزمایش یا هنگام راه‌اندازی گره‌ای که فقط بسته‌ها را برای سایر گره‌ها فوروارد می‌کند مفید است\&. .It raw_socket باز کردن یک سوکت خام، و اتصال آن به یک .Va Interface از قبل موجود (پیش‌فرض eth0)\&. تمام بسته‌ها از این رابط خوانده می‌شوند\&. بسته‌های دریافتی برای گره محلی در سوکت خام نوشته می‌شوند\&. با این حال، حداقل در لینوکس، سیستم‌عامل بسته‌های IP مقصد میزبان محلی را پردازش نمی‌کند\&. .It multicast باز کردن یک سوکت چندپخشی (multicast) UDP و اتصال آن به نشانی و درگاه (جداشده با فاصله) و به صورت اختیاری مقدار TTL مشخص‌شده با استفاده از .Va Device \&. بسته‌ها از این سوکت چندپخشی خوانده و در آن نوشته می‌شوند\&. می‌توان از این گزینه برای اتصال به نمونه‌های UML، QEMU یا KVM که روی همان نشانی چندپخشی گوش می‌دهند استفاده کرد\&. چندین دیمن .Nm tinc را به یک نشانی چندپخشی یکسان متصل نکنید، این کار به احتمال زیاد باعث ایجاد حلقه‌های مسیریابی خواهد شد\&. همچنین توجه داشته باشید که در صورت پیکربندی نادرست، این می‌تواند باعث ارسال بسته‌های رمزگشایی‌شده VPN در یک شبکه واقعی شود\&. .It uml Pq به طور پیش‌فرض کامپایل نشده است ایجاد یک سوکت یونیکس با نام پرونده مشخص‌شده توسط .Va Device ، یا .Pa /var/run/ Ns Ar NETNAME Ns Pa .umlsocket در صورت عدم تعیین\&. .Nm tinc منتظر اتصال یک نمونه User Mode Linux به این سوکت خواهد ماند\&. .It vde Pq به طور پیش‌فرض کامپایل نشده است استفاده از کتابخانه libvdeplug برای اتصال به یک سوییچ Virtual Distributed Ethernet، با استفاده از سوکت یونیکس مشخص‌شده توسط .Va Device ، یا .Pa /var/run/vde.ctl در صورت عدم تعیین\&. .El همچنین، در صورتی که به نظر برسد tinc بسته‌های دریافتی از دستگاه شبکه مجازی را به درستی تفسیر نمی‌کند، می‌توان از آن برای تغییر نحوه تفسیر بسته‌ها استفاده کرد: .Bl -tag -width indent .It tun Pq در BSD و لینوکس تنظیم نوع روی tun\&. بسته به پلتفرم، این می‌تواند با یا بدون سرآیند خانواده نشانی باشد (به زیر مراجعه کنید)\&. .It tunnohead Pq در BSD تنظیم نوع روی tun بدون سرآیند خانواده نشانی\&. برنامه Tinc انتظار خواهد داشت بسته‌های خوانده‌شده از دستگاه شبکه مجازی با یک سرآیند IP شروع شوند\&. در برخی پلتفرم‌ها در این حالت نمی‌توان بسته‌های IPv6 را از دستگاه خواند یا روی آن نوشت\&. .It tunifhead Pq در BSD تنظیم نوع روی tun با سرآیند خانواده نشانی\&. برنامه Tinc انتظار خواهد داشت بسته‌های خوانده‌شده از دستگاه شبکه مجازی با یک سرآیند چهار بایتی حاوی خانواده نشانی شروع شوند، و به دنبال آن یک سرآیند IP بیاید\&. این حالت باید از هر دو بسته‌های IPv4 و IPv6 پشتیبانی کند\&. .It utun Pq در OS X تنظیم نوع روی utun\&. این فقط در نسخه 10.6.8 و بالاتر OS X پشتیبانی می‌شود، اما نیازی به ماژول tuntaposx ندارد\&. این حالت باید از هر دو بسته‌های IPv4 و IPv6 پشتیبانی کند\&. .It tap Pq در BSD و لینوکس تنظیم نوع روی tap\&. برنامه Tinc انتظار خواهد داشت بسته‌های خوانده‌شده از دستگاه شبکه مجازی با یک سرآیند اترنت شروع شوند\&. .El .It Va DirectOnly Li = yes | no Po no Pc Bq experimental هنگامی که این گزینه فعال است، بسته‌هایی که نمی‌توانند مستقیماً به گره مقصد ارسال شوند، بلکه باید توسط یک گره میانی فوروارد شوند، دور ریخته می‌شوند\&. هنگامی که با گزینه IndirectData ترکیب شود، بسته‌ها برای گره‌هایی که با آن‌ها اتصال متا نداریم نیز دور ریخته می‌شوند\&. .It Va Forwarding Li = off | internal | kernel Po internal Pc Bq experimental این گزینه روش فوروارد بسته‌های غیرمستقیم را انتخاب می‌کند\&. .Bl -tag -width indent .It off بسته‌های ورودی که برای گره محلی در نظر گرفته نشده‌اند، اما باید به گره دیگری فوروارد شوند، دور ریخته می‌شوند\&. .It internal بسته‌های ورودی که برای گره دیگری در نظر گرفته شده‌اند به طور داخلی توسط tinc فوروارد می‌شوند\&. .Pp این حالت پیش‌فرض است، و مگر اینکه واقعاً بدانید که به حالت فوروارد دیگری نیاز دارید، آن را تغییر ندهید\&. .It kernel بسته‌های ورودی همیشه به دستگاه TUN/TAP ارسال می‌شوند، حتی اگر بسته‌ها برای گره محلی نباشند\&. این کار کارایی کمتری دارد، اما به هسته اجازه می‌دهد قوانین مسیریابی و فایروال خود را روی آن‌ها اعمال کند، و همچنین می‌تواند به اشکال‌زدایی کمک نماید\&. .El .It Va GraphDumpFile Li = Ar filename Bq experimental اگر این گزینه وجود داشته باشد، .Nm tinc گراف شبکه جاری را هر دقیقه در پرونده .Ar filename تخلیه می‌کند، مگر اینکه تغییری در گراف رخ نداده باشد\&. این پرونده قالبی دارد که توسط ابزارهای graphviz قابل خواندن است\&. اگر .Ar filename با نماد پایپ | شروع شود، بقیه نام پرونده به عنوان یک دستور شل تفسیر می‌شود که اجرا شده و سپس گراف به ورودی استاندارد ارسال می‌گردد\&. .It Va Hostnames Li = yes | no Pq no این گزینه انتخاب می‌کند که آیا نشانی‌های IP (چه واقعی و چه روی VPN) باید تفکیک (resolve) شوند یا خیر\&. از آنجا که جستجوهای DNS مسدودکننده هستند، ممکن است بر کارایی tinc تأثیر بگذارد، حتی در صورتی که سرور DNS شما پاسخ ندهد، هر بار که جستجویی انجام می‌دهد دیمن را برای چند ثانیه متوقف می‌کند\&. .Pp این بر تفکیک نام‌های میزبان به نشانی‌های IP از پرونده‌های پیکربندی میزبان تأثیری ندارد، بلکه بر این موضوع تأثیر می‌گذارد که آیا نام‌های میزبان در حین ثبت وقایع باید تفکیک شوند یا خیر\&. .It Va IffOneQueue Li = yes | no Po no Pc Bq experimental (فقط لینوکس) پرچم IFF_ONE_QUEUE را روی دستگاه‌های TUN/TAP تنظیم می‌کند\&. .It Va Interface Li = Ar interface نام رابط مربوط به دستگاه شبکه مجازی را تعریف می‌کند\&. بسته به سیستم‌عامل و نوع دستگاه، این گزینه ممکن است نام رابط را تنظیم کند یا نکند\&. در ویندوز، این متغیر برای انتخاب اینکه کدام رابط شبکه استفاده خواهد شد به کار می‌رود\&. اگر یک .Va Device مشخص کرده باشید، این متغیر تقریباً همیشه از قبل به درستی تنظیم شده است\&. .It Va KeyExpire Li = Ar seconds Pq 3600 این گزینه دوره‌ای را کنترل می‌کند که کلیدهای رمزنگاری مورد استفاده برای رمزنگاری داده‌ها معتبر هستند\&. این یک عمل مرسوم است که کلیدها را در فواصل منظم تغییر دهند تا کار برای نفوذگران حتی سخت‌تر شود، هرچند که شکستن یک کلید منفرد تقریباً غیرممکن پنداشته می‌شود\&. .It Va LocalDiscovery Li = yes | no Po no Pc Bq experimental در صورت فعال بودن، .Nm tinc تلاش خواهد کرد همتایانی را که در همان شبکه محلی هستند شناسایی کند\&. این امر اجازه ارتباط مستقیم با استفاده از نشانی‌های LAN را می‌دهد، حتی اگر هر دو همتا پشت یک NAT باشند و آن‌ها تنها به یک گره سوم در خارج از NAT متصل (ConnectTo) شوند، که معمولاً مانع از اطلاع همتایان از نشانی LAN یکدیگر می‌شود\&. .Pp در حال حاضر، کشف محلی با ارسال بسته‌های برودکست به LAN در طول کشف MTU مسیر پیاده‌سازی شده است\&. این ویژگی ممکن است در تمام شرایط ممکن کار نکند\&. .It Va MACExpire Li = Ar seconds Pq 600 این گزینه مدت زمانی را کنترل می‌کند که نشانی‌های MAC قبل از حذف شدن نگهداری می‌شوند\&. این گزینه تنها زمانی اثر دارد که .Va Mode روی .Qq switch تنظیم شده باشد\&. .It Va MaxTimeout Li = Ar seconds Pq 900 این حداکثر تأخیر قبل از تلاش برای اتصال مجدد به سایر دیمن‌های tinc است\&. .It Va Mode Li = router | switch | hub Pq router این گزینه روش مسیریابی بسته‌ها به سایر دیمن‌ها را انتخاب می‌کند\&. .Bl -tag -width indent .It router در این حالت، متغیرهای .Va Subnet در پرونده‌های پیکربندی میزبان برای تشکیل جدول مسیریابی استفاده خواهند شد\&. در این حالت تنها بسته‌های یونیکست پروتکل‌های قابل مسیریابی (IPv4 و IPv6) پشتیبانی می‌شوند\&. .Pp این حالت پیش‌فرض است، و مگر اینکه واقعاً بدانید به حالت دیگری نیاز دارید، آن را تغییر ندهید\&. .It switch در این حالت نشانی‌های MAC بسته‌ها روی VPN برای ایجاد پویای جدول مسیریابی درست مانند عملکرد یک سوییچ اترنت استفاده خواهند شد\&. بسته‌های یونیکست، چندپخشی و برودکست از هر پروتکلی که روی اترنت اجرا می‌شود در این حالت پشتیبانی می‌شوند به بهای درخواست‌های مکرر برودکست ARP و به‌روزرسانی‌های جدول مسیریابی\&. .Pp این حالت عمدتاً زمانی مفید است که بخواهید بخش‌های اترنت را پل‌بندی (bridge) کنید\&. .It hub این حالت تقریباً همانند حالت switch است، اما در عوض هر بسته‌ای به سایر دیمن‌ها برودکست می‌شود در حالی که هیچ جدول مسیریابی مدیریت نمی‌شود\&. .El .It Va Name Li = Ar name Bq required این نامی است که این دیمن tinc را مشخص می‌کند\&. این نام باید برای شبکه خصوصی مجازی که این دیمن به آن متصل می‌شود یکتا باشد\&. نام تنها ممکن است شامل نویسه‌های الفبایی-عددی و زیرخط (underscore) باشد\&. اگر .Va Name با یک .Li $ شروع شود، محتوای متغیر محیطی که به دنبال آن می‌آید استفاده خواهد شد\&. در این حالت، نویسه‌های نامعتبر به زیرخط تبدیل خواهند شد\&. اگر .Va Name برابر با .Li $HOST باشد، اما چنین متغیر محیطی وجود نداشته باشد، نام میزبان با استفاده از فراخوانی سیستمی gethostname() خوانده خواهد شد\&. .It Va PingInterval Li = Ar seconds Pq 60 تعداد ثانیه‌های عدم فعالیتی که .Nm tinc قبل از ارسال یک کاوشگر (probe) به طرف دیگر منتظر خواهد ماند\&. .It Va PingTimeout Li = Ar seconds Pq 5 تعداد ثانیه‌های انتظار برای پاسخ به پینگ‌ها یا اجازه به مسدود شدن اتصالات متا\&. اگر طرف مقابل در این مدت پاسخ ندهد، اتصال خاتمه می‌یابد و به دیگران در این مورد اطلاع داده خواهد شد\&. .It Va PriorityInheritance Li = yes | no Po no Pc Bq experimental هنگامی که این گزینه فعال است، مقدار فیلد TOS بسته‌های تونل‌شده IPv4 توسط بسته‌های UDP که به بیرون ارسال می‌شوند به ارث برده خواهد شد\&. .It Va PrivateKey Li = Ar key Bq obsolete کلید خصوصی RSA این دیمن tinc\&. این کلید به این دیمن tinc اجازه می‌دهد هویت خود را برای سایر دیمن‌ها احراز کند\&. .It Va PrivateKeyFile Li = Ar filename Po Pa /etc/tinc/ Ns Ar NETNAME Ns Pa /rsa_key.priv Pc پرونده‌ای که کلید خصوصی RSA این دیمن tinc در آن قرار دارد\&. .It Va ProcessPriority Li = low | normal | high هنگامی که این گزینه استفاده می‌شود، اولویت فرآیند tincd تنظیم خواهد شد\&. افزایش اولویت ممکن است به کاهش تأخیر و افت بسته در VPN کمک کند\&. .It Va Proxy Li = socks4 | socks5 | http | exec Ar ... Bq experimental استفاده از یک پروکسی هنگام برقراری اتصالات خروجی\&. انواع پروکسی زیر در حال حاضر پشتیبانی می‌شوند: .Bl -tag -width indent .It socks4 Ar address Ar port Op Ar username اتصال به پروکسی با استفاده از پروتکل SOCKS نسخه 4\&. به صورت اختیاری، می‌توان یک .Ar username ارائه داد که به سرور پروکسی منتقل می‌شود\&. تنها اتصالات IPv4 را می‌توان با استفاده از SOCKS 4 پروکسی کرد\&. .It socks5 Ar address Ar port Op Ar username Ar password اتصال به پروکسی با استفاده از پروتکل SOCKS نسخه 5\&. اگر .Ar username و .Ar password داده شوند، احراز هویت اولیه نام کاربری/گذرواژه استفاده خواهد شد، در غیر این صورت هیچ احراز هویتی استفاده نخواهد شد\&. .It http Ar address Ar port اتصال به پروکسی و ارسال درخواست HTTP CONNECT\&. .It exec Ar command دستور داده‌شده .Ar command را اجرا می‌کند که باید اتصال خروجی را برقرار سازد\&. متغیرهای محیطی .Ev NAME ، .Ev NODE ، .Ev REMOTEADDRES و .Ev REMOTEPORT در دسترس هستند\&. .El .It Va ReplayWindow Li = Ar bytes Pq 16 این اندازه پنجره ردیابی بازپخش (replay) برای هر گره راه دور، بر حسب بایت است\&. پنجره یک میدان بیتی است که 1 بسته در هر بیت را ردیابی می‌کند، بنابراین برای مثال تنظیم پیش‌فرض 16 تا 128 بسته را در پنجره ردیابی می‌کند\&. در سناریوهای پهنای باند بالا، تنظیم این مقدار روی عدد بالاتر می‌تواند افت بسته ناشی از تعامل ردیابی بازپخش با افت واقعی بسته‌ها و/یا تغییر ترتیب آن‌ها را کاهش دهد\&. تنظیم این مقدار روی صفر، ردیابی بازپخش را به طور کامل غیرفعال کرده و تمام ترافیک را عبور می‌دهد، اما tinc را در برابر حملات مبتنی بر بازپخش روی ترافیک شما آسیب‌پذیر می‌کند\&. .It Va StrictSubnets Li = yes | no Po no Pc Bq experimental هنگامی که این گزینه فعال است، tinc تنها از عبارات Subnet استفاده خواهد کرد که در پرونده‌های پیکربندی میزبان در دایرکتوری محلی .Pa /etc/tinc/ Ns Ar NETNAME Ns Pa /hosts/ حضور دارند\&. زیرشبکه‌های آموخته‌شده از طریق اتصالات به سایر گره‌ها که در پرونده‌های پیکربندی میزبان محلی حضور ندارند نادیده گرفته می‌شوند\&. .It Va TunnelServer Li = yes | no Po no Pc Bq experimental هنگامی که این گزینه فعال است، tinc دیگر اطلاعات را بین سایر دیمن‌های tinc فوروارد نخواهد کرد، و تنها اتصالات با گره‌هایی را مجاز می‌داند که پرونده‌های پیکربندی میزبان آن‌ها در دایرکتوری محلی .Pa /etc/tinc/ Ns Ar NETNAME Ns Pa /hosts/ موجود باشد\&. تنظیم این گزینه همچنین به طور ضمنی StrictSubnets را تنظیم می‌کند\&. .It Va UDPRcvBuf Li = Ar bytes Pq پیش‌فرض سیستم‌عامل اندازه بافر دریافت سوکت را برای سوکت UDP بر حسب بایت تنظیم می‌کند\&. در صورت عدم تنظیم، اندازه بافر پیش‌فرض توسط سیستم‌عامل استفاده خواهد شد\&. .It Va UDPSndBuf Li = Ar bytes Pq پیش‌فرض سیستم‌عامل اندازه بافر ارسال سوکت را برای سوکت UDP بر حسب بایت تنظیم می‌کند\&. در صورت عدم تنظیم، اندازه بافر پیش‌فرض توسط سیستم‌عامل استفاده خواهد شد\&. .El .Sh "پرونده‌های پیکربندی میزبان (HOST CONFIGURATION FILES)" پرونده‌های پیکربندی میزبان حاوی تمام اطلاعات مورد نیاز برای برقراری اتصال به آن میزبان‌ها هستند\&. یک پرونده پیکربندی میزبان برای دیمن محلی tinc نیز لازم است، که از آن برای خواندن درگاه شنونده، کلید عمومی و زیرشبکه‌های خود استفاده خواهد کرد\&. .Pp ایده این است که این پرونده‌ها قابل حمل هستند\&. شما می‌توانید با اطمینان پرونده پیکربندی میزبان خود را برای شخص دیگری ایمیل کنید\&. آن شخص دیگر می‌تواند آن را در دایرکتوری hosts خود کپی کند، و اکنون دیمن tinc او قادر خواهد بود به دیمن tinc شما متصل شود\&. از آنجا که پرونده‌های پیکربندی میزبان تنها حاوی کلیدهای عمومی هستند، هیچ رازی با ارسال این اطلاعات فاش نمی‌شود\&. .Bl -tag -width indent .It Va Address Li = Ar address Oo Ar port Oc Bq recommended نشانی IP یا نام میزبان این دیمن tinc در شبکه واقعی\&. این مورد تنها زمانی استفاده خواهد شد که تلاش برای برقراری یک اتصال خروجی به این دیمن tinc صورت گیرد\&. به صورت اختیاری، می‌توان درگاهی را برای استفاده در این نشانی مشخص کرد\&. می‌توان چندین متغیر .Va Address را مشخص کرد، که در این صورت هر نشانی تا زمان برقراری یک اتصال فعال امتحان خواهد شد\&. .It Va Cipher Li = Ar cipher Pq aes-256-cbc الگوریتم رمز متقارن مورد استفاده برای رمزنگاری بسته‌های UDP\&. هر رمزی که توسط LibreSSL یا OpenSSL پشتیبانی شود شناسایی می‌گردد\&. علاوه بر این، مشخص کردن .Qq none رمزنگاری بسته‌ها را خاموش خواهد کرد\&. بهتر است تنها از رمزهایی استفاده شود که از حالت CBC پشتیبانی می‌کنند\&. .It Va ClampMSS Li = yes | no Pq yes این گزینه مشخص می‌کند که آیا tinc باید حداکثر اندازه قطعه (MSS) بسته‌های TCP را به اندازه MTU مسیر مهار (clamp) کند یا خیر\&. این گزینه در شرایطی کمک می‌کند که پیام‌های ICMP Fragmentation Needed یا Packet too Big توسط فایروال‌ها دور ریخته می‌شوند\&. .It Va Compression Li = Ar level Pq 0 این گزینه سطح فشرده‌سازی مورد استفاده برای بسته‌های UDP را تنظیم می‌کند\&. مقادیر ممکن عبارتند از 0 (خاموش)، 1 (zlib سریع) و هر عدد صحیحی تا 9 (بهترین zlib)، 10 (lzo سریع) و 11 (بهترین lzo)\&. .It Va Digest Li = Ar digest Pq sha256 الگوریتم چکیده (digest) مورد استفاده برای احراز اصالت بسته‌های UDP\&. هر چکیده‌ای که توسط LibreSSL یا OpenSSL پشتیبانی شود شناسایی می‌گردد\&. علاوه بر این، مشخص کردن .Qq none احراز اصالت بسته‌ها را خاموش خواهد کرد\&. .It Va IndirectData Li = yes | no Pq no هنگامی که روی yes تنظیم شود، تنها گره‌هایی که از قبل یک اتصال متا با شما دارند تلاش خواهند کرد ارتباط مستقیم با شما برقرار سازند\&. بهتر است این گزینه حذف شود یا روی no تنظیم گردد\&. .It Va MACLength Li = Ar length Pq 4 طول کد احراز اصالت پیام (MAC) مورد استفاده برای احراز اصالت بسته‌های UDP\&. می‌تواند هر مقداری از .Qq 0 تا طول چکیده تولیدشده توسط الگوریتم چکیده باشد\&. .It Va PMTU Li = Ar mtu Po 1514 Pc این گزینه مقدار اولیه MTU مسیر به این گره را کنترل می‌کند\&. .It Va PMTUDiscovery Li = yes | no Po yes Pc هنگامی که این گزینه فعال است، tinc تلاش خواهد کرد MTU مسیر به این گره را کشف کند\&. پس از کشف MTU مسیر، روی VPN اعمال خواهد شد\&. .It Va Port Li = Ar port Pq 655 شماره درگاهی که این دیمن tinc روی آن برای اتصالات ورودی گوش فرا می‌دهد، که در صورت عدم تعیین شماره درگاه در یک عبارت .Va Address استفاده می‌شود\&. .It Va PublicKey Li = Ar key Bq obsolete کلید عمومی RSA این دیمن tinc\&. برای بررسی رمزنوشتی هویت آن و برقراری یک اتصال امن استفاده خواهد شد\&. .It Va PublicKeyFile Li = Ar filename Bq obsolete پرونده‌ای که کلید عمومی RSA این دیمن tinc در آن قرار دارد\&. .Pp از نسخه 1.0pre4 به بعد، .Nm tinc کلید عمومی را مستقیماً در پرونده پیکربندی میزبان در قالب PEM ذخیره می‌کند، و دو گزینه بالا در این صورت ضروری نیستند\&. یا باید از قالب PEM استفاده شود، یا دقیقاً یکی از دو گزینه بالا در هر پرونده پیکربندی میزبان مشخص گردد، در صورتی که می‌خواهید بتوانید با آن میزبان اتصال برقرار کنید\&. .It Va Subnet Li = Ar address Ns Op Li / Ns Ar prefixlength Ns Op Li # Ns Ar weight زیرشبکه‌ای که این دیمن tinc به آن سرویس خواهد داد\&. برنامه .Nm tinc با جستجوی زیرشبکه مناسب تلاش می‌کند بیابد که بسته را به کدام دیمن دیگر باید ارسال کند\&. اگر بسته با یک زیرشبکه مطابقت داشته باشد، به دیمنی ارسال می‌شود که این زیرشبکه را در پرونده پیکربندی میزبان خود دارد\&. می‌توان چندین متغیر .Va Subnet را مشخص کرد\&. .Pp زیرشبکه‌ها می‌توانند نشانی‌های منفرد MAC، IPv4 یا IPv6 باشند، که در این صورت زیرشبکه‌ای شامل تنها همان نشانی منفرد فرض می‌شود، یا می‌توانند یک نشانی شبکه IPv4 یا IPv6 با طول پیشوند باشند\&. برای مثال، زیرشبکه‌های IPv4 باید به شکلی مانند 192.168.1.0/24 باشند، که در آن 192.168.1.0 نشانی شبکه و 24 تعداد بیت‌های تنظیم‌شده در ماسک شبکه است\&. توجه داشته باشید که زیرشبکه‌هایی مانند 192.168.1.1/24 نامعتبر هستند! اگر این موضوع را متوجه نمی‌شوید یک راهنمای شبکه را مطالعه فرمایید\&. زیرشبکه‌های IPv6 به صورت fec0:0:0:1::/64 نشان داده می‌شوند\&. نشانی‌های MAC به صورت 0:1a:2b:3c:4d:5e نشان داده می‌شوند\&. .Pp می‌توان به یک زیرشبکه وزنی اختصاص داد تا اولویت آن نسبت به زیرشبکه‌های یکسان متعلق به گره‌های مختلف مشخص شود\&. وزن پیش‌فرض 10 است\&. مقادیر کمتر اولویت بالاتری را نشان می‌دهند\&. بسته‌ها به گره با بالاترین اولویت ارسال خواهند شد، مگر اینکه آن گره در دسترس نباشد، که در این صورت گره با اولویت بالاتر بعدی امتحان خواهد شد، و الی آخر\&. .It Va TCPOnly Li = yes | no Pq no Bq obsolete اگر این متغیر روی yes تنظیم شود، بسته‌ها به جای اتصال UDP روی اتصال TCP تونل می‌شوند\&. این گزینه به ویژه برای کسانی مفید است که می‌خواهند دیمن tinc را از پشت یک فایروال با ترجمه نشانی (masquerading) اجرا کنند، یا اگر مسیریابی بسته‌های UDP به نوعی غیرفعال شده باشد\&. تنظیم این گزینه همچنین به طور ضمنی IndirectData را تنظیم می‌کند\&. .Pp از نسخه 1.0.10 به بعد، tinc به طور خودکار تشخیص می‌دهد که آیا ارتباط از طریق UDP امکان‌پذیر است یا خیر\&. .El .Sh "اسکریپت‌ها (SCRIPTS)" علاوه بر خواندن پرونده‌های پیکربندی سرور و میزبان، tinc همچنین می‌تواند اسکریپت‌هایی را در لحظات خاصی اجرا کند\&. در زیر فهرستی از نام پرونده‌های اسکریپت‌ها و شرح زمان اجرای آن‌ها آمده است\&. یک اسکریپت تنها در صورتی اجرا می‌شود که وجود داشته باشد و قابل اجرا باشد\&. .Pp اسکریپت‌ها به صورت همگام اجرا می‌شوند؛ این بدان معناست که tinc موقتاً پردازش بسته‌ها را متوقف می‌کند تا زمانی که اجرای اسکریپت فراخوانی‌شده به پایان برسد\&. این امر تضمین می‌کند که اسکریپت‌ها دقیقاً به همان ترتیبی اجرا می‌شوند که رویدادهای محرک آن‌ها رخ می‌دهند\&. اگر نیاز به اجرای ناهمگام دستورات دارید، خودتان باید مطمئن شوید که آن‌ها در پس‌زمینه اجرا می‌شوند\&. .Pp در ویندوز (به غیر از Cygwin)، اسکریپت‌ها باید پسوند .Pa .bat داشته باشند\&. .Bl -tag -width indent .It Pa /etc/tinc/ Ns Ar NETNAME Ns Pa /tinc-up این مهم‌ترین اسکریپت است\&. اگر وجود داشته باشد، بلافاصله پس از شروع به کار دیمن tinc و اتصال به دستگاه شبکه مجازی اجرا خواهد شد\&. باید برای راه‌اندازی رابط شبکه مربوطه استفاده شود، اما می‌تواند برای شروع موارد دیگر نیز به کار رود\&. .Pp در ویندوز می‌توانید به جای ایجاد این اسکریپت از کنترل پنل Network Connections استفاده کنید\&. .It Pa /etc/tinc/ Ns Ar NETNAME Ns Pa /tinc-down این اسکریپت درست قبل از خروج دیمن tinc شروع می‌شود\&. .It Pa /etc/tinc/ Ns Ar NETNAME Ns Pa /hosts/ Ns Ar HOST Ns Pa -up این اسکریپت زمانی شروع می‌شود که دیمن tinc با نام .Ar HOST در دسترس قرار می‌گیرد\&. .It Pa /etc/tinc/ Ns Ar NETNAME Ns Pa /hosts/ Ns Ar HOST Ns Pa -down این اسکریپت زمانی شروع می‌شود که دیمن tinc با نام .Ar HOST از دسترس خارج می‌شود\&. .It Pa /etc/tinc/ Ns Ar NETNAME Ns Pa /host-up این اسکریپت زمانی شروع می‌شود که هر میزبانی در دسترس قرار می‌گیرد\&. .It Pa /etc/tinc/ Ns Ar NETNAME Ns Pa /host-down این اسکریپت زمانی شروع می‌شود که هر میزبانی از دسترس خارج می‌شود\&. .It Pa /etc/tinc/ Ns Ar NETNAME Ns Pa /subnet-up این اسکریپت زمانی شروع می‌شود که یک زیرشبکه در دسترس قرار می‌گیرد\&. زیرشبکه و گره‌ای که به آن تعلق دارد در متغیرهای محیطی منتقل می‌شوند\&. .It Pa /etc/tinc/ Ns Ar NETNAME Ns Pa /subnet-down این اسکریپت زمانی شروع می‌شود که یک زیرشبکه از دسترس خارج می‌شود\&. .El .Pp اسکریپت‌ها بدون آرگومان‌های خط فرمان شروع می‌شوند، اما می‌توانند از متغیرهای محیطی خاصی استفاده کنند\&. در سیستم‌عامل‌های شبه‌یونیکس، نام متغیرهای محیطی در اسکریپت‌ها باید با یک .Li $ همراه باشد\&. در ویندوز، در پرونده‌های .Pa .bat ، آن‌ها باید بین علامت‌های .Li % قرار گیرند\&. .Bl -tag -width indent .It Ev NETNAME اگر نام شبکه‌ای مشخص شده باشد، این متغیر محیطی حاوی آن است\&. .It Ev NAME حاوی نام این دیمن tinc است\&. .It Ev DEVICE حاوی نام دستگاه شبکه مجازی است که tinc استفاده می‌کند\&. .It Ev INTERFACE حاوی نام رابط شبکه مجازی است که tinc استفاده می‌کند\&. باید برای دستوراتی مانند .Pa ifconfig استفاده شود\&. .It Ev NODE هنگامی که یک میزبان در دسترس یا از دسترس خارج می‌شود، روی نام آن تنظیم می‌شود\&. اگر یک زیرشبکه در دسترس یا از دسترس خارج شود، روی مالک آن زیرشبکه تنظیم می‌گردد\&. .It Ev REMOTEADDRESS هنگامی که یک میزبان در دسترس یا از دسترس خارج می‌شود، روی نشانی واقعی آن تنظیم می‌گردد\&. .It Ev REMOTEPORT هنگامی که یک میزبان در دسترس یا از دسترس خارج می‌شود، روی شماره درگاهی تنظیم می‌شود که برای ارتباط با سایر دیمن‌های tinc استفاده می‌کند\&. .It Ev SUBNET هنگامی که یک زیرشبکه در دسترس یا از دسترس خارج می‌شود، روی آن زیرشبکه تنظیم می‌گردد\&. .It Ev WEIGHT هنگامی که یک زیرشبکه در دسترس یا از دسترس خارج می‌شود، روی وزن زیرشبکه تنظیم می‌گردد\&. .El .Pp فراموش نکنید که در سیستم‌عامل‌های یونیکس، باید اسکریپت‌ها را با استفاده از دستور .Nm chmod Li a+x Pa script قابل اجرا کنید\&. .Sh "فایل‌ها (FILES)" مهم‌ترین پرونده‌ها عبارتند از: .Bl -tag -width indent .It Pa /etc/tinc/ دایرکتوری اصلی برای پرونده‌های پیکربندی\&. .It Pa /etc/tinc/ Ns Ar NETNAME Ns Pa /tinc.conf نام پیش‌فرض پرونده پیکربندی سرور برای شبکه .Ar NETNAME \&. .It Pa /etc/tinc/ Ns Ar NETNAME Ns Pa /conf.d/ دایرکتوری اختیاری که هر پرونده *.conf از آن بارگذاری خواهد شد\&. .It Pa /etc/tinc/ Ns Ar NETNAME Ns Pa /hosts/ پرونده‌های پیکربندی میزبان در این دایرکتوری نگهداری می‌شوند\&. .It Pa /etc/tinc/ Ns Ar NETNAME Ns Pa /tinc-up اگر پرونده‌ای قابل اجرا با این نام وجود داشته باشد، بلافاصله پس از اتصال دیمن tinc به دستگاه شبکه مجازی اجرا خواهد شد\&. می‌توان از آن برای راه‌اندازی رابط شبکه مربوطه استفاده کرد\&. .It Pa /etc/tinc/ Ns Ar NETNAME Ns Pa /tinc-down اگر پرونده‌ای قابل اجرا با این نام وجود داشته باشد، درست قبل از اینکه دیمن tinc اتصال خود را به دستگاه شبکه مجازی ببندد اجرا خواهد شد\&. .El .Sh "همچنین ببینید (SEE ALSO)" .Xr tincd 8 , .Pa https://www.tinc-vpn.org , .Pa http://www.tldp.org/LDP/nag2 \&. .Pp مستندات کامل .Nm tinc به صورت یک راهنمای Texinfo نگهداری می‌شود\&. اگر برنامه‌های info و tinc به درستی در سیستم شما نصب شده باشند، دستور .Ic info tinc باید دسترسی به راهنمای کامل را برای شما فراهم کند\&. .Pp نرم‌افزار .Nm tinc کاملاً بدون هیچ‌گونه ضمانتی ارائه می‌شود\&. این یک نرم‌افزار آزاد است و شما مجاز به توزیع مجدد آن تحت شرایط خاصی هستید؛ برای جزئیات به پرونده COPYING مراجعه فرمایید\&.