.TH STRONGSWAN.CONF 5 "" "6.1.0" "strongSwan" .SH نام strongswan.conf \- پرونده پیکربندی strongSwan .SH شرح در حالی که پرونده پیکربندی .IR ipsec.conf (5) برای تعریف پارامترهای پیکربندی مرتبط با IPsec بسیار مناسب است، اما خواندن گزینه‌ها از این پرونده برای سایر برنامه‌های strongSwan کاربردی نیست. تجزیه (parse) این پرونده دشوار است و تنها .I ipsec starter قادر به انجام آن است. با رشد مداوم شمار مؤلفه‌های پروژه strongSwan، به پرونده پیکربندی انعطاف‌پذیرتری نیاز بود؛ پرونده‌ای که گسترش آن آسان باشد و همه مؤلفه‌ها بتوانند از آن استفاده کنند. از نسخه 4.2.1 نرم‌افزار strongSwan پرونده .IR strongswan.conf (5) معرفی شد که این نیازمندی‌ها را برآورده می‌سازد. .SH نحو قالب پرونده strongswan.conf از .B بخش‌های سلسله‌مراتبی و فهرستی از .B جفت‌های کلید/مقدار در هر بخش تشکیل شده است. هر بخش دارای یک نام است که به دنبال آن براکت‌های مجعد به سبک زبان C بدنه بخش را مشخص می‌کنند. بدنه هر بخش شامل مجموعه‌ای از زیربخش‌ها و جفت‌های کلید/مقدار است: .PP .EX settings := (section|keyvalue)* section := name { settings } keyvalue := key = value\\n .EE .PP مقادیر باید با یک خط جدید خاتمه یابند. .PP کامنت‌گذاری با استفاده از نویسه \fB#\fP امکان‌پذیر است. .PP نام بخش‌ها و کلیدها می‌توانند شامل هر نویسه قابل چاپی باشند به جز: .PP .EX . , : { } = " # \\n \\t space .EE .PP یک پرونده نمونه در این قالب می‌تواند به این صورت باشد: .PP .EX a = b section-one { somevalue = asdf subsection { othervalue = xxx } # yei, a comment yetanother = zz } section-two { x = 12 } .EE .PP دندانه‌گذاری (تورفتگی) اختیاری است؛ می‌توانید از نویسه تب یا فاصله استفاده کنید. .SH قالب‌های اعداد گزینه‌هایی که یک مقدار عددی صحیح را مشخص می‌کنند می‌توانند به صورت ده‌دهی (پیش‌فرض) یا شانزده‌شانزدهی (پیشوند "0x"، حروف کوچک یا بزرگ پذیرفته می‌شوند) تعیین گردند. رشته‌های وابسته به محلی‌سازی (locale) (مانند جداکننده هزارگان در محلی‌سازی جاری) نیز ممکن است در محلی‌سازی‌هایی غیر از "C" پذیرفته شوند. .PP گزینه‌هایی که یک مقدار ممیز شناور را مشخص می‌کنند می‌توانند به صورت ده‌دهی (پیش‌فرض) یا شانزده‌شانزدهی (پیشوند "0x"، حروف کوچک یا بزرگ پذیرفته می‌شوند) تعیین گردند. نویسه رادیکس (جداکننده اعشار) در هر دو حالت به محلی‌سازی وابسته است که معمولاً "." می‌باشد. .SH قالب‌های زمان مگر در مواردی که خلاف آن ذکر شده باشد، گزینه‌هایی که زمان را مشخص می‌کنند بر حسب ثانیه تعریف می‌شوند. پسوندهای "s"، "m"، "h" و "d" می‌توانند برای تبدیل خودکار مقادیر داده‌شده بر حسب ثانیه، دقیقه، ساعت یا روز به کار روند (برای نمونه، به جای پیکربندی زمان ایجاد کلید مجدد به میزان ۴ ساعت به صورت "14400" ثانیه، می‌توان از "4h" استفاده کرد). .PP برخی گزینه‌های سراسری وجود دارند که این پسوندها را نمی‌پذیرند زیرا به صورت مقادیر صحیح بر حسب ثانیه یا میلی‌ثانیه یا حتی به صورت اعداد ممیز شناور پیکربندی می‌شوند (مانند مهلت زمانی ارسال مجدد). گزینه‌هایی که این پسوندها را می‌پذیرند دارای یک مقدار پیش‌فرض متناظر هستند. .SH ارجاع به بخش‌های دیگر ارث‌بری تنظیمات و بخش‌ها از بخشی دیگر امکان‌پذیر است. این قابلیت عمدتاً در swanctl.conf (که از همین قالب پرونده استفاده می‌کند) کاربرد دارد. نحو آن به شرح زیر است: .PP .EX section := name : references { settings } references := absname[, absname]* absname := name[.name]* .EE .PP تمام جفت‌های کلید/مقدار و تمام زیربخش‌های بخش‌های مرجع توسط بخشی که با نام مطلق به آن‌ها ارجاع می‌دهد به ارث برده می‌شوند. مقادیر می‌توانند در همان بخش یا هر یک از زیربخش‌های آن بازنویسی شوند (از یک انتساب خالی برای پاک کردن یک مقدار استفاده کنید تا در صورت وجود، مقدار پیش‌فرض آن اعمال شود). در حال حاضر محدود کردن سطح گنجاندن یا پاک کردن/حذف زیربخش‌های به ارث رسیده امکان‌پذیر نیست. اگر ترتیب اهمیت داشته باشد (مثلاً برای دورهای احراز هویت در یک اتصال، چنانچه از \fIround\fR استفاده نشود)، باید توجه داشت که تنظیمات/بخش‌های موروثی پس از موارد تعریف‌شده در بخش فعلی قرار خواهند گرفت (اگر به چند بخش ارجاع داده شود، تنظیمات آن‌ها از چپ به راست شمارش می‌شوند). ارجاع‌ها در زمان اجرا به صورت پویا ارزیابی می‌شوند، بنابراین ارجاع به بخش‌هایی که در ادامه پرونده پیکربندی آمده‌اند یا از طریق پرونده‌های دیگر گنجانده شده‌اند، مشکلی ندارد. نمونه‌ای از نحوه نگارش این ساختار در زیر آمده است: .PP .EX conn-defaults { # default settings for all conns (e.g. a cert, or IP pools) } eap-defaults { # defaults if eap is used (e.g. a remote auth round) } child-defaults { # defaults for child configs (e.g. traffic selectors) } connections { conn-a : conn-defaults, eap-defaults { # set/override stuff specific to this connection children { child-a : child-defaults { # set/override stuff specific to this child } } } conn-b : conn-defaults { # set/override stuff specific to this connection children { child-b : child-defaults { # set/override stuff specific to this child } } } conn-c : connections.conn-a { # everything is inherited, including everything conn-a # already inherits from the sections it and its # sub-section reference } } .EE .PP .SH گنجاندن پرونده‌ها با استفاده از دستور .B include می‌توان سایر پرونده‌ها را در strongswan.conf گنجاند، برای نمونه: .PP .EX include /some/path/*.conf .EE .PP اگر نام پرونده یک مسیر مطلق نباشد، نسبت به پوشه پرونده‌ای که دستور include در آن قرار دارد سنجیده می‌شود. نام پرونده می‌تواند شامل نویسه‌های عام پوسته (نگاه کنید به .IR sh (1)) باشد. همچنین این گنجاندن‌ها می‌توانند به صورت تودرتو باشند. .PP بخش‌های بارگذاری‌شده از پرونده‌های گنجانده‌شده، بخش‌های قبلاً بارگذاری‌شده را .I گسترش می‌دهند؛ مقادیر موجود از قبل .IR جایگزین می‌شوند . توجه به این نکته مهم است که تنظیمات نسبت به بخشی که دستور include در آن قرار دارد اضافه می‌شوند. .PP به عنوان نمونه، سه پرونده زیر به همان پیکربندی نهایی ذکرشده در بالا منتهی می‌شوند: .PP .EX a = b section-one { somevalue = before include include include.conf } include other.conf include.conf: # settings loaded from this file are added to section-one # the following replaces the previous value somevalue = asdf subsection { othervalue = yyy } yetanother = zz other.conf: # this extends section-one and subsection section-one { subsection { # this replaces the previous value othervalue = xxx } } section-two { x = 12 } .EE .SH خواندن مقادیر دسترسی به مقادیر با استفاده از فهرستی از بخش‌ها که با نقطه از هم جدا شده‌اند و یک کلید انجام می‌شود. با توجه به نمونه بالا، دسترسی به .B section-one.subsection.othervalue مقدار .BR xxx را برمی‌گرداند. .SH کلیدهای تعریف‌شده کلیدهای زیر در حال حاضر تعریف شده‌اند (با استفاده از نشانه‌گذاری نقطه‌ای). مقدار پیش‌فرض (در صورت وجود) در داخل براکت پس از کلید آورده شده است. .TP .BR aikgen.load " []" پلاگین‌هایی که باید در ابزار ipsec aikgen بارگذاری شوند. .TP .BR attest.database " []" شناسه یکپارچه منابع (URI) پایگاه داده اطلاعات اندازه‌گیری پرونده. اگر این شناسه حاوی گذرواژه است، مطمئن شوید که مجوزهای پرونده پیکربندی را متناسب با آن تنظیم کرده‌اید. .TP .BR attest.load " []" پلاگین‌هایی که باید در ابزار ipsec attest بارگذاری شوند. .TP .B charon .br گزینه‌های مربوط به دیمن IKE به نام charon. .RB "" "نکته" ":" بسیاری از گزینه‌های این بخش برای .RB "" "charon\-cmd" "" و سایر مشتقات .RB "" "charon" "" نیز اعمال می‌شوند. کافی است از نام مربوط به آن‌ها استفاده کنید (مثلاً .RB "" "charon\-cmd" "" به جای .RB "" "charon" ")." برای بسیاری از گزینه‌ها می‌توان مقادیر پیش‌فرض را در بخش .RB "" "libstrongswan" "" تعریف کرد. .TP .BR charon.accept_private_algs " [no]" نقض عمدی الزامات استاندارد IKE و اجازه استفاده از شناسه‌های الگوریتم خصوصی، حتی در صورتی که پیاده‌سازی طرف مقابل ناشناخته باشد. .TP .BR charon.accept_unencrypted_mainmode_messages " [no]" پذیرش بار داده‌های (payloads) رمزنگاری‌نشده ID و HASH در حالت اصلی (Main Mode) پروتکل IKEv1. برخی پیاده‌سازی‌ها پیام سوم Main Mode را به صورت رمزنگاری‌نشده ارسال می‌کنند، احتمالاً برای یافتن PSKهای متناظر با ID مشخص‌شده به منظور احراز هویت. این رفتار بسیار شبیه به Aggressive Mode است و پیامدهای امنیتی مشابهی دارد: یک مهاجم غیرفعال (شنودکننده) می‌تواند هویت مذاکره‌شده را شنود کرده و با استفاده از بار داده HASH، حمله جستجوی فراگیر (brute force) را روی PSK آغاز کند. توصیه می‌شود این گزینه روی no باقی بماند، مگر اینکه دقیقاً از پیامدهای آن آگاه باشید و به سازگاری با چنین دستگاه‌هایی (برای نمونه، برخی دستگاه‌های SonicWall) نیاز داشته باشید. .TP .BR charon.block_threshold " [5]" حداکثر تعداد IKE_SAهای نیمه‌باز (شامل IKE_SA_INITهای پردازش‌نشده) برای یک IP طرف مقابل. .TP .BR charon.cache_crls " [no]" اینکه آیا فهرست‌های ابطال گواهی (CRLها) که از طریق HTTP یا LDAP دریافت شده‌اند باید با یک نام پرونده یکتا مشتق‌شده از کلید عمومی مرجع صدور گواهی (CA) به ترتیب در .RB "" "${sysconfdir}/ipsec.d/crls" "" (stroke) یا .RB "" "${sysconfdir}/swanctl/x509crl" "" (vici) ذخیره شوند یا خیر. .TP .BR charon.cert_cache " [yes]" اینکه آیا روابط در زنجیره‌های گواهی معتبر باید در حافظه موقت (کَش) ذخیره شوند یا خیر. .TP .BR charon.check_current_path " [no]" به طور پیش‌فرض، پس از تشخیص هرگونه تغییر در رابط‌ها و/یا نشانی‌ها، در صورتی که مسیر جاری به سمت طرف مقابل همچنان قابل استفاده به نظر برسد هیچ اقدامی صورت نمی‌گیرد. فعال کردن این گزینه از DPD استفاده خواهد کرد تا بررسی کند آیا مسیر واقعاً هنوز کار می‌کند یا اینکه مثلاً طرف مقابل پس از یک قطعی طولانی‌مدت ارتباط وضعیت را حذف کرده است یا خیر. همچنین اگر نگاشت‌های NAT در زمان قطعی حذف شده باشند، یک به‌روزرسانی MOBIKE را راه‌اندازی می‌کند. .TP .BR charon.cisco_flexvpn " [no]" ارسال بار داده شناسه ارائه‌دهنده (Vendor ID) مربوط به Cisco FlexVPN، که برای الزام دستگاه‌های برند Cisco به منظور اجازه مذاکره برای یک انتخاب‌گر ترافیک (Traffic Selector) محلی (از دید strongSwan) که آدرس IP مجازی اختصاص‌یافته نباشد، در صورتی که چنین آدرسی توسط strongSwan درخواست شده باشد، مورد نیاز است. ارسال شناسه Cisco FlexVPN مانع از آن می‌شود که طرف مقابل انتخاب‌گر ترافیک محلی آغازگر (initiator) را محدود کند و به آن اجازه می‌دهد به عنوان مثال برای یک TS با مقدار 0.0.0.0/0 == 0.0.0.0/0 مذاکره کند. این قابلیت با قالب Cisco تحت عنوان "tunnel mode ipsec ipv4" آزمایش شده است اما برای کپسوله‌سازی GRE نیز باید کار کند. .TP .BR charon.cisco_unity " [no]" ارسال بار داده شناسه سازنده Cisco Unity (فقط IKEv1). .TP .BR charon.close_ike_on_child_failure " [no]" بستن IKE_SA در صورت شکست در راه‌اندازی CHILD_SA به همراه IKE_AUTH. .TP .BR charon.cookie_threshold " [30]" تعداد IKE_SAهای نیمه‌باز (شامل IKE_SA_INITهای پردازش‌نشده) که مکانیزم کوکی را فعال می‌کنند. .TP .BR charon.cookie_threshold_ip " [3]" تعداد IKE_SAهای نیمه‌باز (شامل IKE_SA_INITهای پردازش‌نشده) برای یک IP طرف مقابل که مکانیزم کوکی را فعال می‌کنند. .TP .BR charon.crypto_test.bench " [no]" سنجش کارایی (بنچمارک) الگوریتم‌های رمزنگاری و مرتب‌سازی آن‌ها بر اساس کارایی. .TP .BR charon.crypto_test.bench_size " [1024]" اندازه بافر استفاده‌شده برای بنچمارک رمزنگاری. .TP .BR charon.crypto_test.bench_time " [50]" مدت زمان بر حسب میلی‌ثانیه که طی آن کارایی الگوریتم رمزنگاری سنجیده می‌شود. .TP .BR charon.crypto_test.on_add " [no]" آزمایش الگوریتم‌های رمزنگاری در هنگام ثبت (نیازمند بردارهای آزمایشی ارائه‌شده توسط پلاگین .RI "" "test\-vectors" "" است). .TP .BR charon.crypto_test.on_create " [no]" آزمایش الگوریتم‌های رمزنگاری در هر بار نمونه‌سازی از توابع اولیه رمزنگاری. .TP .BR charon.crypto_test.required " [no]" الزام اکید به وجود حداقل یک بردار آزمایشی جهت فعال‌سازی یک الگوریتم. .TP .BR charon.crypto_test.rng_true " [no]" اینکه آیا RNG با کیفیت واقعی (TRUE) آزمایش شود یا خیر؛ نیازمند انتروپی زیادی است. .TP .BR charon.delete_rekeyed " [no]" حذف CHILD_SAها بلافاصله پس از ایجاد موفقیت‌آمیز کلید مجدد آن‌ها (فقط IKEv1). شمار CHILD_SAهای کهنه را در سناریوهایی با ایجاد کلید مجدد مکرر کاهش می‌دهد. با این حال، ممکن است در پیاده‌سازی‌هایی که به استفاده از SAهای مجدداً کلیدگذاری‌شده تا زمان انقضای آن‌ها ادامه می‌دهند، مشکلاتی ایجاد کند. .TP .BR charon.delete_rekeyed_delay " [5]" تأخیر بر حسب ثانیه تا زمان حذف IPsec SAهای ورودی پس از ایجاد کلید مجدد (فقط IKEv2). برای پردازش بسته‌های با تأخیر، بخش ورودی یک CHILD_SA تا تعداد ثانیه‌های پیکربندی‌شده پس از جایگزین شدن در حین کلیدگذاری مجدد، نصب‌شده باقی می‌ماند. در صورت تنظیم روی 0، CHILD_SA تا زمان انقضا نصب‌شده می‌ماند (اگر طول عمری تنظیم نشده باشد، بلافاصله نابود می‌شود). .TP .BR charon.dh_exponent_ansi_x9_42 " [yes]" استفاده از اندازه توان DH طبق ANSI X9.42 یا اندازه بهینه متناسب با قدرت رمزنگاری. .TP .BR charon.dlopen_use_rtld_now " [no]" استفاده از RTLD_NOW با dlopen در هنگام بارگذاری پلاگین‌ها و IMV/IMCها برای آشکار شدن فوری نمادهای ناموجود. .TP .BR charon.dns1 " []" سرور DNS اختصاص‌یافته به طرف مقابل از طریق بار داده پیکربندی (CP). .TP .BR charon.dns2 " []" سرور DNS اختصاص‌یافته به طرف مقابل از طریق بار داده پیکربندی (CP). .TP .BR charon.dos_protection " [yes]" فعال‌سازی محافظت در برابر حمله محروم‌سازی از سرویس (DoS) با استفاده از کوکی‌ها و بررسی‌های میزان تهاجم. .TP .B charon.filelog .br بخش تعریف لاگرهای پرونده‌ای، نگاه کنید به LOGGER CONFIGURATION در .RB "" "strongswan.conf" "(5)." .TP .B charon.filelog. .br مقدار در صورتی که فقط شامل نویسه‌های مجاز در نام بخش‌ها باشد، می‌تواند مسیر کامل پرونده لاگ باشد. اگر .RI "" "path" "" مشخص شده باشد، نادیده گرفته می‌شود. .TP .BR charon.filelog.. " []" سطح لاگ برای یک زیرسیستم خاص. .TP .BR charon.filelog..append " [yes]" اگر این گزینه فعال باشد، ورودی‌های لاگ به انتهای پرونده موجود افزوده می‌شوند. .TP .BR charon.filelog..default " [1]" سطح لاگ پیش‌فرضی را مشخص می‌کند که برای زیرسیستم‌هایی که سطح لاگ خاصی برای آن‌ها تعریف نشده، استفاده می‌شود. .TP .BR charon.filelog..flush_line " [no]" فعال کردن این گزینه بافرینگ بلوکی را غیرفعال کرده و بافرینگ خطی را فعال می‌سازد. .TP .BR charon.filelog..ike_name " [no]" افزودن نام اتصال و یک شناسه عددی یکتا برای IKE_SA جاری به هر ورودی لاگ در صورت موجود بودن. .TP .BR charon.filelog..json " [no]" نوشتن هر ورودی لاگ به عنوان یک شیء JSON در پرونده را فعال می‌کند. مشخصه‌ها عبارتند از "time" (اگر `time_format` تنظیم شده باشد)، "thread"، "group"، "level" و "msg". در مورد آخر خط‌های جدید، نقل‌قول‌های دوتایی و بک‌اسلش‌ها فراردهی (escape) می‌شوند. در صورت فعال بودن `ike_name`، فیلدهای "ikesa\-uniqueid" و "ikesa\-name" در صورت موجود بودن به شیء اضافه می‌شوند. در صورت فعال بودن این حالت، گزینه `log_level` اعمال نمی‌شود. .TP .BR charon.filelog..log_level " [no]" افزودن سطح لاگ هر پیام پس از نام زیرسیستم (مثلاً [IKE2]). .TP .BR charon.filelog..path " []" مسیر اختیاری به پرونده لاگ. نام بخش را بازنویسی می‌کند. در صورتی که مسیر شامل نویسه‌های غیرمجاز در نام بخش‌ها باشد باید استفاده شود. .TP .BR charon.filelog..time_format " []" پیشوندگذاری هر ورودی لاگ با برچسب زمان. این گزینه رشته قالبی را می‌پذیرد که به .RB "" "strftime" "(3)" ارسال می‌شود. .TP .BR charon.filelog..time_precision " []" افزودن میلی‌ثانیه .RI "(" "ms" ")" یا میکروثانیه .RI "(" "us" ")" در ثانیه جاری پس از برچسب زمان (که با نقطه جدا می‌شوند، بنابراین .RI "" "time_format" "" باید با %S یا %T خاتمه یابد). به طور پیش‌فرض، چیزی اضافه نمی‌شود. .TP .BR charon.flush_auth_cfg " [no]" در صورت فعال بودن، اشیای استفاده‌شده در حین احراز هویت (گواهی‌ها، هویت‌ها و غیره) پس از برقراری IKE_SA جهت آزادسازی حافظه رها می‌شوند. فعال‌سازی این مورد ممکن است با پلاگین‌هایی که بعداً به مواردی چون گواهی‌های استفاده‌شده نیاز دارند تداخل ایجاد کند. .TP .BR charon.follow_redirects " [yes]" اینکه آیا تغییرمسیرهای (redirects) مربوط به IKEv2 طبق RFC 5685 دنبال شوند یا خیر. .TP .BR charon.force_eap_only_authentication " [no]" نقض استاندارد RFC 5998 و استفاده از احراز هویت مبتنی بر فقط EAP، حتی اگر طرف مقابل اعلان EAP_ONLY_AUTHENTICATION را در جریان IKE_AUTH ارسال نکرده باشد. .TP .BR charon.fragment_size " [1280]" حداکثر اندازه (اندازه کامل دیتاگرام IP بر حسب بایت) یک تکه (fragment) ارسالی IKE هنگام استفاده از قطعه‌بندی اختصاصی IKEv1 یا قطعه‌بندی استانداردشده IKEv2؛ پیش‌فرض 1280 است (مقدار 0 را برای مقادیر پیش‌فرض ویژه هر خانواده آدرس به کار ببرید که برای IPv4 از مقدار کمتری استفاده می‌کند). در صورت تعیین، مگر اینکه بازنویسی شود، این حد برای هر دو پروتکل IPv4 و IPv6 استفاده می‌شود. .TP .BR charon.fragment_size_v4 " [charon.fragment_size]" حداکثر اندازه (اندازه کامل دیتاگرام IPv4 بر حسب بایت) یک تکه ارسالی IKE هنگام استفاده از قطعه‌بندی اختصاصی IKEv1 یا قطعه‌بندی استانداردشده IKEv2. .TP .BR charon.fragment_size_v6 " [charon.fragment_size]" حداکثر اندازه (اندازه کامل دیتاگرام IPv6 بر حسب بایت) یک تکه ارسالی IKE هنگام استفاده از قطعه‌بندی اختصاصی IKEv1 یا قطعه‌بندی استانداردشده IKEv2. .TP .BR charon.group " []" نام گروهی که دیمن پس از راه‌اندازی به آن تغییر وضعیت می‌دهد. .TP .BR charon.half_open_timeout " [30]" مهلت زمانی بر حسب ثانیه برای اتصالات IKE_SA (همچنین نگاه کنید به IKE_SA_INIT DROPPING). .TP .BR charon.hash_and_url " [no]" فعال‌سازی پشتیبانی از هش و نشانی اینترنتی (Hash and URL). .TP .BR charon.host_resolver.max_threads " [3]" حداکثر تعداد رشته‌های (threads) هم‌روند تحلیل‌گر نام میزبان (در صورت عدم استفاده خاتمه می‌یابند). .TP .BR charon.host_resolver.min_threads " [0]" حداقل تعداد رشته‌های تحلیل‌گر که باید فعال نگه داشته شوند. .TP .BR charon.i_dont_care_about_security_and_use_aggressive_mode_psk " [no]" در صورت فعال بودن، پاسخ‌دهندگان (responders) مجاز به استفاده از حالت تهاجمی (Aggressive Mode) پروتکل IKEv1 با کلیدهای از پیش به‌اشتراک‌گذاشته‌شده (PSK) هستند؛ امری که به دلایل امنیتی توصیه نمی‌شود (حملات آفلاین روی هش فاش‌شده PSK که به صورت رمزنگاری‌نشده منتقل می‌شود). .TP .BR charon.ignore_acquire_ts " [no]" در صورت غیرفعال بودن، انتخاب‌گرهای ترافیک حاصل از رویدادهای acquire هسته سیستم‌عامل (که از بسته محرک مشتق شده‌اند) به ابتدای انتخاب‌گرهای ترافیک حاصل از پیکربندی اتصال IKEv2 اضافه می‌شوند. با فعال کردن این گزینه، این انتخاب‌گرهای ترافیک خاص نادیده گرفته شده و تنها موارد موجود در پیکربندی ارسال خواهند شد. این اتفاق همواره برای اتصالات IKEv1 رخ می‌دهد زیرا این پروتکل تنها از یک مجموعه انتخاب‌گر ترافیک در هر CHILD_SA پشتیبانی می‌کند. .TP .BR charon.ignore_routing_tables " []" فهرستی از جدول‌های مسیریابی (جداشده با فاصله) که باید از جستجوهای مسیر مستثنی شوند. .TP .BR charon.ikesa_limit " [0]" حداکثر تعداد IKE_SAهایی که می‌توانند به طور هم‌زمان برقرار باشند، پیش از آنکه تلاش‌ها برای اتصالات جدید مسدود شوند. .TP .BR charon.ikesa_table_segments " [1]" تعداد بخش‌های دارای قفل انحصاری در جدول هش. .TP .BR charon.ikesa_table_size " [1]" اندازه جدول هش IKE_SA. .TP .B charon.imcv .br مقادیر پیش‌فرض برای گزینه‌های این بخش را می‌توان در بخش .RI "" "libimcv" "" پیکربندی کرد. .TP .BR charon.imcv.assessment_result " [yes]" اینکه آیا IMVها صفت استاندارد Assessment Result طبق IETF را ارسال کنند یا خیر. .TP .BR charon.imcv.database " []" شناسه یکپارچه منابع (URI) پایگاه داده سراسری خط‌مشی IMV. اگر حاوی گذرواژه است، مطمئن شوید که مجوزهای پرونده پیکربندی را متناسب با آن تنظیم کرده‌اید. .TP .BR charon.imcv.os_info.default_password_enabled " [no]" تنظیم دستی اینکه آیا گذرواژه پیش‌فرض فعال است یا خیر. .TP .BR charon.imcv.os_info.name " []" تنظیم دستی نام سیستم‌عامل کلاینت (مثلاً Ubuntu). .TP .BR charon.imcv.os_info.version " []" تنظیم دستی نسخه سیستم‌عامل کلاینت (مثلاً 12.04 i686). .TP .BR charon.imcv.policy_script " [ipsec _imv_policy]" اسکریپتی که برای هر اتصال TNC جهت تولید خط‌مشی‌های IMV فراخوانی می‌شود. .TP .BR charon.inactivity_close_ike " [no]" اینکه آیا در صورت بسته شدن تنها CHILD_SA به دلیل عدم فعالیت، IKE_SA نیز بسته شود یا خیر. .TP .BR charon.init_limit_half_open " [0]" محدود کردن اتصالات جدید بر اساس تعداد فعلی IKE_SAهای نیمه‌باز؛ نگاه کنید به IKE_SA_INIT DROPPING در .RB "" "strongswan.conf" "(5)." .TP .BR charon.init_limit_job_load " [0]" محدود کردن اتصالات جدید بر اساس تعداد کارهای در صف پردازش (نگاه کنید به IKE_SA_INIT DROPPING). .TP .BR charon.initiator_only " [no]" باعث می‌شود دیمن charon درخواست‌های آغاز اتصال IKE را نادیده بگیرد. .TP .BR charon.install_routes " [yes]" نصب مسیرها در یک جدول مسیریابی جداگانه برای تونل‌های برقرارشده IPsec. .TP .BR charon.install_virtual_ip " [yes]" نصب نشانی‌های IP مجازی. .TP .BR charon.install_virtual_ip_on " []" نام رابط شبکه‌ای که نشانی‌های IP مجازی باید روی آن نصب شوند. در صورت عدم تعیین، نشانی‌ها روی رابط خروجی نصب خواهند شد. .TP .BR charon.integrity_test " [no]" بررسی یکپارچگی دیمن، libstrongswan و پلاگین‌ها در هنگام راه‌اندازی. .TP .BR charon.interfaces_ignore " []" فهرستی از رابط‌های شبکه (جداشده با کاما) که باید نادیده گرفته شوند؛ اگر .RB "" "interfaces_use" "" تعیین شده باشد، این گزینه اثری ندارد. .TP .BR charon.interfaces_use " []" فهرستی از رابط‌های شبکه (جداشده با کاما) که باید توسط charon استفاده شوند. تمامی رابط‌های دیگر نادیده گرفته می‌شوند. .TP .B charon.iptfs .br تنظیمات سراسری برای پروتکل IP\-TFS (استاندارد RFC 9347). هسته لینوکس از نسخه 6.14 از این حالت پشتیبانی می‌کند. با این حال، در حال حاضر تنها از تجمیع/قطعه‌بندی بسته‌های IP تونل‌شده در بسته‌های ESP/AGGFRAG پشتیبانی می‌نماید و هنوز از سایر قابلیت‌های IP\-TFS نظیر ارسال بسته‌ها با نرخ ثابت یا کنترل ازدحام پشتیبانی نمی‌کند. .TP .BR charon.iptfs.accept_fragments " [yes]" اینکه آیا قطعات بسته‌های داخلی در میان چند بار داده AGGFRAG پذیرفته شوند یا خیر. این یک گزینه IKEv2 است، بنابراین اگر طرف مقابل از این درخواست پیروی نکند و همچنان چنین قطعاتی را ارسال کند، توسط هسته پردازش خواهند شد. .TP .BR charon.iptfs.dont_frag " [no]" غیرفعال‌سازی اجباری قطعه‌بندی بسته‌های داخلی در میان چند بار داده AGGFRAG هنگام ارسال ترافیک خروجی (در صورتی که طرف مقابل اعلام کند از پردازش چنین بسته‌هایی پشتیبانی نمی‌کند، قطعه‌بندی به طور خودکار غیرفعال می‌شود). .TP .BR charon.iptfs.drop_time " [1000000]" مدت زمان انتظار بر حسب میکروثانیه برای بسته‌های نامرتب هنگام پردازش ترافیک ورودی. .TP .BR charon.iptfs.init_delay " [0]" مدت زمان انتظار بر حسب میکروثانیه برای بسته‌های بعدی جهت تجمیع با یکدیگر هنگام ارسال ترافیک خروجی. تنها زمانی مرتبط است که هیچ بسته‌ای از قبل برای ارسال در صف قرار نگرفته باشد. .TP .BR charon.iptfs.max_queue_size " [1048576]" حداکثر بایت‌های مجاز برای قرارگیری در صف ارسال روی تونل (پیش‌فرض 1 مبی‌بایت). اگر صف پر باشد، بسته‌ها دور ریخته می‌شوند. .TP .BR charon.iptfs.packet_size " [0]" حداکثر اندازه بسته بیرونی (لایه ۳) هنگام ارسال بسته‌ها. مقدار پیش‌فرض 0 از PMTU به عنوان اندازه بسته استفاده خواهد کرد. توجه داشته باشید که هسته در حال حاضر بسته‌های کوچک‌تر را پر (pad) نمی‌کند. .TP .BR charon.iptfs.reorder_window " [3]" تعداد بسته‌هایی که می‌توانند هنگام پردازش ترافیک ورودی بدون ترتیب وارد شوند. .TP .BR charon.keep_alive " [20s]" بازه زمانی زنده نگه‌داشتن ارتباط NAT (Keep-alive). .TP .BR charon.keep_alive_dpd_margin " [0s]" تعداد ثانیه‌هایی که بازه زنده نگه‌داشتن می‌تواند از حد مجاز فراتر رود پیش از آنکه به جای پیام زنده نگه‌داشتن NAT، یک پیام DPD ارسال شود (0 برای غیرفعال‌سازی). این گزینه تنها زمانی کاربرد دارد که از ساعتی استفاده شود که زمان صرف‌شده در حالت تعلیق را نیز در بر می‌گیرد (مانند CLOCK_BOOTTIME). .TP .BR charon.leak_detective.detailed " [yes]" شامل کردن نام پرونده‌های منبع و شماره خطوط در خروجی ردیاب نشتی حافظه (leak detective). .TP .BR charon.leak_detective.usage_threshold " [10240]" آستانه بر حسب بایت برای تخصیص‌های حافظه جهت گنجانده شدن در گزارش‌های مصرف (0 برای گنجاندن همه). .TP .BR charon.leak_detective.usage_threshold_count " [0]" آستانه بر حسب تعداد دفعات تخصیص برای گنجانده شدن در گزارش‌های مصرف (0 برای گنجاندن همه). .TP .BR charon.load " []" پلاگین‌هایی که باید در دیمن IKE به نام charon بارگذاری شوند. .TP .BR charon.load_modular " [no]" در صورت فعال بودن، فهرست پلاگین‌ها برای بارگذاری بر اساس مقدار گزینه‌های .RI "" "charon.plugins..load" "" تعیین می‌شود. افزون بر یک پرچم بولی ساده، این گزینه می‌تواند یک مقدار عددی صحیح را به عنوان اولویت پلاگین بپذیرد که بر ترتیب پلاگین در فهرست پلاگین‌ها تأثیر می‌گذارد (پیش‌فرض 1 است). اگر دو پلاگین اولویت یکسانی داشته باشند، ترتیب آن‌ها در فهرست پیش‌فرض پلاگین‌ها حفظ می‌شود. پلاگین‌های فعال‌شده‌ای که در آن فهرست یافت نشوند، پیش از سایر پلاگین‌های با اولویت مشابه به ترتیب الفبایی مرتب می‌شوند. .TP .BR charon.make_before_break " [yes]" آغاز احراز هویت مجدد در IKEv2 با طرح «ایجاد پیش از قطع» (make-before-break) به جای طرح «قطع پیش از ایجاد» (break-before-make). طرح ایجاد پیش از قطع، با بازسازی کلیه SAهای جدید پیش از حذف موارد قدیمی، از هم‌پوشانی IKE و CHILD_SA در طول احراز هویت مجدد استفاده می‌کند. این رفتار می‌تواند برای جلوگیری از قطعی اتصال حین احراز هویت مجدد سودمند باشد، اما نیازمند پشتیبانی طرف مقابل از SAهای هم‌پوشان است. strongSwan از نسخه 5.3.0 قادر به مدیریت چنین SAهای هم‌پوشانی می‌باشد. .TP .BR charon.max_ikev1_exchanges " [3]" حداکثر تعداد تبادلات فاز ۲ پروتکل IKEv1 در هر IKE_SA که وضعیت آن‌ها به طور هم‌روند نگهداری و پیگیری می‌شود. .TP .BR charon.max_packet " [10000]" حداکثر اندازه بسته پذیرفته‌شده توسط charon. .TP .BR charon.multiple_authentication " [yes]" فعال‌سازی تبادلات چندگانه احراز هویت (RFC 4739). .TP .BR charon.nbns1 " []" سرورهای WINS اختصاص‌یافته به طرف مقابل از طریق بار داده پیکربندی (CP). .TP .BR charon.nbns2 " []" سرورهای WINS اختصاص‌یافته به طرف مقابل از طریق بار داده پیکربندی (CP). .TP .BR charon.ocsp_nonce_len " [32]" طول نانس‌ها (nonces) در درخواست‌های OCSP. طبق RFC 8954 مقادیر معتبر بین 1 تا 32 هستند، و کلاینت‌های جدید ملزم به استفاده از 32 می‌باشند. ممکن است برخی سرورها از آن پشتیبانی نکنند، بنابراین کاهش مقدار مثلاً به 16 ممکن است لازم باشد. .TP .BR charon.plugins.addrblock.depth " [-1]" استاندارد RFC3779 ایجاب می‌کند که تمام addrblockهای ادعاشده توسط یک گواهی باید در پسوند addrblock گواهی صادرکننده تا مرجع صدور ریشه (Root CA) وجود داشته باشند. تنظیم عمق پیش‌فرض روی \-1 این مورد را اعمال می‌کند. در عمل، ممکن است مراجع صدور گواهی شخص ثالث (ریشه) حاوی این پسوند نباشند و این امر باعث غیرقابل استفاده شدن پسوند addrblock در ذیل چنین Cهایی می‌شود. با محدود کردن عمق اعتبارسنجی، تنها سطح مشخصی از گواهی‌های صادرکننده برای وجود پسوندهای مناسب addrblock ارزیابی می‌شوند: عمق 0 هیچ‌یک از پسوندهای گواهی صادرکننده را بررسی نمی‌کند، عمق 1 تنها صادرکننده مستقیم گواهی نهاد نهایی را بررسی می‌کند، و به همین ترتیب. .TP .BR charon.plugins.addrblock.strict " [yes]" در صورت تنظیم روی yes، اگر گواهی صادرکننده دارای پسوند addrblock باشد، گواهی موضوع فاقد پسوند addrblock رد می‌شود. در صورت تنظیم روی no، گواهی‌های موضوع صادرشده بدون پسوند addrblock بدون هیچ‌گونه بررسی انتخاب‌گر ترافیک پذیرفته می‌شوند و هیچ خط‌مشی‌ای توسط پلاگین اعمال نمی‌شود. .TP .BR charon.plugins.android_log.loglevel " [1]" سطح لاگ برای ثبت رویدادها در لاگر ویژه اندروید. .TP .B charon.plugins.attr .br بخش تعیین ویژگی‌های دلخواهی که از طریق بار داده پیکربندی (CP) به طرف مقابل اختصاص داده می‌شوند. .TP .BR charon.plugins.attr. " []" مشخصه .RB "" "" "" می‌تواند یکی از موارد .RI "" "address" "،" .RI "" "netmask" "،" .RI "" "dns" "،" .RI "" "nbns" "،" .RI "" "dhcp" "،" .RI "" "subnet" "،" .RI "" "split\-include" "،" .RI "" "split\-exclude" "" یا شناسه عددی نوع صفت باشد. مقدار اختصاص‌یافته می‌تواند یک نشانی IPv4/IPv6، یک زیرشبکه با نمادگذاری CIDR یا بسته به نوع صفت یک مقدار دلخواه باشد. برای برخی انواع صفت‌ها می‌توان مقادیر چندگانه را به صورت فهرستی جداشده با کاما مشخص کرد. .TP .BR charon.plugins.attr-sql.crash_recovery " [yes]" آزادسازی تمام اجاره‌های آنلاین در حین راه‌اندازی. جهت اشتراک‌گذاری پایگاه داده بین چندین درگاه VPN این گزینه را غیرفعال کنید. .TP .BR charon.plugins.attr-sql.database " []" شناسه یکپارچه منابع (URI) پایگاه داده برای پلاگین attr\-sql مورد استفاده توسط charon. اگر حاوی گذرواژه است، مطمئن شوید که مجوزهای پرونده پیکربندی را متناسب با آن تنظیم کرده‌اید. .TP .BR charon.plugins.attr-sql.lease_history " [yes]" فعال‌سازی ثبت وقایع (لاگ) تاریخچه اجاره استخر IP در SQL. .TP .BR charon.plugins.botan.internal_rng_only " [no]" در صورت فعال بودن، تنها از RNG داخلی Botan در سراسر پلاگین استفاده خواهد شد. در غیر این صورت، و در صورت پشتیبانی Botan، از پیاده‌سازی‌های rng_t ارائه‌شده توسط سایر پلاگین‌های بارگذاری‌شده به عنوان RNG استفاده می‌شود. .TP .BR charon.plugins.botan.rng.strong " [user-threadsafe]" نام نمونه RNG در Botan جهت استفاده برای کیفیت‌های RNG_STRONG و RNG_WEAK (مانند user، user\-threadsafe یا system). .TP .BR charon.plugins.botan.rng.true " [system]" نام نمونه RNG در Botan جهت استفاده برای کیفیت RNG_TRUE (مانند user، user\-threadsafe یا system). .TP .BR charon.plugins.bypass-lan.interfaces_ignore " []" فهرستی از رابط‌های شبکه (جداشده با کاما) که زیرشبکه‌های متصل به آن‌ها باید نادیده گرفته شوند؛ اگر .RB "" "interfaces_use" "" تعیین شده باشد، این گزینه اثری ندارد. .TP .BR charon.plugins.bypass-lan.interfaces_use " []" فهرستی از رابط‌های شبکه (جداشده با کاما) که زیرشبکه‌های متصل به آن‌ها باید مد نظر قرار گیرند. تمامی رابط‌های دیگر نادیده گرفته می‌شوند. .TP .BR charon.plugins.certexpire.csv.cron " []" رشته‌ای به سبک cron برای تعیین زمان‌های صدور خروجی پرونده CSV. .TP .BR charon.plugins.certexpire.csv.empty_string " []" رشته‌ای که برای فیلدهای خالی CAهای میانی استفاده می‌شود. .TP .BR charon.plugins.certexpire.csv.fixed_fields " [yes]" استفاده از شمار فیلد ثابت برای CAهای میانی. .TP .BR charon.plugins.certexpire.csv.force " [yes]" اجبار به خروجی گرفتن از تمام زنجیره‌های اعتمادی که برای آن‌ها کلید خصوصی داریم. .TP .BR charon.plugins.certexpire.csv.format " [%d:%m:%Y]" رشته قالب .RB "" "strftime" "(3)" برای صدور تاریخ‌های انقضا. .TP .BR charon.plugins.certexpire.csv.local " []" رشته قالب .RB "" "strftime" "(3)" برای نام پرونده CSV جهت صدور گواهی‌های محلی. .TP .BR charon.plugins.certexpire.csv.remote " []" رشته قالب .RB "" "strftime" "(3)" برای نام پرونده CSV جهت صدور گواهی‌های طرف مقابل (remote). .TP .BR charon.plugins.certexpire.csv.separator " [,]" جداکننده فیلدهای CSV. .TP .BR charon.plugins.coupling.file " []" پرونده‌ای برای ذخیره فهرست جفت‌سازی (coupling). .TP .BR charon.plugins.coupling.hash " [sha1]" الگوریتم هش برای اثرانگشت‌گیری از گواهی‌های جفت‌شده. .TP .BR charon.plugins.coupling.max " [1]" حداکثر تعداد ورودی‌های جفت‌سازی برای ایجاد. .TP .BR charon.plugins.curl.redir " [-1]" حداکثر تعداد تغییرمسیرهایی که توسط پلاگین دنبال می‌شود؛ مقدار 0 برای غیرفعال کردن دنبال کردن تغییرمسیرها و مقدار \-1 برای حالت بدون محدودیت است. .TP .BR charon.plugins.curl.tls_backend " []" پک‌اند SSL/TLS جهت پیکربندی در curl در صورتی که چند مورد موجود باشد (نیازمند libcurl نسخه 7.56 یا جدیدتر است). در صورت عدم پیکربندی، فهرستی از گزینه‌های موجود در سطح لاگ 2 ثبت می‌شود. وضعیت مشابهی در سطح لاگ 1 رخ می‌دهد اگر بک‌اند انتخاب‌شده در دسترس نباشد. .TP .BR charon.plugins.dhcp.force_server_address " [no]" همواره از نشانی سرور پیکربندی‌شده استفاده شود. این مورد زمانی سودمند است که سرور DHCP روی همان میزبان strongSwan اجرا شود و دیمن DHCP روی رابط loopback گوش ندهد. در این حالت سرور از طریق unicast (یا حتی 255.255.255.255) قابل دسترسی نخواهد بود زیرا از طریق loopback مسیریابی می‌شود. تنظیم این گزینه روی yes و پیکربندی نشانی برودکست محلی (مثلاً 192.168.0.255) به عنوان نشانی سرور ممکن است کارساز باشد. .TP .BR charon.plugins.dhcp.identity_lease " [no]" مشتق کردن نشانی MAC تعریف‌شده توسط کاربر از هش هویت IKE و ارسال گزینه شناسه کلاینت در DHCP. .TP .BR charon.plugins.dhcp.interface " []" نام رابطی که پلاگین برای تخصیص نشانی استفاده می‌کند. حالت پیش‌فرض اتصال (bind) به هر نشانی (0.0.0.0) است و انتخاب نحوه مسیریابی بسته‌ها به سرور DHCP به عهده سیستم گذاشته می‌شود. .TP .BR charon.plugins.dhcp.interface_receive " [charon.plugins.dhcp.interface]" نام رابطی که پلاگین برای اتصال سوکت دریافت خود استفاده می‌کند. حالت پیش‌فرض استفاده از همان رابط سوکت ارسال است. آن را روی یک رشته خالی تنظیم کنید تا از اتصال سوکت دریافت به هر رابطی جلوگیری شود در حالی که سوکت ارسال به یک رابط متصل است. اگر سرور روی همان میزبان اجرا می‌شود و سوکت ارسال به یک رابط متصل است، ممکن است نیاز باشد این گزینه روی `lo` یا رشته خالی تنظیم شود. .TP .BR charon.plugins.dhcp.server " [255.255.255.255]" نشانی IP تک‌پخشی (unicast) یا همگانی (broadcast) سرور DHCP. .TP .BR charon.plugins.dhcp.use_server_port " [no]" استفاده از پورت سرور DHCP (67) به عنوان پورت مبدأ به جای پورت کلاینت DHCP (68)، هنگامی که یک نشانی سرور یونیکست پیکربندی شده و پلاگین به عنوان عامل رله (relay agent) عمل می‌کند. در هنگام پاسخ در این حالت، سرور DHCP بسته‌ها را همواره به پورت سرور DHCP ارسال می‌کند و اگر فرآیندی به این پورت متصل نباشد، پیام ICMP عدم دسترسی به پورت برگشت داده خواهد شد که این برای برخی سرورهای DHCP دردسرساز است. برای پیشگیری از این مسئله، فعال کردن این گزینه باعث می‌شود پلاگین پورت سرور DHCP را برای ارسال درخواست‌های خود در نقش عامل رله متصل (bind) کند. این کار اگر سرور DHCP از قبل روی همان میزبان اجرا شده باشد ضروری نیست و حتی ممکن است سبب تداخل شود (و از آنجا که پورت سرور از قبل متصل است، خطاهای ICMP مشکلی ایجاد نخواهند کرد). .TP .BR charon.plugins.dnscert.enable " [no]" فعال‌سازی دریافت رکوردهای CERT از طریق DNS. .TP .BR charon.plugins.drbg.max_drbg_requests " [4294967294]" تعداد درخواست‌های بیت شبه‌تصادفی از DRBG پیش از رخ دادن بازبذردهی (reseeding) خودکار. .TP .BR charon.plugins.eap-aka.request_identity " [yes]" .TP .BR charon.plugins.eap-aka-3gpp.seq_check " []" فعال‌سازی برای بررسی توالی مقادیر AKA SQN به منظور راه‌اندازی چرخه‌های همگام‌سازی مجدد. .TP .BR charon.plugins.eap-aka-3gpp2.seq_check " []" فعال‌سازی برای بررسی توالی مقادیر AKA SQN به منظور راه‌اندازی چرخه‌های همگام‌سازی مجدد. .TP .BR charon.plugins.eap-dynamic.prefer_user " [no]" در صورت فعال بودن، روش‌های EAP پیشنهادی در پیام EAP\-Nak ارسال‌شده توسط طرف مقابل نسبت به روش‌های ثبت‌شده محلی ترجیح داده می‌شوند. .TP .BR charon.plugins.eap-dynamic.preferred " []" روش(های) EAP ترجیحی برای استفاده. اگر تعیین نشود، در ابتدا از نخستین روش ثبت‌شده استفاده خواهد شد. در صورت ارائه یک فهرست جداشده با کاما، روش‌ها پیش از امتحان سایر روش‌های ثبت‌شده، به ترتیب ارائه‌شده آزموده می‌شوند. .TP .BR charon.plugins.eap-gtc.backend " [pam]" بک‌اند XAuth برای استفاده جهت اعتبارسنجی اطلاعات هویتی. .TP .BR charon.plugins.eap-peap.fragment_size " [1024]" حداکثر اندازه یک بسته EAP\-PEAP. .TP .BR charon.plugins.eap-peap.include_length " [no]" گنجاندن طول در بسته‌های قطعه‌بندی‌نشده EAP\-PEAP. .TP .BR charon.plugins.eap-peap.max_message_count " [32]" حداکثر تعداد بسته‌های EAP\-PEAP پردازش‌شده (0 = بدون محدودیت). .TP .BR charon.plugins.eap-peap.phase2_method " [mschapv2]" روش احراز هویت کلاینت در فاز ۲ EAP. .TP .BR charon.plugins.eap-peap.phase2_piggyback " [no]" سوار کردن (piggyback) درخواست هویت فاز ۲ EAP توسط سرور روی پیام TLS Finished، تنها در صورت مذاکره TLS 1.2 یا نسخه‌های قدیمی‌تر کاربرد دارد. .TP .BR charon.plugins.eap-peap.phase2_tnc " [no]" آغاز پروتکل TNC فاز ۲ EAP پس از احراز هویت موفق کلاینت. .TP .BR charon.plugins.eap-peap.request_peer_auth " [no]" درخواست احراز هویت طرف مقابل بر اساس گواهی کلاینت. .TP .BR charon.plugins.eap-radius.accounting " [no]" ارسال اطلاعات حسابرسی (accounting) به سرورهای RADIUS. .TP .BR charon.plugins.eap-radius.accounting_close_on_timeout " [yes]" بستن IKE_SA در صورت رخ دادن مهلت زمانی در حین به‌روزرسانی‌های میانی حسابرسی RADIUS. .TP .BR charon.plugins.eap-radius.accounting_interval " [0s]" بازه زمانی بر حسب ثانیه برای به‌روزرسانی‌های میانی حسابرسی RADIUS، چنانچه توسط سرور RADIUS در پیام Access\-Accept تعیین نشده باشد. .TP .BR charon.plugins.eap-radius.accounting_requires_vip " [no]" در صورت فعال بودن، حسابرسی غیرفعال می‌شود مگر اینکه یک IKE_SA حداقل دارای یک IP مجازی باشد. تنها برای IKEv2 کاربرد دارد، زیرا برای IKEv1 داشتن IP مجازی اکیداً ضروری است. .TP .BR charon.plugins.eap-radius.accounting_send_class " [no]" در صورت فعال بودن، صفت‌های Class دریافت‌شده در پیام Access\-Accept را به پیام‌های حسابرسی RADIUS می‌افزاید. .TP .BR charon.plugins.eap-radius.class_group " [no]" استفاده از صفت .RI "" "class" "" ارسال‌شده در پیام RADIUS\-Accept به عنوان اطلاعات عضویت گروه که با گروه‌های مشخص‌شده در گزینه .RB "" "rightgroups" "" در .RB "" "ipsec.conf" "(5)" مقایسه می‌شود. .TP .BR charon.plugins.eap-radius.close_all_on_timeout " [no]" بستن تمام IKE_SAها در صورتی که ارتباط با سرور RADIUS دچار مهلت زمانی شود. اگر تنظیم نشود، تنها IKE_SA فعلی بسته خواهد شد. .TP .BR charon.plugins.eap-radius.dae.enable " [no]" فعال‌سازی پشتیبانی از افزونه مجوزدهی پویا یا DAE (استاندارد RFC 5176). .TP .BR charon.plugins.eap-radius.dae.listen " [0.0.0.0]" نشانی شنود پیام‌های DAE از سرور RADIUS. .TP .BR charon.plugins.eap-radius.dae.port " [3799]" پورت شنود درخواست‌های DAE. .TP .BR charon.plugins.eap-radius.dae.secret " []" راز مشترک (Shared secret) مورد استفاده برای اعتبارسنجی/امضای پیام‌های DAE. در صورت تنظیم، مطمئن شوید که مجوزهای پرونده پیکربندی را متناسب با آن تنظیم کرده‌اید. .TP .BR charon.plugins.eap-radius.eap_start " [no]" ارسال EAP\-Start به جای EAP\-Identity جهت آغاز مکالمه با RADIUS. .TP .BR charon.plugins.eap-radius.filter_id " [no]" اگر صفت .RI "" "tunnel_type" "" مربوط به RADIUS با مقدار .RB "" "ESP" "" دریافت شود، از صفت .RI "" "filter_id" "" ارسال‌شده در پیام RADIUS\-Accept به عنوان اطلاعات عضویت در گروه استفاده می‌شود که با گروه‌های مشخص‌شده در گزینه .RB "" "rightgroups" "" در .RB "" "ipsec.conf" "(5)" مقایسه می‌گردد. .TP .BR charon.plugins.eap-radius.forward.ike_to_radius " []" صفت‌های RADIUS که باید از IKEv2 به RADIUS هدایت شوند (می‌توان بر اساس نام یا شماره صفت تعریف کرد؛ برای تعیین صفت‌های ویژه سازنده می‌توان از دونقطه استفاده کرد، مثلاً Reply\-Message، یا 11، یا 36906:12). .TP .BR charon.plugins.eap-radius.forward.radius_to_ike " []" مشابه .RI "" "charon.plugins.eap\-radius.forward.ike_to_radius" "" اما از RADIUS به IKEv2؛ برای انتقال صفت‌ها از یک اعلان خصوصی ویژه strongSwan با کد (40969) استفاده می‌شود. .TP .BR charon.plugins.eap-radius.id_prefix " []" پیشوند EAP\-Identity؛ برخی سرورهای AAA از یک پیشوند IMSI برای انتخاب روش EAP استفاده می‌کنند. .TP .BR charon.plugins.eap-radius.nas_identifier " [strongSwan]" شناسه NAS (یا NAS\-Identifier) برای گنجاندن در پیام‌های RADIUS. .TP .BR charon.plugins.eap-radius.port " [1812]" پورت سرور RADIUS (احراز هویت). .TP .BR charon.plugins.eap-radius.retransmit_base " [1.4]" پایه مورد استفاده برای محاسبه پس‌نشینی نمایی (exponential backoff). .TP .BR charon.plugins.eap-radius.retransmit_timeout " [2.0]" مهلت زمانی بر حسب ثانیه پیش از ارسال اولین تلاش مجدد. .TP .BR charon.plugins.eap-radius.retransmit_tries " [4]" تعداد دفعات ارسال مجدد یک بسته پیش از انصراف. .TP .BR charon.plugins.eap-radius.secret " []" راز مشترک بین RADIUS و NAS. در صورت تنظیم، مطمئن شوید که مجوزهای پرونده پیکربندی را متناسب با آن تنظیم کرده‌اید. .TP .BR charon.plugins.eap-radius.server " []" نشانی IP/نام میزبان سرور RADIUS. .TP .B charon.plugins.eap-radius.servers .br بخش تعیین چند سرور RADIUS. گزینه‌های .RB "" "source" "،" .RB "" "nas_identifier" "،" .RB "" "secret" "،" .RB "" "sockets" "" و .RB "" "port" "" (یا .RB "" "auth_port" ")" را می‌توان برای هر سرور مشخص کرد. نشانی IP/نام میزبان سرور را می‌توان با استفاده از گزینه .RB "" "address" "" پیکربندی نمود. گزینه .RB "" "acct_port" "" [1813] می‌تواند برای تعیین پورت مورد استفاده در حسابرسی RADIUS به کار رود. برای هر سرور RADIUS می‌توان اولویتی را با استفاده از گزینه .RB "" "preference" "" [0] مشخص کرد. زمان ارسال مجدد برای هر سرور را می‌توان با .RB "" "retransmit_base" "،" .RB "" "retransmit_timeout" "" و .RB "" "retransmit_tries" "" تنظیم نمود. .TP .BR charon.plugins.eap-radius.sockets " [1]" تعداد سوکت‌ها (پورت‌ها) برای استفاده؛ برای بارهای کاری سنگین افزایش دهید. .TP .BR charon.plugins.eap-radius.source " []" نشانی IP مبدأ خاص و اختیاری برای استفاده. .TP .BR charon.plugins.eap-radius.station_id_with_port " [yes]" اینکه آیا پورت UDP در صفت‌های Called\-Station\-Id و Calling\-Station\-Id مربوط به RADIUS گنجانده شود یا خیر. .TP .B charon.plugins.eap-radius.xauth .br بخش پیکربندی چندین دور احراز هویت XAuth از طریق RADIUS. زیربخش‌ها به اصطلاح پروفایل‌های احراز هویت را با نام‌های دلخواه تعریف می‌کنند. در هر بخش پروفایل می‌توان یک یا چند نوع XAuth را با یک پیام اختصاص‌یافته پیکربندی کرد. برای هر نوع، یک تبادل XAuth جداگانه آغاز می‌شود و تمام پاسخ‌ها به صورت پیوسته در صفت User\-Password قرار می‌گیرند که سپس از طریق RADIUS اعتبارسنجی می‌شود. انواع XAuth موجود عبارتند از .RB "" "password" "،" .RB "" "passcode" "،" .RB "" "nextpin" "" و .RB "" "answer" "." این نوع برای strongSwan یا سرور AAA اهمیتی ندارد، اما کلاینت ممکن است کادر گفتگوی متفاوتی را (همراه با پیام پیکربندی‌شده) نمایش دهد. برای استفاده از پروفایل‌های پیکربندی‌شده، باید آن‌ها را در اتصال مربوطه در .RB "" "ipsec.conf" "(5)" با افزودن نام پروفایل (جداشده با دونقطه) به پیکربندی بک‌اند .RB "" "xauth\-radius" "" در .RI "" "rightauth" "" یا .RI "" "rightauth2" "" مشخص کرد؛ به عنوان نمونه: .RI "" "rightauth2=xauth\-radius:profile" "." .TP .BR charon.plugins.eap-sim.request_identity " [yes]" .TP .BR charon.plugins.eap-simaka-sql.database " []" .TP .BR charon.plugins.eap-simaka-sql.remove_used " [no]" .TP .BR charon.plugins.eap-tls.fragment_size " [1024]" حداکثر اندازه یک بسته EAP\-TLS. .TP .BR charon.plugins.eap-tls.include_length " [yes]" گنجاندن طول در بسته‌های قطعه‌بندی‌نشده EAP\-TLS. .TP .BR charon.plugins.eap-tls.max_message_count " [32]" حداکثر تعداد بسته‌های EAP\-TLS پردازش‌شده (0 = بدون محدودیت). .TP .BR charon.plugins.eap-tnc.max_message_count " [10]" حداکثر تعداد بسته‌های EAP\-TNC پردازش‌شده (0 = بدون محدودیت). .TP .BR charon.plugins.eap-tnc.protocol " [tnccs-2.0]" نسخه پروتکل IF\-TNCCS برای استفاده .RI "(" "tnccs\-2.0" "" تنها گزینه موجود است). .TP .BR charon.plugins.eap-ttls.fragment_size " [1024]" حداکثر اندازه یک بسته EAP\-TTLS. .TP .BR charon.plugins.eap-ttls.include_length " [yes]" گنجاندن طول در بسته‌های قطعه‌بندی‌نشده EAP\-TTLS. .TP .BR charon.plugins.eap-ttls.max_message_count " [32]" حداکثر تعداد بسته‌های EAP\-TTLS پردازش‌شده (0 = بدون محدودیت). .TP .BR charon.plugins.eap-ttls.phase2_method " [md5]" روش احراز هویت کلاینت در فاز ۲ EAP. .TP .BR charon.plugins.eap-ttls.phase2_piggyback " [no]" سوار کردن درخواست هویت فاز ۲ EAP توسط سرور روی پیام TLS Finished. .TP .BR charon.plugins.eap-ttls.phase2_tnc " [no]" آغاز پروتکل TNC فاز ۲ EAP پس از احراز هویت موفق کلاینت. .TP .BR charon.plugins.eap-ttls.phase2_tnc_method " [pt]" پروتکل انتقال TNC فاز ۲ EAP .RI "(" "pt" "" به عنوان استاندارد IETF یا شیوه قدیمی .RI "" "tnc" ")" .TP .BR charon.plugins.eap-ttls.request_peer_auth " [no]" درخواست احراز هویت طرف مقابل بر اساس گواهی کلاینت. .TP .BR charon.plugins.error-notify.socket " [unix://${piddir}/charon.enfy]" سوکت ارائه‌شده توسط پلاگین error\-notify. .TP .BR charon.plugins.ext-auth.script " []" دستوری برای ارسال به پوسته سیستم جهت اعتبارسنجی و مجوزدهی طرف مقابل. مجوزدهی در صورتی موفق در نظر گرفته می‌شود که دستور به طور عادی با کد خروج صفر اجرا شود. برای کلیه کدهای خروج دیگر، مجوزدهی IKE_SA رد می‌شود. متغیرهای محیطی زیر به اسکریپت ارسال می‌شوند: .RI "" "IKE_UNIQUE_ID" ":" شناسه عددی یکتای IKE_SA. .RI "" "IKE_NAME" ":" نام اتصال پیکربندی طرف مقابل. .RI "" "IKE_LOCAL_HOST" ":" نشانی IP محلی IKE. .RI "" "IKE_REMOTE_HOST" ":" نشانی IP دوردست (طرف مقابل) IKE. .RI "" "IKE_LOCAL_ID" ":" هویت محلی IKE. .RI "" "IKE_REMOTE_ID" ":" هویت دوردست IKE. .RI "" "IKE_REMOTE_EAP_ID" ":" هویت دوردست EAP یا XAuth، در صورت استفاده. .TP .BR charon.plugins.forecast.groups " [224.0.0.1,224.0.0.22,224.0.0.251,224.0.0.252,239.255.255.250]" فهرستی از گروه‌های چندپخشی (multicast) جداشده با کاما برای پیوستن محلی. میزبان محلی بسته‌ها را در شبکه محلی (LAN) فقط برای گروه‌های چندپخشی پیوسته‌شده دریافت و بازهدایت می‌کند. بسته‌های منطبق با فهرست گروه‌های چندپخشی به کلاینت‌های متصل بازهدایت می‌شوند. گروه پیش‌فرض شامل چندپخشی‌های میزبان، IGMP، mDNS، LLMNR و SSDP/WS\-Discovery است و معمولاً انتخاب مناسبی برای کلاینت‌های ویندوز به شمار می‌رود. .TP .BR charon.plugins.forecast.interface " []" نام رابط محلی برای شنود پیام‌های برودکست جهت بازهدایت. اگر رابطی پیکربندی نشود، نخستین رابط قابل استفاده به کار گرفته می‌شود که معمولاً برای میزبان‌های تک‌رابطه کاملاً مناسب است. اگر میزبان شما دارای چند رابط است، این گزینه را روی رابط شبکه محلی (LAN) که می‌خواهید برودکست‌ها را از آن/به آن هدایت کنید تنظیم نمایید. .TP .BR charon.plugins.forecast.reinject " []" فهرستی از نام‌های پیکربندی CHILD_SA جداشده با کاما که برای آن‌ها بازتزریق بسته‌های چندپخشی/پخش‌همگانی انجام می‌شود. برای کلاینت‌هایی که از طریق چنین پیکربندی متصل می‌شوند، هرگونه چندپخشی/برودکست دریافت‌شده از طریق تونل مجدداً به تمامی تونل‌های فعال بازتزریق می‌شود. این امر باعث می‌شود برودکست‌ها برای سایر طرف‌ها قابل مشاهده باشند و برای نمونه به کلاینت‌ها امکان می‌دهد اشتراک‌گذاری‌های دیگران را ببینند. در صورت غیرفعال بودن، پیام‌های چندپخشی/برودکست دریافت‌شده از طریق یک تونل تنها به شبکه محلی تزریق می‌شوند، نه به سایر کلاینت‌های IPsec. .TP .BR charon.plugins.ha.autobalance " [0]" بازه زمانی بر حسب ثانیه جهت توازن خودکار بخش‌های مدیریت‌شده میان گره‌ها. برای غیرفعال‌سازی روی 0 تنظیم کنید. .TP .BR charon.plugins.ha.buflen " [2048]" اندازه بافر برای پیام‌های HA دریافت‌شده. برای IKEv1 فاکتورهای عمومی DH نیز منتقل می‌شوند، بنابراین بسته به گروه DH، پیام‌های HA می‌توانند بسیار بزرگ شوند (مقدار پیش‌فرض باید تا .RI "" "modp4096" پاسخگو باشد). .TP .BR charon.plugins.ha.fifo_interface " [yes]" .TP .BR charon.plugins.ha.heartbeat_delay " [1000]" .TP .BR charon.plugins.ha.heartbeat_timeout " [2100]" .TP .BR charon.plugins.ha.local " []" .TP .BR charon.plugins.ha.monitor " [yes]" .TP .BR charon.plugins.ha.pools " []" .TP .BR charon.plugins.ha.receive_buffer_size " [8388608]" حداکثر اندازه بافر دریافت برای سوکت HA بر حسب بایت. این مقدار مشخص می‌کند که چه تعداد بایت از پیام‌های HA می‌تواند در سوکت صف‌بندی شود. در صورت تنظیم روی 0، مقدار پیش‌فرض از `/proc/sys/net/core/rmem_default` اعمال خواهد شد. توجه داشته باشید که هسته سیستم‌عامل مقدار پیکربندی‌شده را برای محاسبه سربار دو برابر می‌کند. برای فراتر رفتن از حداکثر سراسری سیستم در `/proc/sys/net/core/rmem_max`، مجوزهای ویژه (CAP_NET_ADMIN) لازم است، در غیر این صورت هسته سیستم‌عامل بدون هشدار مقدار را محدود می‌کند. .TP .BR charon.plugins.ha.remote " []" .TP .BR charon.plugins.ha.resync " [yes]" .TP .BR charon.plugins.ha.secret " []" .TP .BR charon.plugins.ha.segment_count " [1]" .TP .BR charon.plugins.ipseckey.enable " [no]" فعال‌سازی دریافت رکوردهای IPSECKEY از طریق DNS. .TP .BR charon.plugins.kernel-libipsec.allow_peer_ts " [no]" اجازه دادن به اینکه انتخاب‌گر ترافیک دوردست برابر با طرف مقابل IKE باشد. مسیری که برای چنین ترافیکی (از طریق دستگاه TUN) نصب می‌شود معمولاً مانع از ترافیک بیشتر IKE می‌گردد. گزینه‌های fwmark برای پلاگین‌های .RI "" "kernel\-netlink" "" و .RI "" "socket\-default" "" می‌توانند برای دور زدن این مشکل استفاده شوند. .TP .BR charon.plugins.kernel-libipsec.fwmark " [charon.plugins.socket-default.fwmark]" علامت فایروال (Firewall mark) جهت تنظیم روی بسته‌های خام ESP خروجی. .TP .BR charon.plugins.kernel-libipsec.raw_esp " [no]" اینکه آیا در صورت پشتیبانی در این پلتفرم و عدم تشخیص NAT، بسته‌های ESP بدون کپسوله‌سازی UDP ارسال و دریافت شوند یا خیر. .TP .BR charon.plugins.kernel-netlink.buflen " []" اندازه بافر برای پیام‌های Netlink دریافت‌شده. .TP .BR charon.plugins.kernel-netlink.fwmark " []" علامت فایروال جهت تنظیم روی قاعده مسیریابی که ترافیک را به جدول مسیریابی ما هدایت می‌کند. قالب به صورت [!]mark[/mask] است که علامت تعجب اختیاری مفهوم را معکوس می‌کند (یعنی قاعده تنها روی بسته‌هایی اعمال می‌شود که با علامت مطابقت ندارند). .TP .BR charon.plugins.kernel-netlink.hw_offload_feature_interface " [lo]" اگر هسته سیستم‌عامل از باراندازی سخت‌افزاری (Hardware offloading) پشتیبانی کند، پلاگین باید پرچم ویژگی را پیدا کند که نشان‌دهنده پشتیبانی دستگاه‌های شبکه از باراندازی سخت‌افزاری است. استفاده از دستگاه loopback برای این منظور معمولاً مناسب است، زیرا همواره باید حضور داشته باشد. برای موارد نادری که دستگاه loopback نمی‌تواند برای به دست آوردن پرچم ویژگی مناسب به کار رود، این گزینه می‌تواند برای تعیین یک رابط جایگزین جهت تشخیص قابلیت‌های باراندازی استفاده شود. .TP .BR charon.plugins.kernel-netlink.ignore_retransmit_errors " [no]" اینکه آیا خطاهای بالقوه ناشی از ارسال مجدد نادیده گرفته شوند یا خیر. .TP .BR charon.plugins.kernel-netlink.install_routes_xfrmi " [no]" اینکه آیا مسیرها از طریق رابط‌های XFRM به طور خودکار برای SAهایی که از طریق .RI "" "if_id_out" "" به چنین رابطی ارجاع می‌دهند نصب شوند یا خیر. اگر انتخاب‌گرهای ترافیک شامل ترافیک IKE به طرف مقابل باشند، این مورد نیازمند دقت ویژه است (مثلاً نصب خط‌مشی‌ها و/یا مسیرهای دورزدن (bypass)، یا تنظیم یک علامت روی سوکت IKE و مستثنی کردن چنین بسته‌هایی از جدول مسیریابی پیکربندی‌شده از طریق گزینه .RI "" "fwmark" ")." .TP .BR charon.plugins.kernel-netlink.mss " [0]" مقدار MSS جهت تنظیم روی مسیرهای نصب‌شده، 0 برای غیرفعال‌سازی. .TP .BR charon.plugins.kernel-netlink.mtu " [0]" مقدار MTU جهت تنظیم روی مسیرهای نصب‌شده، 0 برای غیرفعال‌سازی. .TP .BR charon.plugins.kernel-netlink.parallel_route " [no]" اینکه آیا پرس‌وجوهای هم‌روند Netlink ROUTE روی یک سوکت واحد انجام شود یا خیر. اگرچه پرس‌وجوهای موازی می‌توانند توان عملیاتی را بهبود بخشند، اما سربار بیشتری دارند. در توزیع‌های استاندارد لینوکس، پرس‌وجوهای DUMP با خطای EBUSY مواجه می‌شوند و باید دوباره امتحان شوند که این امر کارایی را بیشتر کاهش می‌دهد. .TP .BR charon.plugins.kernel-netlink.parallel_xfrm " [no]" اینکه آیا پرس‌وجوهای هم‌روند Netlink XFRM روی یک سوکت واحد انجام شود یا خیر. .TP .BR charon.plugins.kernel-netlink.policy_update " [no]" اینکه آیا همواره از XFRM_MSG_UPDPOLICY برای نصب خط‌مشی‌ها استفاده شود یا خیر. .TP .BR charon.plugins.kernel-netlink.port_bypass " [no]" اینکه آیا از خط‌مشی‌های دورزدن XFRM برای IKE مبتنی بر پورت استفاده شود یا مبتنی بر سوکت. خط‌مشی‌های دورزدن IKE برای معاف کردن ترافیک IKE از پردازش‌های XFRM به کار می‌روند. خط‌مشی‌های پیش‌فرض مبتنی بر سوکت مستقیماً به سوکت‌های UDP پروتکل IKE گره خورده‌اند، در حالی که خط‌مشی‌های مبتنی بر پورت از خط‌مشی‌های دورزدن سراسری XFRM برای پورت‌های UDP استفاده‌شده IKE بهره می‌برند. .TP .BR charon.plugins.kernel-netlink.process_rules " [no]" اینکه آیا تغییرات در قواعد مسیریابی جهت راه‌اندازی رویدادهای جابجایی (roam) پردازش شوند یا خیر. این گزینه در حال حاضر تنها در صورتی مفید است که از جستجوی مسیر مبتنی بر هسته استفاده شود (یعنی اگر نصب مسیر غیرفعال باشد یا تطبیق fwmark معکوس پیکربندی شده باشد). .TP .BR charon.plugins.kernel-netlink.receive_buffer_size " [8388608]" حداکثر بافر دریافت سوکت Netlink بر حسب بایت. این مقدار مشخص می‌کند چه تعداد بایت از پیام‌های Netlink می‌تواند در سوکت Netlink صف‌بندی شود. در صورت تنظیم روی 0، مقدار پیش‌فرض از /proc/sys/net/core/rmem_default اعمال می‌شود. توجه داشته باشید که هسته سیستم‌عامل مقدار پیکربندی‌شده را برای محاسبه سربار دو برابر می‌کند. برای فراتر رفتن از حداکثر سراسری سیستم در /proc/sys/net/core/rmem_max، مجوزهای ویژه (CAP_NET_ADMIN) لازم است، در غیر این صورت هسته سیستم‌عامل بدون هشدار مقدار را محدود می‌کند. .TP .BR charon.plugins.kernel-netlink.retries " [0]" تعداد ارسال‌های مجدد پیام Netlink در هنگام رخ دادن مهلت زمانی. .TP .BR charon.plugins.kernel-netlink.roam_events " [yes]" اینکه آیا هنگام تغییر رابط‌ها، نشانی‌ها یا مسیرها رویدادهای جابجایی (roam) فعال شوند یا خیر. .TP .BR charon.plugins.kernel-netlink.set_proto_port_transport_sa " [no]" اینکه آیا پروتکل و پورت‌ها در انتخاب‌گر نصب‌شده روی SAهای IPsec حالت انتقال (transport mode) در هسته تنظیم شوند یا خیر. گرچه انجام این کار خط‌مشی‌ها را برای ترافیک ورودی اعمال می‌کند، مانع استفاده بیش از یک انتخاب‌گر ترافیک از یک SA واحد IPsec نیز می‌شود. .TP .B charon.plugins.kernel-netlink.spdh_thresh .br پیکربندی آستانه هشینگ خط‌مشی XFRM برای IPv4 و IPv6. این بخش آستانه‌های هشینگی را تعریف می‌کند که در هنگام راه‌اندازی دیمن در هسته پیکربندی می‌شوند. هر خانواده نشانی یک آستانه برای زیرشبکه محلی خط‌مشی IPsec (مبدأ در خط‌مشی‌های out، مقصد در خط‌مشی‌های in و forward) و زیرشبکه دوردست (مقصد در خط‌مشی‌های out، مبدأ در خط‌مشی‌های in و forward) می‌پذیرد. اگر زیرشبکه تعداد بیت‌های شبکه بیشتر یا مساوی با مقدار آستانه داشته باشد، نخستین بیت‌های آستانه برای محاسبه هش جهت جستجوی خط‌مشی استفاده می‌شوند. آستانه‌های هشینگ خط‌مشی پیش از لینوکس نسخه 3.18 پشتیبانی نمی‌شوند و ممکن است در نسخه‌های پیش از لینوکس 4.8 با خط‌مشی‌های سوکت تداخل داشته باشند. .TP .BR charon.plugins.kernel-netlink.spdh_thresh.ipv4.lbits " [32]" آستانه هشینگ خط‌مشی XFRM برای زیرشبکه محلی در IPv4. .TP .BR charon.plugins.kernel-netlink.spdh_thresh.ipv4.rbits " [32]" آستانه هشینگ خط‌مشی XFRM برای زیرشبکه دوردست در IPv4. .TP .BR charon.plugins.kernel-netlink.spdh_thresh.ipv6.lbits " [128]" آستانه هشینگ خط‌مشی XFRM برای زیرشبکه محلی در IPv6. .TP .BR charon.plugins.kernel-netlink.spdh_thresh.ipv6.rbits " [128]" آستانه هشینگ خط‌مشی XFRM برای زیرشبکه دوردست در IPv6. .TP .BR charon.plugins.kernel-netlink.timeout " [0]" مهلت زمانی ارسال مجدد پیام Netlink، مقدار 0 برای غیرفعال کردن ارسال‌های مجدد است. .TP .BR charon.plugins.kernel-netlink.xfrm_acq_expires " [165]" طول عمر وضعیت acquire مربوط به XFRM که هنگام تطبیق ترافیک با یک خط‌مشی trap توسط هسته ایجاد می‌شود. این مقدار در /proc/sys/net/core/xfrm_acq_expires نوشته می‌شود. به طور غیرمستقیم تأخیر بین پیام‌های acquire مربوط به XFRM را که توسط هسته برای یک خط‌مشی trap راه‌اندازی می‌شوند کنترل می‌کند. همین مقدار به عنوان مهلت زمانی برای SPIهای تخصیص‌یافته توسط هسته به کار می‌رود. مقدار پیش‌فرض با کل مهلت زمانی ارسال مجدد برای پیام‌های IKE برابر است، نگاه کنید به IKEv2 RETRANSMISSION در .RB "" "strongswan.conf" "(5)." .TP .BR charon.plugins.kernel-pfkey.events_buffer_size " [0]" اندازه بافر دریافت برای سوکت رویدادها (0 برای اندازه پیش‌فرض). از آنجا که رویدادها به صورت ناهمگام دریافت می‌شوند، برای دریافت تمام پیام‌ها، نصب مثلاً خط‌مشی‌های پرتعداد ممکن است در پلتفرم‌های خاصی به بافری بزرگ‌تر از پیش‌فرض نیاز داشته باشد. .TP .BR charon.plugins.kernel-pfkey.route_via_internal " [no]" اینکه آیا در مسیرهای نصب‌شده از رابط داخلی استفاده شود یا رابط خارجی. رابط داخلی رابطی است که نشانی IP موجود در انتخاب‌گر ترافیک محلی در آن قرار دارد؛ رابط خارجی رابطی است که از طریق آن نشانی مقصد تونل IPsec قابل دسترسی است. اگر از IPهای مجازی استفاده شود که برای آن‌ها یک دستگاه TUN ساخته شده و در مسیرها استفاده می‌شود، این مورد کاربردی ندارد. .TP .BR charon.plugins.kernel-pfroute.mtu " [1400]" مقدار MTU برای تنظیم روی دستگاه‌های TUN ساخته‌شده جهت IPهای مجازی. .TP .BR charon.plugins.kernel-pfroute.vip_wait " [1000]" مدت زمان بر حسب میلی‌ثانیه برای انتظار تا زمان پدیدار شدن/ناپدید شدن نشانی‌های IP مجازی پیش از اعلام شکست. .TP .B charon.plugins.load-tester .br بخش پیکربندی پلاگین load\-tester، برای جزئیات به LOAD TESTS در .RB "" "strongswan.conf" "(5)" مراجعه کنید. .TP .B charon.plugins.load-tester.addrs .br بخشی شامل جفت‌های کلید/مقدار با استخرهای نشانی (با نمادگذاری CIDR) جهت استفاده برای یک رابط شبکه خاص، مثلاً eth0 = 10.10.0.0/16. .TP .BR charon.plugins.load-tester.addrs_keep " [no]" اینکه آیا نشانی‌های پویا حتی پس از خاتمه یافتن SA مربوطه حفظ شوند یا خیر. .TP .BR charon.plugins.load-tester.addrs_prefix " [16]" طول پیشوند شبکه هنگام نصب نشانی‌های پویا. در صورت تنظیم روی \-1 کل نشانی استفاده می‌شود (یعنی 32 یا 128). .TP .BR charon.plugins.load-tester.ca_dir " []" پوشه‌ای برای بارگذاری گواهی‌های CA (میانی). .TP .BR charon.plugins.load-tester.child_rekey " [600]" ثانیه‌ها تا آغاز کلیدگذاری مجدد CHILD_SA پس از راه‌اندازی. .TP .BR charon.plugins.load-tester.crl " []" نشانی URI به یک CRL برای گنجاندن به عنوان نقطه توزیع گواهی در گواهی‌های تولیدشده. .TP .BR charon.plugins.load-tester.delay " [0]" تأخیر بین آغازگرها برای هر رشته (thread). .TP .BR charon.plugins.load-tester.delete_after_established " [no]" حذف یک IKE_SA به محض برقراری آن. .TP .BR charon.plugins.load-tester.digest " [sha1]" الگوریتم خلاصه‌سازی (digest) مورد استفاده در هنگام صدور گواهی‌ها. .TP .BR charon.plugins.load-tester.dpd_delay " [0]" تأخیر DPD برای استفاده در آزمون بار. .TP .BR charon.plugins.load-tester.dynamic_port " [0]" پورت پایه مورد استفاده برای درخواست‌ها (هر کلاینت از پورت متفاوتی استفاده می‌کند). .TP .BR charon.plugins.load-tester.eap_password " [default-pwd]" راز EAP مورد استفاده در آزمون بار. .TP .BR charon.plugins.load-tester.enable " [no]" فعال‌سازی پلاگین سنجش بار (load testing). .RB "" "هشدار" ":" هرگز این پلاگین را در سامانه‌های عملیاتی فعال نکنید. این پلاگین اطلاعات هویتی از پیش پیکربندی‌شده ارائه می‌دهد و به مهاجم امکان می‌دهد به عنوان هر کاربری احراز هویت کند. .TP .BR charon.plugins.load-tester.esp " [aes128-sha1]" پیشنهاد (proposal) پروتکل CHILD_SA جهت استفاده برای آزمون‌های بار. .TP .BR charon.plugins.load-tester.fake_kernel " [no]" شبیه‌سازی جعلی رابط هسته جهت امکان‌پذیر ساختن آزمون بار علیه خود سامانه. .TP .BR charon.plugins.load-tester.ike_rekey " [0]" ثانیه‌ها تا آغاز کلیدگذاری مجدد IKE_SA پس از راه‌اندازی. .TP .BR charon.plugins.load-tester.init_limit " [0]" حد سراسری SAهای برقرارشده هم‌روند در حین آزمون بار. .TP .BR charon.plugins.load-tester.initiator " [0.0.0.0]" نشانی برای آغاز اتصال از آن. .TP .BR charon.plugins.load-tester.initiator_auth " [pubkey]" روش(های) احراز هویت که آغازگر استفاده می‌کند. .TP .BR charon.plugins.load-tester.initiator_id " []" شناسه آغازگر مورد استفاده در آزمون بار. .TP .BR charon.plugins.load-tester.initiator_match " []" شناسه آغازگر جهت تطبیق به عنوان پاسخ‌دهنده. .TP .BR charon.plugins.load-tester.initiator_tsi " []" انتخاب‌گر ترافیک در سمت آغازگر، طبق پیشنهاد ارائه‌شده توسط آغازگر. .TP .BR charon.plugins.load-tester.initiator_tsr " []" انتخاب‌گر ترافیک در سمت پاسخ‌دهنده، طبق پیشنهاد ارائه‌شده توسط آغازگر. .TP .BR charon.plugins.load-tester.initiators " [0]" تعداد رشته‌های هم‌روند آغازگر برای استفاده در آزمون بار. .TP .BR charon.plugins.load-tester.issuer_cert " []" مسیر گواهی صادرکننده (اگر پیکربندی نشود، مقدار پیش‌فرض کدنویسی‌شده استفاده می‌شود). .TP .BR charon.plugins.load-tester.issuer_key " []" مسیر کلید خصوصی که برای صدور گواهی‌ها استفاده می‌شود (اگر پیکربندی نشود، مقدار پیش‌فرض کدنویسی‌شده استفاده می‌شود). .TP .BR charon.plugins.load-tester.iterations " [1]" تعداد IKE_SAهایی که توسط هر آغازگر در آزمون بار آغاز می‌شود. .TP .BR charon.plugins.load-tester.mode " [tunnel]" حالت IPsec برای استفاده؛ یکی از موارد .RI "" "tunnel" "،" .RI "" "transport" "" یا .RI "" "beet" "." .TP .BR charon.plugins.load-tester.pool " []" ارائه INTERNAL_IPV4_ADDRها از یک استخر نام‌گذاری‌شده. .TP .BR charon.plugins.load-tester.preshared_key " []" کلید از پیش به‌اشتراک‌گذاشته‌شده برای استفاده در آزمون بار. .TP .BR charon.plugins.load-tester.proposal " [aes128-sha1-modp768]" پیشنهاد IKE برای استفاده در آزمون بار. .TP .BR charon.plugins.load-tester.request_virtual_ip " [no]" درخواست یک INTERNAL_IPV4_ADDR و INTERNAL_IPV6_ADDR از سرور. .TP .BR charon.plugins.load-tester.responder " [127.0.0.1]" نشانی جهت آغاز اتصالات به سمت آن. .TP .BR charon.plugins.load-tester.responder_auth " [pubkey]" روش(های) احراز هویت که پاسخ‌دهنده استفاده می‌کند. .TP .BR charon.plugins.load-tester.responder_id " []" شناسه پاسخ‌دهنده مورد استفاده در آزمون بار. .TP .BR charon.plugins.load-tester.responder_tsi " [initiator_tsi]" انتخاب‌گر ترافیک در سمت آغازگر، آن‌گونه که توسط پاسخ‌دهنده محدود (باریک) شده است. .TP .BR charon.plugins.load-tester.responder_tsr " [initiator_tsr]" انتخاب‌گر ترافیک در سمت پاسخ‌دهنده، آن‌گونه که توسط پاسخ‌دهنده محدود شده است. .TP .BR charon.plugins.load-tester.shutdown_when_complete " [no]" خاموش کردن دیمن پس از برقراری تمام IKE_SAها. .TP .BR charon.plugins.load-tester.socket " [unix://${piddir}/charon.ldt]" سوکت ارائه‌شده توسط پلاگین load\-tester. .TP .BR charon.plugins.load-tester.version " [0]" نسخه IKE برای استفاده (مقدار 0 یعنی استفاده از IKEv2 به عنوان آغازگر و پذیرش هر نسخه‌ای به عنوان پاسخ‌دهنده). .TP .BR charon.plugins.lookip.socket " [unix://${piddir}/charon.lkp]" سوکت ارائه‌شده توسط پلاگین lookip. .TP .BR charon.plugins.openssl.engine_id " [pkcs11]" شناسه موتور (ENGINE ID) جهت استفاده در پلاگین OpenSSL. .TP .BR charon.plugins.openssl.fips_mode " [0]" تنظیم حالت FIPS مربوط به OpenSSL. در نسخه‌های OpenSSL پیش از 3.0، مقادیر پشتیبانی‌شده عبارتند از غیرفعال(0)، فعال(1) و Suite B فعال(2). در OpenSSL نسخه 3 و بالاتر، هر مقداری غیر از 0 صراحتاً ارائه‌دهندگان fips و base را بارگذاری می‌کند .RI "(" "load_legacy" "" نادیده گرفته خواهد شد). مورد دوم همچنان نیازمند پیکربندی در fipsmodule.cnf است (مثلاً برای MAC ماژول)، اما اجازه می‌دهد ارائه‌دهنده را حتی در صورتی که در آن پیکربندی فعال نشده باشد، صراحتاً بارگذاری کنید. .TP .BR charon.plugins.openssl.load_legacy " [yes]" بارگذاری ارائه‌دهنده قدیمی (legacy provider) در OpenSSL نسخه 3 و بالاتر برای الگوریتم‌هایی مانند MD4، DES، یا Blowfish (دو مورد اول برای EAP\-MSCHAPv2 لازم هستند). در صورت غیرفعال بودن، ارائه‌دهنده پیش‌فرض یا موارد پیکربندی‌شده در پیکربندی OpenSSL (مانند ارائه‌دهنده fips) بارگذاری می‌شوند. .TP .BR charon.plugins.openxpki.database " []" شناسه یکپارچه منابع (URI) پایگاه داده برای اتصال به پایگاه داده .RB "" "certificate" "" در OpenXPKI. اگر حاوی گذرواژه است، مطمئن شوید که مجوزهای پرونده پیکربندی را متناسب با آن تنظیم کرده‌اید. .TP .BR charon.plugins.osx-attr.append " [yes]" اینکه آیا سرورهای DNS به جای جایگزینی، به ورودی‌های موجود افزوده شوند یا خیر. .TP .B charon.plugins.p-cscf.enable .br بخش فعال‌سازی درخواست نشانی‌های سرور P\-CSCF برای اتصالات جداگانه. .TP .BR charon.plugins.p-cscf.enable. " [no]" مقدار نام اتصالی با یک ePDG است که از آن باید نشانی‌های سرور P\-CSCF درخواست شود. درخواست‌ها برای نشانی‌هایی از همان خانواده‌هایی ارسال می‌شوند که IPهای داخلی برای آن‌ها درخواست شده است. .TP .B charon.plugins.pkcs11.modules .br فهرست ماژول‌های PKCS#11 در دسترس. .TP .BR charon.plugins.pkcs11.modules..load_certs " [yes]" اینکه آیا گواهی‌ها به طور خودکار از توکن‌ها بارگذاری شوند یا خیر. .TP .BR charon.plugins.pkcs11.modules..os_locking " [no]" اینکه آیا قفل‌گذاری سیستم‌عامل برای این ماژول فعال شود یا خیر. .TP .BR charon.plugins.pkcs11.modules..path " []" مسیر کامل به پرونده شیء اشتراکی (shared object) این ماژول PKCS#11. .TP .BR charon.plugins.pkcs11.reload_certs " [no]" بارگذاری مجدد گواهی‌ها از تمام توکن‌ها در صورت دریافت سیگنال SIGHUP توسط charon. .TP .BR charon.plugins.pkcs11.use_dh " [no]" اینکه آیا ماژول‌های PKCS#11 برای DH و ECDH استفاده شوند یا خیر (نگاه کنید به گزینه .RI "" "use_ecc" ")." .TP .BR charon.plugins.pkcs11.use_ecc " [no]" اینکه آیا ماژول‌های PKCS#11 برای عملیات‌های کلید عمومی ECDH و ECDSA استفاده شوند یا خیر. کلیدهای خصوصی ECDSA بدون در نظر گرفتن این گزینه قابل استفاده هستند. .TP .BR charon.plugins.pkcs11.use_hasher " [no]" اینکه آیا ماژول‌های PKCS#11 برای هش کردن داده‌ها استفاده شوند یا خیر. .TP .BR charon.plugins.pkcs11.use_pubkey " [no]" اینکه آیا ماژول‌های PKCS#11 برای عملیات‌های کلید عمومی استفاده شوند، حتی برای کلیدهایی که روی توکن‌ها ذخیره نشده‌اند. .TP .BR charon.plugins.pkcs11.use_rng " [no]" اینکه آیا ماژول‌های PKCS#11 به عنوان RNG استفاده شوند یا خیر. .TP .BR charon.plugins.pkcs11.use_rsa_pss_hashers " [no]" اینکه آیا ماژول‌های PKCS#11 باید تلاش کنند از هشینگ داخلی برای امضاهای RSA\-PSS استفاده کنند یا خیر (برخی کتابخانه‌های PKCS#11 هشینگ داخلی را در ارتباط با RSA\-PSS به درستی پیاده‌سازی نمی‌کنند). .TP .BR charon.plugins.radattr.dir " []" پوشه‌ای که در آن صفت‌های RADIUS در پرونده‌های ویژه هر شناسه کلاینت ذخیره می‌شوند. .TP .BR charon.plugins.radattr.message_id " [-1]" صفت‌ها به طور پیش‌فرض به تمام پیام‌های IKE_AUTH افزوده می‌شوند (\-1)، یا فقط به پیام IKE_AUTH با شناسه پیام IKEv2 داده‌شده اضافه می‌گردند. .TP .BR charon.plugins.random.random " [${random_device}]" پرونده‌ای برای خواندن بایت‌های تصادفی از آن. .TP .BR charon.plugins.random.strong_equals_true " [no]" در صورت تنظیم روی yes، کلاس RNG_STRONG بایت‌های تصادفی را از همان منبع کلاس RNG_TRUE می‌خواند. .TP .BR charon.plugins.random.urandom " [${urandom_device}]" پرونده‌ای برای خواندن بایت‌های شبه‌تصادفی از آن. .TP .BR charon.plugins.resolve.file " [/etc/resolv.conf]" پرونده‌ای برای افزودن ورودی‌های سرور DNS در صورت عدم استفاده از resolvconf(8). .TP .BR charon.plugins.resolve.resolvconf.iface " [lo.ipsec]" نام رابط و پروتکل ارسال‌شده به .RB "" "resolvconf" "(8)." این مقدار باید طبق قوانین تعریف‌شده توسط resolvconf یک نام رابط معتبر باشد. همچنین، اگر در سیستم مربوطه معنادار باشد، باید طبق ترتیب تعریف‌شده در .RB "" "interface\-order" "(5)" دارای اولویت بالایی باشد. .TP .BR charon.plugins.resolve.resolvconf.path " [/sbin/resolvconf]" مسیر/دستور برای .RB "" "resolvconf" "(8)." دستور توسط یک پوسته اجرا می‌شود، بنابراین اگر "resolvconf" در PATH دیمن باشد کار خواهد کرد. اگر پیکربندی نشود، .RB "" "resolvconf" "(8)" در صورتی که در مکان پیش‌فرض یافت شود استفاده خواهد شد. در غیر این صورت، پرونده مشخص‌شده در .RI "" "charon.plugins.resolve.file" "" مستقیماً تغییر داده خواهد شد. .TP .BR charon.plugins.revocation.enable_crl " [yes]" اینکه آیا اعتبارسنجی CRL باید فعال باشد یا خیر. .TP .BR charon.plugins.revocation.enable_ocsp " [yes]" اینکه آیا اعتبارسنجی OCSP باید فعال باشد یا خیر. .TP .BR charon.plugins.revocation.timeout " [10s]" مهلت زمانی مورد استفاده هنگام دریافت OCSP/CRL. .TP .BR charon.plugins.save-keys.esp " [no]" اینکه آیا کلیدهای ESP ذخیره شوند یا خیر. .TP .BR charon.plugins.save-keys.ike " [no]" اینکه آیا کلیدهای IKE ذخیره شوند یا خیر. .TP .BR charon.plugins.save-keys.load " [no]" اینکه آیا پلاگین بارگذاری شود یا خیر. .TP .BR charon.plugins.save-keys.wireshark_keys " []" پوشه‌ای که کلیدها در آن با قالب پشتیبانی‌شده توسط Wireshark ذخیره می‌شوند. کلیدهای IKEv1 در پرونده .RI "" "ikev1_decryption_table" "" ذخیره می‌گردند. کلیدهای IKEv2 در پرونده .RI "" "ikev2_decryption_table" "" ذخیره می‌شوند. کلیدهای مربوط به ESP CHILD_SAها در پرونده .RI "" "esp_sa" "" ذخیره می‌گردند. .TP .BR charon.plugins.socket-default.fwmark " []" علامت فایروال (Firewall mark) جهت تنظیم روی بسته‌های خروجی. .TP .BR charon.plugins.socket-default.set_source " [yes]" تنظیم نشانی مبدأ روی بسته‌های خروجی، در صورت امکان. .TP .BR charon.plugins.socket-default.set_sourceif " [no]" اجبار به استفاده از رابط ارسال‌کننده خاص روی بسته‌های خروجی، در صورت امکان. این کار اجازه می‌دهد از نشانی‌های link\-local مربوط به IPv6 به عنوان نقاط انتهایی تونل استفاده شود. .TP .BR charon.plugins.socket-default.use_ipv4 " [yes]" شنود روی IPv4، در صورت امکان. .TP .BR charon.plugins.socket-default.use_ipv6 " [yes]" شنود روی IPv6، در صورت امکان. .TP .BR charon.plugins.sql.database " []" شناسه یکپارچه منابع (URI) پایگاه داده برای پلاگین SQL دیمن charon. اگر حاوی گذرواژه است، مطمئن شوید که مجوزهای پرونده پیکربندی را متناسب با آن تنظیم کرده‌اید. .TP .BR charon.plugins.sql.loglevel " [-1]" سطح لاگ برای ثبت رویدادها در پایگاه داده SQL. .TP .BR charon.plugins.stroke.allow_swap " [yes]" تجزیه و تحلیل نشانی‌ها/نام‌های میزبان در .RI "" "left|right" "" جهت تشخیص اینکه کدام سمت محلی است و جابجایی گزینه‌های پیکربندی در صورت لزوم. اگر غیرفعال باشد، .RI "" "left" "" همواره .RI "" "local" (محلی) در نظر گرفته می‌شود. .TP .BR charon.plugins.stroke.ignore_missing_ca_basic_constraint " [no]" تلقی گواهی‌های موجود در ipsec.d/cacerts و بخش‌های ca در ipsec.conf به عنوان گواهی‌های CA حتی اگر فاقد محدودیت پایه‌ای CA باشند. .TP .BR charon.plugins.stroke.max_concurrent " [4]" حداکثر تعداد پیام‌های stroke که به صورت هم‌روند مدیریت می‌شوند. .TP .BR charon.plugins.stroke.prevent_loglevel_changes " [no]" در صورت فعال بودن، تغییرات سطح لاگ از طریق سوکت stroke مجاز نیست. .TP .BR charon.plugins.stroke.secrets_file " [${sysconfdir}/ipsec.secrets]" مکان پرونده ipsec.secrets. .TP .BR charon.plugins.stroke.socket " [unix://${piddir}/charon.ctl]" سوکت ارائه‌شده توسط پلاگین stroke. .TP .BR charon.plugins.stroke.timeout " [0]" مهلت زمانی بر حسب میلی‌ثانیه برای هر دستور stroke. از مقدار 0 برای غیرفعال کردن مهلت زمانی استفاده کنید. .TP .BR charon.plugins.systime-fix.interval " [0]" بازه زمانی بر حسب ثانیه جهت بررسی اعتبار زمان سیستم. مقدار 0 بررسی را غیرفعال می‌کند. .TP .BR charon.plugins.systime-fix.reauth " [no]" اینکه آیا در صورت تشخیص طول عمر نامعتبر گواهی، از احراز هویت مجدد (reauth) استفاده شود یا حذف صورت گیرد. .TP .BR charon.plugins.systime-fix.threshold " []" تاریخ آستانه‌ای که در آن زمان سیستم معتبر در نظر گرفته می‌شود. اگر مشخص نشود غیرفعال است. .TP .BR charon.plugins.systime-fix.threshold_format " [%Y]" قالب .RB "" "strptime" "(3)" مورد استفاده برای تجزیه گزینه آستانه. .TP .BR charon.plugins.systime-fix.timeout " [0s]" مدت زمان انتظار برای یک زمان معتبر سیستم در صورتی که بازه‌ای پیکربندی شده باشد. مقدار 0 برای بررسی مجدد به صورت نامحدود است. .TP .BR charon.plugins.tnc-imc.dlclose " [yes]" تخلیه IMC از حافظه پس از استفاده. .TP .BR charon.plugins.tnc-imc.preferred_language " [en]" زبان ترجیحی برای توصیه‌های TNC. .TP .BR charon.plugins.tnc-imv.dlclose " [yes]" تخلیه IMV از حافظه پس از استفاده. .TP .BR charon.plugins.tnc-imv.recommendation_policy " [default]" سیاست توصیه TNC، یکی از .RI "" "default" "،" .RI "" "any" "،" یا .RI "" "all" "." .TP .BR charon.plugins.tnc-pdp.pt_tls.enable " [yes]" فعال‌سازی پروتکل PT\-TLS روی strongSwan PDP. .TP .BR charon.plugins.tnc-pdp.pt_tls.port " [271]" درگاه سرور PT\-TLS که strongSwan PDP روی آن گوش می‌دهد. .TP .BR charon.plugins.tnc-pdp.radius.enable " [yes]" فعال‌سازی پروتکل RADIUS روی strongSwan PDP. .TP .BR charon.plugins.tnc-pdp.radius.method " [ttls]" روش تونل EAP مورد استفاده. .TP .BR charon.plugins.tnc-pdp.radius.port " [1812]" درگاه سرور RADIUS که strongSwan PDP روی آن گوش می‌دهد. .TP .BR charon.plugins.tnc-pdp.radius.secret " []" رمز مشترک RADIUS میان strongSwan PDP و NAS. در صورت تنظیم، حتماً مجوزهای دسترسی پرونده پیکربندی را متناسب با آن تنظیم کنید. .TP .BR charon.plugins.tnc-pdp.server " []" نام strongSwan PDP همان‌طور که در گواهی AAA آمده است. .TP .BR charon.plugins.tnc-pdp.timeout " []" مهلت زمانی بر حسب ثانیه پیش از بستن اتصالات ناقص. .TP .BR charon.plugins.tnccs-20.max_batch_size " [65522]" حداکثر اندازه یک دسته PB\-TNC (حد بالا از طریق PT\-EAP = 65529). .TP .BR charon.plugins.tnccs-20.max_message_size " [65490]" حداکثر اندازه یک پیام PA\-TNC (حد بالا از طریق PT\-EAP = 65497). .TP .BR charon.plugins.tnccs-20.mutual " [no]" فعال‌سازی پروتکل متقابل PB\-TNC. .TP .BR charon.plugins.tnccs-20.tests.pb_tnc_noskip " [no]" ارسال یک نوع پیام پشتیبانی‌نشده PB\-TNC با تنظیم پرچم NOSKIP. .TP .BR charon.plugins.tnccs-20.tests.pb_tnc_version " [2]" ارسال یک دسته PB\-TNC با نسخه تغییریافته PB\-TNC. .TP .BR charon.plugins.tpm.ek_handle " []" دستگیره (handle) کلید تصدیق RSA یا ECC (موسوم به EK) برای استفاده در برقراری یک نشست احراز هویت‌شده با TPM 2.0 (مانند 0x81010001). .TP .BR charon.plugins.tpm.fips_186_4 " [no]" آیا TPM 2.0 با FIPS\-186\-4 سازگار است یا خیر، که مثلاً استفاده از طول سالت پیش‌فرض را به جای حداکثر طول سالت در لایه‌گذاری RSAPSS اجباری می‌کند. .TP .BR charon.plugins.tpm.tcti.name " [device|tabrmd]" نام کتابخانه TPM 2.0 TCTI. مقادیر معتبر: .RI "" "tabrmd" "،" .RI "" "device" "" یا .RI "" "mssim" "." مقدار پیش‌فرض .RI "" "device" "" است اگر دستگاه مدیر منابع درون هسته‌ای TPM 2.0 به نشانی .RI "" "/dev/tpmrm0" "" وجود داشته باشد، و در غیر این صورت .RI "" "tabrmd" "" است که نیازمند در دسترس بودن کارگزار دسترسی و مدیر منابع مبتنی بر d\-bus مربوط به TPM 2.0 می‌باشد. .TP .BR charon.plugins.tpm.tcti.opts " [/dev/tpmrm0|]" گزینه‌های مربوط به کتابخانه TPM 2.0 TCTI. مقدار پیش‌فرض .RI "" "/dev/tpmrm0" "" است اگر نام کتابخانه TCTI برابر با .RI "" "device" "" باشد، و در غیر این صورت هیچ گزینه‌ای تنظیم نمی‌شود. .TP .BR charon.plugins.tpm.use_rng " [no]" اینکه آیا TPM باید به عنوان RNG (تولیدکننده اعداد تصادفی) استفاده شود یا خیر. به دلایل امنیتی تنها در صورتی فعال کنید که بتوان یک نشست احراز هویت‌شده برقرار کرد (گزینه .RI "" "ek_handle" "" را ببینید). .TP .BR charon.plugins.unbound.dlv_anchors " []" پرونده‌ای برای خواندن کلیدهای مورد اعتماد DLV (DNSSEC Lookaside Validation). از همان قالب .RI "" "trust_anchors" "" استفاده می‌کند. تنها یک DLV را می‌توان پیکربندی کرد که سپس به عنوان DLV مورد اعتماد ریشه استفاده می‌شود، به این معنی که یک lookaside برای ریشه است. .TP .BR charon.plugins.unbound.resolv_conf " [/etc/resolv.conf]" پرونده‌ای برای خواندن پیکربندی تحلیل‌گر DNS. .TP .BR charon.plugins.unbound.trust_anchors " [${sysconfdir}/ipsec.d/dnssec.keys]" پرونده‌ای برای خواندن لنگرهای اعتماد DNSSEC (معمولاً KSK ناحیه ریشه). قالب پرونده همان قالب استاندارد پرونده DNS Zone است؛ لنگرها را می‌توان به عنوان ورودی‌های DS یا DNSKEY در پرونده ذخیره کرد. .TP .BR charon.plugins.updown.dns_handler " [no]" اینکه آیا اسکریپت updown باید سرورهای DNS تخصیص‌یافته از طریق IKEv1 Mode Config یا بار داده‌های پیکربندی IKEv2 را مدیریت کند یا خیر (در صورت فعال بودن، پلاگین‌های دیگر مانند resolve نمی‌توانند آن‌ها را مدیریت کنند). .TP .BR charon.plugins.vici.socket " [unix://${piddir}/charon.vici]" سوکت محلی که افزونه vici برای سرویس‌دهی به کلاینت‌ها استفاده می‌کند. .TP .BR charon.plugins.whitelist.enable " [yes]" فعال‌سازی افزونه بارگذاری‌شده فهرست سفید (whitelist). .TP .BR charon.plugins.whitelist.socket " [unix://${piddir}/charon.wlst]" سوکت ارائه‌شده توسط افزونه فهرست سفید. .TP .BR charon.plugins.wolfssl.fips_mode " [no]" فعال‌سازی جهت جلوگیری از بارگذاری افزونه در صورتی که wolfSSL در حالت FIPS نباشد. .TP .BR charon.plugins.xauth-eap.backend " [radius]" افزونه EAP که به عنوان پس‌زمینه (backend) برای اعتبارسنجی مدارک شناسایی XAuth استفاده می‌شود. .TP .BR charon.plugins.xauth-pam.pam_service " [login]" سرویس PAM مورد استفاده برای احراز هویت. .TP .BR charon.plugins.xauth-pam.session " [no]" باز کردن/بستن یک نشست PAM برای هر IKE_SA فعال. .TP .BR charon.plugins.xauth-pam.trim_email " [yes]" اگر یک نشانی ایمیل به عنوان نام کاربری XAuth دریافت شود، آن را تنها به بخش نام کاربری کوتاه کند. .TP .BR charon.port " [500]" درگاه UDP مورد استفاده محلی. اگر روی 0 تنظیم شود، یک درگاه تصادفی تخصیص می‌یابد. .TP .BR charon.port_nat_t " [4500]" درگاه UDP مورد استفاده محلی در صورت NAT\-T. اگر روی 0 تنظیم شود، یک درگاه تصادفی تخصیص داده خواهد شد. باید با .RB "" "charon.port" "" متفاوت باشد، در غیر این صورت یک درگاه تصادفی تخصیص می‌یابد. .TP .BR charon.prefer_best_path " [no]" به‌طور پیش‌فرض، charon انجمن‌های امنیتی (SA) را روی مسیر مسیریابی با نشانی‌هایی که قبلاً استفاده کرده نگه می‌دارد، مشروط بر اینکه آن مسیر هنوز قابل استفاده باشد. با تنظیم این گزینه روی yes، نرم‌افزار با جدیت بیشتری تلاش می‌کند تا SAها را از طریق MOBIKE در هنگام تغییر اولویت مسیریابی با استفاده از ارزان‌ترین مسیر به‌روزرسانی کند. این کار ترافیک پیام‌های اضافی را بیشتر می‌کند، اما امکان تطبیق پویا SAها با تغییرات اولویت مسیریابی را فراهم می‌سازد. اگر MOBIKE پشتیبانی نشود یا غیرفعال باشد، این گزینه اثری ندارد. .TP .BR charon.prefer_configured_proposals " [yes]" ترجیح دادن پیشنهادهای پیکربندی‌شده محلی برای IKE/IPsec بر پیشنهادهای ارائه‌شده هنگام ایفای نقش پاسخ‌دهنده (responder) (غیرفعال کردن این گزینه می‌تواند از تلاش‌های مجدد کلیدزنی ناشی از اعلان‌های INVALID_KE_PAYLOAD جلوگیری کند). .TP .BR charon.prefer_temporary_addrs " [no]" به‌طور پیش‌فرض، نشانی‌های مبدأ دائمی IPv6 بر نشانی‌های موقت (RFC 4941) ترجیح داده می‌شوند تا اتصالات پایدارتر باشند. این گزینه را فعال کنید تا این رفتار معکوس شود. این گزینه همچنین مشخص می‌کند که در صورت استفاده از MOBIKE کدام نشانی‌های IPv6 به عنوان نشانی‌های اضافی اعلام شوند. اگر این گزینه غیرفعال باشد، فقط نشانی‌های دائمی ارسال می‌شوند و اگر فعال باشد، تنها نشانی‌های موقت ارسال خواهند شد. .TP .BR charon.process_route " [yes]" پردازش رویدادهای RTM_NEWROUTE و RTM_DELROUTE. .TP .B charon.processor.priority_threads .br بخش پیکربندی تعداد نخ‌های رزروشده به ازای هر کلاس اولویت؛ بخش JOB PRIORITY MANAGEMENT را در .RB "" "strongswan.conf" "(5)" ببینید. .TP .BR charon.rdn_matching " [strict]" نحوه تطبیق RDNها در DNهای موضوع گواهی‌ها با شناسه‌های پیکربندی‌شده. مقادیر ممکن عبارتند از .RI "" "strict" "" (پیش‌فرض)، .RI "" "reordered" "،" و .RI "" "relaxed" "." با مقدار .RI "" "strict" "" تعداد، نوع و ترتیب تمامی RDNها باید مطابقت داشته باشد؛ نویسه‌های عام (*) برای مقادیر RDN مجاز هستند (که برای هر سه حالت صادق است). با استفاده از .RI "" "reordered" "" حتی در صورت جابه‌جا بودن ترتیب RDNها نیز DNها تطبیق داده می‌شوند، اما تعداد و نوع همچنان باید مطابقت داشته باشد. در نهایت، .RI "" "relaxed" "" تطبیق DNهایی را که حاوی RDNهای بیشتری نسبت به شناسه پیکربندی‌شده هستند نیز مجاز می‌داند (RDNهای غایب مانند یک تطبیق نویسه عام در نظر گرفته می‌شوند). توجه داشته باشید که .RI "" "reordered" "" و .RI "" "relaxed" "" بار محاسباتی قابل توجهی را بر مصرف حافظه و زمان اجرا، به‌ویژه در موارد عدم تطابق، در مقایسه با .RI "" "strict" "" تحمیل می‌کنند. .TP .BR charon.receive_delay " [0]" تأخیر بر حسب میلی‌ثانیه برای دریافت بسته‌ها، جهت شبیه‌سازی RTT بزرگ‌تر. .TP .BR charon.receive_delay_request " [yes]" اعمال تأخیر روی پیام‌های درخواست. .TP .BR charon.receive_delay_response " [yes]" اعمال تأخیر روی پیام‌های پاسخ. .TP .BR charon.receive_delay_type " [0]" نوع پیام خاص IKEv2 برای اعمال تأخیر، 0 برای همه انواع. .TP .BR charon.reject_trusted_end_entity " [no]" رد کردن همتایانی که از گواهی‌های نهاد پایانی مورد اعتماد (یعنی گواهی‌های محلی) استفاده می‌کنند. .TP .BR charon.replay_window " [32]" اندازه پنجره بازپخش (replay window) برای AH/ESP بر حسب بسته. .TP .BR charon.reqid_base " [1]" مقدار نخستین reqid که به‌طور خودکار به یک CHILD_SA تخصیص می‌یابد. .TP .BR charon.retransmit_base " [1.8]" پایه مورد استفاده برای محاسبه عقب‌نشینی نمایی؛ بخش IKEv2 RETRANSMISSION را در .RB "" "strongswan.conf" "(5)" ببینید. .TP .BR charon.retransmit_jitter " [0]" حداکثر نوسان (jitter) بر حسب درصد که به‌صورت تصادفی به مهلت ارسال مجدد محاسبه‌شده اعمال می‌شود (0 برای غیرفعال کردن). .TP .BR charon.retransmit_limit " [0]" حد بالای مهلت محاسبه‌شده ارسال مجدد بر حسب ثانیه (0 برای غیرفعال کردن). .TP .BR charon.retransmit_timeout " [4.0]" مهلت زمانی بر حسب ثانیه پیش از ارسال نخستین بازtransmision (ارسال مجدد). .TP .BR charon.retransmit_tries " [5]" تعداد دفعات ارسال مجدد یک بسته پیش از صرف‌نظر کردن. .TP .BR charon.retry_initiate_interval " [0s]" بازه زمانی بر حسب ثانیه هنگام تلاش مجدد برای آغاز IKE_SA (مثلاً در صورت شکست در تحلیل DNS)، مقدار 0 برای غیرفعال کردن تلاش مجدد. .TP .BR charon.reuse_ikesa " [yes]" آغاز CHILD_SA درون IKE_SAهای موجود (برای IKEv1 همیشه فعال است). .TP .BR charon.routing_table " []" شماره جدول مسیریابی عددی برای نصب مسیرها در آن. .TP .BR charon.routing_table_prio " []" اولویت جدول مسیریابی. .TP .BR charon.rsa_pss " [no]" اینکه آیا به‌طور پیش‌فرض از الگوریتم RSA با لایه‌گذاری PSS به جای لایه‌گذاری PKCS#1 استفاده شود یا خیر. .TP .BR charon.rsa_pss_trailerfield " [no]" اینکه آیا مقدار صریح trailerField برابر 0x01 در algorithmIdentifier مربوط به RSA\-PSS (موسوم به CONTEXT3) کدگذاری شود یا اینکه با حذف آن از مقدار DEFAULT استفاده گردد. .TP .BR charon.send_delay " [0]" تأخیر بر حسب میلی‌ثانیه برای ارسال بسته‌ها، جهت شبیه‌سازی RTT بزرگ‌تر. .TP .BR charon.send_delay_request " [yes]" اعمال تأخیر روی پیام‌های درخواست. .TP .BR charon.send_delay_response " [yes]" اعمال تأخیر روی پیام‌های پاسخ. .TP .BR charon.send_delay_type " [0]" نوع پیام خاص IKEv2 برای اعمال تأخیر، مقدار 0 برای همه انواع. .TP .BR charon.send_vendor_id " [no]" ارسال بار داده شناسه سازنده strongSwan (Vendor ID). .TP .BR charon.signature_authentication " [yes]" اینکه آیا احراز هویت مبتنی بر امضا بر اساس RFC 7427 فعال شود یا خیر. .TP .BR charon.signature_authentication_constraints " [yes]" در صورت فعال بودن، طرح‌های امضای پیکربندی‌شده در .RI "" "rightauth" "،" علاوه بر استفاده به عنوان محدودیت در برابر طرح‌های امضای به‌کاررفته در زنجیره گواهی، به عنوان محدودیت در برابر طرح امضای استفاده‌شده توسط همتایان در طول IKEv2 نیز به کار می‌روند. .TP .BR charon.spi_label " [0x0000000000000000]" مقداری که پس از اعمال .RI "" "spi_mask" "" در SPIهای محلی IKE ترکیب می‌شود. .TP .BR charon.spi_mask " [0x0000000000000000]" ماسک اعمال‌شده بر SPIهای محلی IKE پیش از ترکیب .RI "" "spi_label" "" (بیت‌های تنظیم‌شده با .RI "" "spi_label" "" جایگزین خواهند شد). .TP .BR charon.spi_max " [0xcfffffff]" حد بالای SPIهای درخواستی از هسته برای SAهای IPsec. .TP .BR charon.spi_min " [0xc0000000]" حد پایین SPIهای درخواستی از هسته برای SAهای IPsec. نباید کمتر از 0x00000100 (256) تنظیم شود، زیرا SPIهای میان 1 و 255 توسط IANA رزرو شده‌اند. .TP .B charon.start-scripts .br بخشی شامل فهرستی از اسکریپت‌ها (name = path) که هنگام راه‌اندازی دیمن اجرا می‌شوند. .TP .B charon.stop-scripts .br بخشی شامل فهرستی از اسکریپت‌ها (name = path) که هنگام خاتمه دیمن اجرا می‌شوند. .TP .B charon.syslog .br بخش تعریف ثبت‌کننده‌های وقایع syslog؛ بخش LOGGER CONFIGURATION را در .RB "" "strongswan.conf" "(5)" ببینید. .TP .B charon.syslog. .br پارامتر یکی از امکانات پشتیبانی‌شده syslog است؛ بخش LOGGER CONFIGURATION را در .RB "" "strongswan.conf" "(5)" ببینید. .TP .BR charon.syslog.. " []" سطح ثبت گزارش برای یک زیرسیستم خاص. .TP .BR charon.syslog..default " [1]" سطح ثبت گزارش پیش‌فرض را برای زیرسیستم‌هایی که سطح گزارش خاصی برای آن‌ها تعریف نشده است، مشخص می‌کند. .TP .BR charon.syslog..ike_name " [no]" پیشوند زدن نام اتصال و یک شناسه عددی یکتا برای هر IKE_SA به ابتدای هر ورودی گزارش. .TP .BR charon.syslog..log_level " [no]" افزودن سطح ثبت گزارش هر پیام پس از زیرسیستم (مانند [IKE2]). .TP .BR charon.syslog..map_level " [-1]" تنظیم پیش‌فرض \-1 تمام پیام‌ها را با سطح گزارش LOG_INFO به syslog ارسال می‌کند. یک مقدار غیرمنفی، سطوح گزارش خاص strongSwan (0..4) را از شماره مشخص‌شده به سطح syslog نگاشت می‌کند. به عنوان مثال، مقدار 5 (LOG_NOTICE) سطح گزارش 0 در strongSwan را به LOG_NOTICE، سطح 1 را به LOG_INFO، و سطوح 2، 3 و 4 را به LOG_DEBUG نگاشت می‌کند. این کار امکان فیلتر کردن (بیشتر) پیام‌های گزارش را روی سرور syslog فراهم می‌سازد. .TP .BR charon.syslog.identifier " []" شناسه سراسری مورد استفاده در فراخوانی .RB "" "openlog" "(3)" که توسط syslog به ابتدای هر پیام گزارش افزوده می‌شود. در صورت عدم پیکربندی، .RB "" "openlog" "(3)" فراخوانی نمی‌شود، بنابراین مقدار به پیش‌فرض‌های سیستم بستگی خواهد داشت (اغلب نام برنامه). .TP .BR charon.threads " [16]" تعداد نخ‌های پردازشی (worker threads) در charon. چند مورد از این نخ‌ها برای وظایف طولانی‌مدت در ماژول‌های داخلی و پلاگین‌ها رزرو شده‌اند. بنابراین، مطمئن شوید که این مقدار را خیلی پایین تنظیم نکنید. تعداد نخ‌های پردازشی بیکار فهرست‌شده در خروجی .RI "" "ipsec statusall" "" می‌تواند به عنوان شاخصی برای تعداد نخ‌های رزروشده استفاده شود. .TP .BR charon.tls.cipher " []" فهرست رمزهای رمزگذاری TLS. .TP .BR charon.tls.ke_group " []" فهرست گروه‌های تبادل کلید TLS. .TP .BR charon.tls.key_exchange " []" فهرست روش‌های تبادل کلید TLS. .TP .BR charon.tls.mac " []" فهرست الگوریتم‌های MAC مربوط به TLS. .TP .BR charon.tls.send_certreq_authorities " [yes]" اینکه آیا مراجع صدور گواهی (CA) در پیام CertificateRequest سرور گنجانده شوند یا خیر. در صورتی که کلاینت‌ها نتوانند فهرست طولانی CAها را پردازش کنند، ممکن است غیرفعال شود. .TP .BR charon.tls.signature " []" فهرست طرح‌های امضای TLS. .TP .BR charon.tls.suites " []" فهرست مجموعه‌های رمزنگاری (cipher suites) برای TLS. .TP .BR charon.tls.version_max " [1.2]" حداکثر نسخه TLS برای مذاکره. .TP .BR charon.tls.version_min " [1.2]" حداقل نسخه TLS برای مذاکره. .TP .BR charon.tnc.tnc_config " [/etc/tnc_config]" پرونده پیکربندی TNC IMC/IMV. .TP .BR charon.user " []" نام کاربری که دیمن پس از راه‌اندازی به آن تغییر هویت می‌دهد. .TP .BR charon.x509.enforce_critical " [yes]" رد کردن گواهی‌هایی که دارای افزونه‌های حیاتی (critical extensions) ناشناخته یا پشتیبانی‌نشده هستند. .TP .B charon-cmd .br بخش تنظیمات مختص کلاینت خط فرمانی `charon\-cmd`. تنظیمات بخش `charon` به ارث برده نمی‌شوند، اما بسیاری از آن‌ها را می‌توان در اینجا نیز استفاده کرد. .TP .BR charon-cmd.load_modular " [yes]" بارگذاری تنها افزونه‌هایی که صریحاً فعال شده‌اند. .TP .B charon-nm .br بخش تنظیمات مختص پس‌زمینه NetworkManager موسوم به `charon\-nm`. تنظیمات بخش `charon` به ارث برده نمی‌شوند، اما بسیاری از آن‌ها در اینجا نیز قابل استفاده هستند. مقادیر پیش‌فرض برای برخی تنظیمات بسیار حساب‌شده انتخاب شده‌اند و فقط در صورت بروز تداخل باید تغییر کنند. .TP .BR charon-nm.ca_dir " []" پوشه‌ای که در صورت عدم پیکربندی هیچ گواهی‌ای، گواهی‌های CA از آن بارگذاری می‌شوند. .TP .BR charon-nm.install_virtual_ip_on " [lo]" رابطی که نشانی‌های IP مجازی روی آن نصب می‌شوند. توجه داشته باشید که NM همچنین IPهای مجازی را روی رابط XFRM نصب می‌کند. .TP .BR charon-nm.load_modular " [yes]" بارگذاری تنها افزونه‌هایی که صریحاً فعال شده‌اند. .TP .BR charon-nm.mtu " [1400]" مقدار MTU برای رابط‌های XFRM ایجادشده توسط افزونه NM. .TP .BR charon-nm.plugins.kernel-netlink.fwmark " [!210]" بسته‌های دارای این نشانه (mark) جدول مسیریابی را نادیده بگیرند. باید همان نشانه‌ای باشد که در charon\-nm.plugins.socket\-default.fwmark تنظیم شده است. .TP .BR charon-nm.plugins.socket-default.fwmark " [210]" نشانه‌ای که به بسته‌های IKE و ESP اعمال می‌شود تا جدول مسیریابی را نادیده بگیرند و هنگام استفاده از رابط‌های XFRM از حلقه‌های مسیریابی جلوگیری شود. .TP .BR charon-nm.port " [0]" درگاه مبدأ هنگام ارسال بسته‌ها به درگاه 500. به‌طور پیش‌فرض یک درگاه گذرا (ephemeral) است. در صورتی که قوانین دیوار آتش نیازمند یک درگاه ایستا باشند، می‌تواند روی 500 تنظیم شود. .TP .BR charon-nm.port_nat_t " [0]" درگاه مبدأ هنگام ارسال بسته‌ها به درگاه 4500 یا یک درگاه سرور سفارشی. به‌طور پیش‌فرض یک درگاه گذرا است. در صورتی که قوانین دیوار آتش نیازمند یک درگاه ایستا باشند، می‌تواند مثلاً روی 4500 تنظیم شود. .TP .BR charon-nm.retransmit_base " [1.4]" پایه مورد استفاده برای محاسبه عقب‌نشینی نمایی؛ بخش IKEv2 RETRANSMISSION را در .RB "" "strongswan.conf" "(5)" ببینید. تنظیمات پیش‌فرض ارسال مجدد برای charon\-nm عمداً پایین‌تر در نظر گرفته شده‌اند تا زودتر با خطا مواجه شوند و در صورت امکان SAها سریع‌تر مجدداً برقرار شوند. .TP .BR charon-nm.retransmit_timeout " [2.0]" مهلت زمانی بر حسب ثانیه پیش از ارسال نخستین بازtransmision (ارسال مجدد). .TP .BR charon-nm.retransmit_tries " [3]" تعداد دفعات ارسال مجدد یک بسته پیش از صرف‌نظر کردن. .TP .BR charon-nm.routing_table " [210]" جدولی که مسیرها از طریق رابط XFRM در آن نصب می‌شوند. به دلیل وجود نشانه، باید با جدول استفاده‌شده برای دیمن معمولی IKE متفاوت باشد. .TP .BR charon-nm.routing_table_prio " [210]" اولویت جدول مسیریابی. بالاتر از اولویت پیش‌فرض استفاده‌شده برای دیمن معمولی IKE است. .TP .BR charon-nm.syslog.daemon.default " [1]" پیش‌فرض برای ثبت گزارش از طریق امکان daemon در syslog روی سطح 1. .TP .B charon-systemd.journal .br بخش پیکربندی ثبت‌کننده بومی ژورنال systemd، بسیار شبیه به ثبت‌کننده syslog همان‌طور که در LOGGER CONFIGURATION در .RB "" "strongswan.conf" "(5)" شرح داده شده است. .TP .BR charon-systemd.journal. " []" سطح ثبت گزارش برای یک زیرسیستم خاص. .TP .BR charon-systemd.journal.default " [1]" سطح ثبت گزارش پیش‌فرض را برای زیرسیستم‌هایی که سطح گزارش خاصی برای آن‌ها تعریف نشده است، مشخص می‌کند. .TP .BR imv_policy_manager.command_allow " []" فرمان شل برای اجرا در صورت توصیه allow (مجاز). .TP .BR imv_policy_manager.command_block " []" فرمان شل برای اجرا به ازای تمام توصیه‌های دیگر. .TP .BR imv_policy_manager.database " []" شناسه یکتای پایگاه داده (URI) برای پایگاه داده‌ای که اطلاعات بسته‌ها را ذخیره می‌کند. اگر حاوی گذرواژه است، حتماً مجوزهای دسترسی پرونده پیکربندی را متناسب با آن تنظیم کنید. .TP .BR imv_policy_manager.load " [sqlite]" افزونه‌هایی که باید در مدیر سیاست IMV بارگذاری شوند. .TP .BR libimcv.debug_level " [1]" سطح اشکال‌زدایی برای کتابخانه مستقل .RI "" "libimcv" "." .TP .BR libimcv.load " [random nonce gmp pubkey x509]" افزونه‌هایی که باید در IMC/IMVها با کتابخانه مستقل .RI "" "libimcv" "" بارگذاری شوند. .TP .BR libimcv.plugins.imc-attestation.aik_blob " []" پرونده حباب (blob) کلید خصوصی رمزگذاری‌شده AIK. .TP .BR libimcv.plugins.imc-attestation.aik_cert " []" پرونده گواهی AIK. .TP .BR libimcv.plugins.imc-attestation.aik_handle " []" دستگیره (handle) شیء AIK. .TP .BR libimcv.plugins.imc-attestation.aik_pubkey " []" پرونده کلید عمومی AIK. .TP .BR libimcv.plugins.imc-attestation.hash_algorithm " [sha384]" الگوریتم درهم‌سازی ترجیحی اندازه‌گیری. .TP .BR libimcv.plugins.imc-attestation.mandatory_dh_groups " [yes]" اجباری کردن گروه‌های الزامی دیفی-هلمن. .TP .BR libimcv.plugins.imc-attestation.nonce_len " [20]" طول نانس (nonce) در DH. .TP .BR libimcv.plugins.imc-attestation.pcr17_after " []" مقدار PCR17 پس از اندازه‌گیری. .TP .BR libimcv.plugins.imc-attestation.pcr17_before " []" مقدار PCR17 پیش از اندازه‌گیری. .TP .BR libimcv.plugins.imc-attestation.pcr17_meas " []" مقدار اندازه‌گیری ساختگی گسترش‌یافته درون PCR17 در صورتی که گزارش TBOOT در دسترس نباشد. .TP .BR libimcv.plugins.imc-attestation.pcr18_after " []" مقدار PCR18 پس از اندازه‌گیری. .TP .BR libimcv.plugins.imc-attestation.pcr18_before " []" مقدار PCR18 پیش از اندازه‌گیری. .TP .BR libimcv.plugins.imc-attestation.pcr18_meas " []" مقدار اندازه‌گیری ساختگی گسترش‌یافته درون PCR17 در صورتی که گزارش TBOOT در دسترس نباشد. .TP .BR libimcv.plugins.imc-attestation.pcr_info " [no]" اینکه آیا اطلاعات pcr_before و pcr_after ارسال شوند یا خیر. .TP .BR libimcv.plugins.imc-attestation.pcr_padding " [no]" اینکه آیا هنگام گسترش در بانک SHA256 PCR مقادیر اندازه‌گیری‌های SHA1 مربوط به IMA لایه‌گذاری شوند یا خیر. .TP .BR libimcv.plugins.imc-attestation.use_quote2 " [yes]" استفاده از امضای Quote2 AIK به جای امضای Quote. .TP .BR libimcv.plugins.imc-attestation.use_version_info " [no]" اطلاعات نسخه در امضای Quote2 گنجانده شود. .TP .BR libimcv.plugins.imc-hcd.push_info " [yes]" ارسال اطلاعات چهارتایی (quadruple) بدون نیاز به درخواست صریح. .TP .BR libimcv.plugins.imc-hcd.subtypes " []" بخش تعریف زیرنوع‌های PWG HCD PA. .TP .BR libimcv.plugins.imc-hcd.subtypes.
" []" یک بخش زیرنوع PWG HCD PA را تعریف می‌کند. نام‌های بخش‌های زیرنوع شناخته‌شده عبارتند از .RI "" "system" "،" .RI "" "control" "،" .RI "" "marker" "،" .RI "" "finisher" "،" .RI "" "interface" "" و .RI "" "scanner" "." .TP .BR libimcv.plugins.imc-hcd.subtypes.
. " []" یک بخش نوع نرم‌افزار را تعریف می‌کند. نام‌های شناخته‌شده برای بخش نوع نرم‌افزار عبارتند از .RI "" "firmware" "،" .RI "" "resident_application" "" و .RI "" "user_application" "." .TP .BR libimcv.plugins.imc-hcd.subtypes.
.. " []" یک بخش نرم‌افزاری با نام دلخواه تعریف می‌کند. .TP .BR libimcv.plugins.imc-hcd.subtypes.
...name " []" نام نرم‌افزار نصب‌شده بر روی دستگاه چاپ/کپی (hardcopy device). .TP .BR libimcv.plugins.imc-hcd.subtypes.
...patches " []" رشته‌ای که تمام وصله‌های اعمال‌شده روی نرم‌افزار مورد نظر در این دستگاه چاپ/کپی را توصیف می‌کند. وصله‌های جداگانه با نویسه خط جدید '\[rs]\[rs]n' از هم تفکیک می‌شوند. .TP .BR libimcv.plugins.imc-hcd.subtypes.
...string_version " []" رشته‌ای که نسخه نرم‌افزار مورد نظر در این دستگاه چاپ/کپی را توصیف می‌کند. .TP .BR libimcv.plugins.imc-hcd.subtypes.
...version " []" رشته نسخه با کدگذاری هگزادسیمال و طول ۱۶ بایت متشکل از فیلدهای شماره نسخه اصلی (۴ بایت)، شماره نسخه فرعی (۴ بایت)، شماره ساخت (۴ بایت)، شماره اصلی بسته خدماتی (۲ بایت) و شماره فرعی بسته خدماتی (۲ بایت). .TP .BR libimcv.plugins.imc-hcd.subtypes.
.attributes_natural_language " [en]" برچسب زبان طبیعی با طول متغیر مطابق با RFC 5646 که زبان مورد استفاده در پیام ارزیابی سلامت یک زیرنوع خاص را مشخص می‌کند. .TP .BR libimcv.plugins.imc-hcd.subtypes.system.certification_state " []" وضعیت گواهینامه با کدگذاری هگزادسیمال. .TP .BR libimcv.plugins.imc-hcd.subtypes.system.configuration_state " []" وضعیت پیکربندی با کدگذاری هگزادسیمال. .TP .BR libimcv.plugins.imc-hcd.subtypes.system.machine_type_model " []" رشته‌ای که نوع و مدل دستگاه چاپ/کپی را مشخص می‌کند. .TP .BR libimcv.plugins.imc-hcd.subtypes.system.pstn_fax_enabled " [no]" مشخص می‌کند که آیا یک رابط نمابر PSTN روی دستگاه چاپ/کپی نصب و فعال شده است یا خیر. .TP .BR libimcv.plugins.imc-hcd.subtypes.system.time_source " []" رشته‌ای که نام میزبان کارگزار زمان شبکه (NTP) مورد استفاده توسط دستگاه چاپ/کپی را مشخص می‌کند. .TP .BR libimcv.plugins.imc-hcd.subtypes.system.user_application_enabled " [no]" مشخص می‌کند که آیا کاربران می‌توانند برنامه‌ها را به‌صورت پویا روی دستگاه چاپ/کپی بارگیری و اجرا کنند یا خیر. .TP .BR libimcv.plugins.imc-hcd.subtypes.system.user_application_persistence_enabled " [no]" مشخص می‌کند که آیا برنامه‌های بارگیری‌شده به‌صورت پویا توسط کاربر می‌توانند فراتر از مرزهای یک کار واحد روی دستگاه چاپ/کپی باقی بمانند یا خیر. .TP .BR libimcv.plugins.imc-hcd.subtypes.system.vendor_name " []" رشته‌ای که سازنده دستگاه چاپ/کپی را مشخص می‌کند. .TP .BR libimcv.plugins.imc-hcd.subtypes.system.vendor_smi_code " []" یک عدد صحیح که کد SMI بیست و چهار بیتی یکتای جهانی تخصیص‌یافته به سازنده دستگاه چاپ/کپی را مشخص می‌کند. .TP .BR libimcv.plugins.imc-os.device_cert " []" تنظیم دستی مسیر گواهی دستگاه کلاینت (مانند /etc/pts/aikCert.der). .TP .BR libimcv.plugins.imc-os.device_handle " []" تنظیم دستی دستگیره یک کلید خصوصی مقید به کارت هوشمند یا TPM (مانند 0x81010004). .TP .BR libimcv.plugins.imc-os.device_id " []" تنظیم دستی شناسه دستگاه کلاینت در قالب هگزادسیمال (مانند 1083f03988c9762703b1c1080c2e46f72b99cc31). .TP .BR libimcv.plugins.imc-os.device_pubkey " []" تنظیم دستی مسیر کلید عمومی دستگاه کلاینت (مانند /etc/pts/aikPub.der). .TP .BR libimcv.plugins.imc-os.push_info " [yes]" ارسال اطلاعات سیستم‌عامل بدون نیاز به درخواست صریح. .TP .BR libimcv.plugins.imc-scanner.push_info " [yes]" ارسال درگاه‌های باز در حال شنود بدون نیاز به درخواست صریح. .TP .BR libimcv.plugins.imc-swima.eid_epoch " [0x11223344]" تنظیم دستی مقدار دوره (epoch) ۳۲ بیتی برای شناسه‌های رویداد در صورت عدم دسترسی به پایگاه داده گردآورنده نرم‌افزار. .TP .BR libimcv.plugins.imc-swima.subscriptions " [no]" پذیرش اشتراک‌های SW Inventory یا SW Events. .TP .BR libimcv.plugins.imc-swima.swid_database " []" شناسه یکتا (URI) پایگاه داده گردآورنده نرم‌افزار شامل برچسب‌های زمانی رویدادها، رویدادهای ایجاد و حذف نرم‌افزار و شناسه‌های نرم‌افزارهای جمع‌آوری‌شده. اگر حاوی گذرواژه است، حتماً مجوزهای دسترسی پرونده پیکربندی را متناسب با آن تنظیم کنید. .TP .BR libimcv.plugins.imc-swima.swid_directory " [${prefix}/share]" پوشه‌ای که برچسب‌های SWID در آن قرار دارند. .TP .BR libimcv.plugins.imc-swima.swid_full " [no]" گنجاندن اطلاعات پرونده در برچسب‌های SWID دارای کدگذاری XML. .TP .BR libimcv.plugins.imc-swima.swid_pretty " [no]" تولید برچسب‌های SWID کدگذاری‌شده به صورت XML با تورفتگی خوانا (pretty). .TP .BR libimcv.plugins.imc-test.additional_ids " [0]" تعداد شناسه‌های IMC اضافی. .TP .BR libimcv.plugins.imc-test.command " [none]" فرمانی که باید به Test IMV ارسال شود. .TP .BR libimcv.plugins.imc-test.dummy_size " [0]" اندازه ویژگی ساختگی که باید به Test IMV ارسال شود (0 = غیرفعال). .TP .BR libimcv.plugins.imc-test.retry " [no]" انجام تلاش مجدد برای دست‌تکانی (handshake). .TP .BR libimcv.plugins.imc-test.retry_command " []" فرمانی که باید در تلاش مجدد دست‌تکانی به Test IMV ارسال شود. .TP .BR libimcv.plugins.imv-attestation.cadir " []" مسیر پوشه حاوی گواهی‌های ریشه (cacerts) مربوط به AIK. .TP .BR libimcv.plugins.imv-attestation.dh_group " [ecp256]" گروه ترجیحی دیفی-هلمن. .TP .BR libimcv.plugins.imv-attestation.hash_algorithm " [sha384]" الگوریتم درهم‌سازی ترجیحی اندازه‌گیری. .TP .BR libimcv.plugins.imv-attestation.mandatory_dh_groups " [yes]" اجباری کردن گروه‌های الزامی دیفی-هلمن. .TP .BR libimcv.plugins.imv-attestation.min_nonce_len " [0]" حداقل طول نانس در DH. .TP .BR libimcv.plugins.imv-os.remediation_uri " []" شناسه یکتا (URI) اشاره‌کننده به دستورالعمل‌های اصلاح و رفع نقص سیستم‌عامل. .TP .BR libimcv.plugins.imv-scanner.remediation_uri " []" شناسه یکتا (URI) اشاره‌کننده به دستورالعمل‌های اصلاح و رفع نقص پویشگر (scanner). .TP .BR libimcv.plugins.imv-swima.rest_api.timeout " [120]" مهلت زمانی تراکنش HTTP POST در SWID REST API. .TP .BR libimcv.plugins.imv-swima.rest_api.uri " []" شناسه HTTP URI مربوط به SWID REST API. .TP .BR libimcv.plugins.imv-test.rounds " [0]" تعداد دورهای تلاش مجدد IMC\-IMV. .TP .BR libimcv.stderr_quiet " [no]" غیرفعال کردن خروجی در stderr هنگام استفاده از کتابخانه مستقل .RI "" "libimcv" "." .TP .BR libimcv.swid_gen.command " [/usr/local/bin/swid_generator]" فرمان تولیدکننده SWID برای اجرا. .TP .BR libimcv.swid_gen.tag_creator.name " [strongSwan Project]" نام نهاد tagCreator (ایجادکننده برچسب). .TP .BR libimcv.swid_gen.tag_creator.regid " [strongswan.org]" شناسه regid مربوط به نهاد tagCreator. .TP .BR pki.load " []" افزونه‌هایی که باید در ابزار pki بارگذاری شوند. .TP .BR pki.scep.http_bind " []" نشانی IP مبدأ برای اتصال جهت عملیات‌های HTTP. .TP .BR pki.scep.http_timeout " [30s]" مهلت زمانی برای عملیات‌های HTTP. .TP .BR pki.scep.renewal_via_pkcs_req " [no]" برخی از سرورهای SCEP (مانند openxpki) تمدید گواهی را به اشتباه از طریق نوع پیام PKCSReq (19) به جای RenewalReq (17) انجام می‌دهند. .TP .BR pool.database " []" شناسه یکتای پایگاه داده (URI) برای پایگاه داده‌ای که استخرهای IP و ویژگی‌های پیکربندی را ذخیره می‌کند. اگر حاوی گذرواژه است، حتماً مجوزهای دسترسی پرونده پیکربندی را متناسب با آن تنظیم کنید. .TP .BR pool.load " []" افزونه‌هایی که باید در ابزار ipsec pool بارگذاری شوند. .TP .B sec-updater .br گزینه‌های مربوط به ابزار sec\-updater. .TP .BR sec-updater.database " []" شناسه یکتای پایگاه داده (URI) سیاست سراسری IMV. اگر حاوی گذرواژه است، حتماً مجوزهای دسترسی پرونده پیکربندی را متناسب با آن تنظیم کنید. .TP .BR sec-updater.load " []" افزونه‌هایی که باید در ابزار sec\-updater بارگذاری شوند. .TP .BR sec-updater.swid_gen.command " [/usr/local/bin/swid_generator]" فرمان تولیدکننده SWID برای اجرا. .TP .BR sec-updater.swid_gen.tag_creator.name " [strongSwan Project]" نام نهاد tagCreator (ایجادکننده برچسب). .TP .BR sec-updater.swid_gen.tag_creator.regid " [strongswan.org]" شناسه regid مربوط به نهاد tagCreator. .TP .BR sec-updater.tmp.deb_file " [/tmp/sec-updater.deb]" محل ذخیره‌سازی موقت برای پرونده بسته deb بارگیری‌شده. .TP .BR sec-updater.tmp.tag_file " [/tmp/sec-updater.tag]" محل ذخیره‌سازی موقت برای برچسب‌های SWID تولیدشده. .TP .BR sec-updater.tnc_manage_command " [/var/www/tnc/manage.py]" فرمان strongTNC manage.py مورد استفاده برای درون‌ریزی برچسب‌های SWID. .TP .BR starter.config_file " [${sysconfdir}/ipsec.conf]" محل پرونده ipsec.conf. .TP .BR starter.load_warning " [yes]" غیرفعال کردن هشدار گزینه بارگذاری افزونه charon. .TP .B sw-collector .br گزینه‌های مربوط به ابزار sw\-collector. .TP .BR sw-collector.database " []" شناسه یکتا (URI) به پایگاه داده گردآورنده نرم‌افزار شامل برچسب‌های زمانی رویدادها، رویدادهای ایجاد و حذف نرم‌افزار و شناسه‌های نرم‌افزارهای جمع‌آوری‌شده. اگر حاوی گذرواژه است، حتماً مجوزهای دسترسی پرونده پیکربندی را متناسب با آن تنظیم کنید. .TP .BR sw-collector.first_file " [/var/log/bootstrap.log]" مسیر اشاره‌کننده به پرونده ایجادشده هنگام نصب سیستم‌عامل لینوکس. .TP .BR sw-collector.first_time " [0000-00-00T00:00:00Z]" زمان به وقت UTC هنگام نصب سیستم‌عامل لینوکس. .TP .BR sw-collector.history " []" مسیر اشاره‌کننده به پرونده history.log برنامه apt. .TP .BR sw-collector.load " []" افزونه‌هایی که باید در ابزار sw\-collector بارگذاری شوند. .TP .BR sw-collector.rest_api.timeout " [120]" مهلت زمانی تراکنش HTTP POST در REST API. .TP .BR sw-collector.rest_api.uri " []" شناسه HTTP URI مربوط به REST API گردآورنده مرکزی. .TP .BR swanctl.load " []" افزونه‌هایی که باید در swanctl بارگذاری شوند. .TP .BR swanctl.socket " [unix://${piddir}/charon.vici]" سوکت VICI برای اتصال به‌صورت پیش‌فرض. .SH LOGGER CONFIGURATION گزینه‌ها در .BR strongswan.conf (5) روش بسیار منعطف‌تری را برای پیکربندی ثبت‌کننده‌های وقایع (loggers) برای دیمن IKE با نام charon نسبت به استفاده از گزینه .B charondebug در .BR ipsec.conf (5) فراهم می‌کنند. .PP .BR نکته : اگر هر ثبت‌کننده‌ای در strongswan.conf مشخص شود، گزینه .B charondebug هیچ اثری نخواهد داشت. .PP در حال حاضر دو نوع ثبت‌کننده وجود دارد: .TP .B ثبت‌کننده‌های پرونده‌ای (File loggers) مستقیماً در یک پرونده ثبت می‌کنند و با تعیین یک زیربخش با نام دلخواه در بخش .B charon.filelog تعریف می‌شوند. مسیر کامل پرونده در تنظیم \fIpath\fR آن زیربخش پیکربندی می‌شود؛ هرچند اگر فقط شامل نویسه‌های مجاز در نام بخش‌ها باشد، می‌توان این تنظیم را حذف کرد و مسیر را به عنوان نام زیربخش مشخص نمود. برای ثبت گزارش در کنسول می‌توان از دو نام پرونده ویژه .BR stdout " و " stderr استفاده کرد. .TP .B ثبت‌کننده‌های سیستم (Syslog loggers) در یکی از امکانات syslog ثبت می‌کنند و با تعیین امکان مورد نظر برای ثبت به عنوان نام زیربخش در بخش .B charon.syslog تعریف می‌شوند. در حال حاضر امکانات زیر پشتیبانی می‌شوند: .BR daemon " و " auth . .PP می‌توان چندین ثبت‌کننده برای هر نوع با سطوح مختلف جزئیات ثبت گزارش برای زیرسیستم‌های گوناگون دیمن تعریف کرد. .SS زیرسیستم‌ها .TP .B dmn راه‌اندازی اصلی دیمن / پاک‌سازی / مدیریت سیگنال‌ها .TP .B mgr مدیر IKE_SA، که همگام‌سازی برای دسترسی به IKE_SA را مدیریت می‌کند .TP .B ike مربوط به IKE_SA .TP .B chd مربوط به CHILD_SA .TP .B job صف‌بندی/پردازش وظایف و مدیریت استخر نخ‌ها .TP .B cfg مدیریت پیکربندی و افزونه‌ها .TP .B knl رابط هسته IPsec/شبکه .TP .B net ارتباطات شبکه IKE .TP .B asn کدگذاری/کدگشایی سطح پایین (ASN.1، X.509 و غیره) .TP .B enc عملیات کدگذاری/کدگشایی و رمزگذاری/رمزگشایی بسته‌ها .TP .B tls پیام‌های کتابخانه libtls .TP .B esp پیام‌های کتابخانه libipsec .TP .B lib پیام‌های کتابخانه libstrongswan .TP .B tnc اتصال شبکه مورد اعتماد (Trusted Network Connect) .TP .B imc گردآورنده اندازه‌گیری یکپارچگی (Integrity Measurement Collector) .TP .B imv تأییدکننده اندازه‌گیری یکپارچگی (Integrity Measurement Verifier) .TP .B pts سرویس اعتماد پلتفرم (Platform Trust Service) .SS سطوح ثبت گزارش (Loglevels) .TP .B -1 کاملاً بی‌صدا .TP .B 0 گزارش‌های حسابرسی بسیار اولیه (مانند SA up/SA down) .TP .B 1 جریان کنترل عمومی همراه با خطاها، یک پیش‌فرض مناسب برای دیدن روند رویدادها .TP .B 2 جریان کنترل اشکال‌زدایی با جزئیات بیشتر .TP .B 3 شامل تخلیه داده‌های خام (RAW) در قالب هگزادسیمال .TP .B 4 همچنین گنجاندن داده‌های حساس در تخلیه‌ها، مانند کلیدها .SS نمونه .PP .EX charon { filelog { charon { path = /var/log/charon.log time_format = %b %e %T append = no default = 1 } stderr { ike = 2 knl = 3 ike_name = yes } } syslog { # فعال‌سازی ثبت وقایع در LOG_DAEMON، استفاده از پیش‌فرض‌ها daemon { } # ثبت حسابرسی حداقلی IKE در LOG_AUTHPRIV auth { default = -1 ike = 0 } } } .EE .SH JOB PRIORITY MANAGEMENT برخی عملیات در دیمن IKEv2 با نام charon در حال حاضر به‌صورت همگام (synchronous) و مسدودکننده (blocking) پیاده‌سازی شده‌اند. دو نمونه از چنین عملیاتی عبارتند از ارتباط با یک سرور RADIUS از طریق EAP-RADIUS، یا واکشی اطلاعات CRL/OCSP در طول اعتبارسنجی زنجیره گواهی. در شرایط بار کاری بالا، استخر نخ‌ها ممکن است با کمبود نخ‌های در دسترس مواجه شود و برخی کارهای مهم‌تر، مانند بررسی زنده بودن (liveness checking)، ممکن است به موقع اجرا نشوند. .PP برای جلوگیری از گرسنگی نخ‌ها (thread starvation) در چنین شرایطی، اولویت‌های کاری معرفی شدند. پردازشگر کارها تعدادی از نخ‌ها را برای کارهای با اولویت بالاتر رزرو می‌کند؛ این نخ‌ها برای کارهای مسدودکننده با اولویت پایین‌تر در دسترس نخواهند بود. .SS پیاده‌سازی در حال حاضر ۴ اولویت تعریف شده است و در charon به شرح زیر استفاده می‌شوند: .TP .B CRITICAL اولویت برای کارهای توزیع‌کننده با اجرای طولانی (dispatcher jobs). .TP .B HIGH تبادلات INFORMATIONAL، همان‌طور که توسط بررسی زنده بودن (DPD) استفاده می‌شود. .TP .B MEDIUM هر چیزی به جز HIGH/LOW، از جمله پردازش IKE_SA_INIT. .TP .B LOW پردازش پیام IKE_AUTH. واکشی‌های RADIUS و CRL در اینجا مسدود می‌شوند. .PP اگرچه پردازش IKE_SA_INIT از نظر محاسباتی سنگین است، اما صریحاً به کلاس MEDIUM اختصاص داده شده است. این کار به charon اجازه می‌دهد در حالی که نخ‌های دیگر در IKE_AUTH مسدود شده‌اند، تبادل DH را انجام دهد. برای جلوگیری از پذیرش بیش از حد درخواست‌های IKE_SA_INIT توسط دیمن فراتر از توان پردازش آن، از IKE_SA_INIT DROPPING استفاده کنید. .PP استخر نخ‌ها کارها را کاملاً بر اساس اولویت پردازش می‌کند، به این معنی که پیش از بررسی کارهای با اولویت پایین‌تر، تمامی کارهای با اولویت بالاتر را مصرف خواهد کرد. علاوه بر این، نخ‌هایی را برای اولویت‌های مشخص رزرو می‌کند. یک کلاس اولویت با داشتن .I n نخ رزروشده، همواره .I n نخ در دسترس برای این کلاس خواهد داشت (خواه در حال حاضر در حال پردازش یک کار باشند، یا در انتظار دریافت کار). .SS پیکربندی برای اطمینان از اینکه همواره نخ‌های کافی برای وظایف با اولویت بالاتر در دسترس است، باید نخ‌هایی برای هر کلاس اولویت رزرو شوند. .TP .BR charon.processor.priority_threads.critical " [0]" نخ‌های رزروشده برای کارهای کلاس اولویت CRITICAL .TP .BR charon.processor.priority_threads.high " [0]" نخ‌های رزروشده برای کارهای کلاس اولویت HIGH .TP .BR charon.processor.priority_threads.medium " [0]" نخ‌های رزروشده برای کارهای کلاس اولویت MEDIUM .TP .BR charon.processor.priority_threads.low " [0]" نخ‌های رزروشده برای کارهای کلاس اولویت LOW .PP پیکربندی زیر را در نظر بگیرید: .PP .EX charon { processor { priority_threads { high = 1 medium = 4 } } } .EE .PP با این پیکربندی، یک نخ برای وظایف با اولویت HIGH رزرو می‌شود. از آنجا که در حال حاضر تنها بررسی زنده بودن و پردازش پیام‌های stroke با اولویت بالا انجام می‌شوند، یک یا دو نخ باید کافی باشد. .PP کلاس MEDIUM بیشتر کارهای غیرمسدودکننده را پردازش می‌کند. مگر اینکه سیستم شما در هنگام دسترسی به منابع مشترک، قفل‌شدگی‌های زیادی را تجربه کند، نخ‌هایی به اندازه یک یا دو برابر تعداد هسته‌های پردازنده (CPU) مناسب خواهد بود. .PP معمولاً نیازی به رزرو نخ برای کارهای CRITICAL نیست. کارهای این کلاس به ندرت بازمی‌گردند و نخ خود را به استخر آزاد نمی‌کنند. .PP نخ‌های باقی‌مانده برای کارهای با اولویت LOW در دسترس هستند. رزرو نخ برای این دسته توجیهی ندارد (مگر اینکه اولویت حتی پایین‌تری داشته باشیم). .SS Monitoring برای مشاهده اینکه نخ‌ها در عمل چه می‌کنند، دستور .IR "ipsec statusall" را اجرا کنید. تحت بار سنگین، چیزی شبیه به این نمایش داده خواهد شد: .PP .EX worker threads: 2 or 32 idle, 5/1/2/22 working, job queue: 0/0/1/149, scheduled: 198 .EE .PP از میان ۳۲ نخ پردازشی (worker thread): .IP 2 در حال حاضر بیکار (idle) هستند. .IP 5 در حال اجرای کارهای با اولویت CRITICAL هستند (توزیع پیام‌ها از سوکت‌ها و غیره). .IP 1 در حال حاضر در حال مدیریت یک کار با اولویت HIGH است. این در واقع همان نخی است که در حال حاضر این اطلاعات را از طریق stroke ارائه می‌دهد. .IP 2 در حال مدیریت کارهای با اولویت MEDIUM هستند، احتمالاً پیام‌های IKE_SA_INIT یا CREATE_CHILD_SA. .IP 22 در حال مدیریت کارهای با اولویت LOW هستند، احتمالاً در هنگام پردازش پیام‌های IKE_AUTH در انتظار پاسخ EAP-RADIUS به سر می‌برند. .PP بار صف وظایف (job queue load) نشان می‌دهد که چه تعداد کار برای هر اولویت در صف قرار گرفته و آماده اجرا هستند. کار تکی با اولویت MEDIUM بلافاصله اجرا خواهد شد، زیرا ما دو نخ آزاد رزروشده برای کارهای کلاس MEDIUM در اختیار داریم. .SH IKE_SA_INIT DROPPING اگر یک پاسخ‌دهنده (responder) درخواست‌های اتصال بیشتری در ثانیه نسبت به ظرفیت پردازش خود دریافت کند، پذیرش پیام‌های IKE_SA_INIT بیشتر منطقی نیست. و اگر آن‌ها در صف قرار گیرند اما نتوانند به موقع پردازش شوند، ممکن است پاسخی پس از اینکه کلاینت از اتصال منصرف شده و فرآیند برقراری ارتباط خود را از نو آغاز کرده ارسال شود. این امر بار روی پاسخ‌دهنده را بیش از پیش افزایش می‌دهد. .PP برای محدود کردن بار روی پاسخ‌دهنده ناشی از تلاش‌های اتصال جدید، دیمن می‌تواند پیام‌های IKE_SA_INIT را بلافاصله پس از دریافت دور بیندازد (drop کند). دو سازوکار برای تصمیم‌گیری در مورد این امر وجود دارد که با گزینه‌های زیر پیکربندی می‌شوند: .TP .BR charon.init_limit_half_open " [0]" محدودیت بر اساس تعداد IKE_SAهای نیمه‌باز. IKE_SAهای نیمه‌باز، SAهایی در حالت اتصال هستند که هنوز برقرار نشده‌اند. .TP .BR charon.init_limit_job_load " [0]" محدودیت بر اساس تعداد کارهایی که در حال حاضر در صف پردازش قرار دارند (مجموع تمام اولویت‌های کاری). .PP محدودیت دوم شامل بار ناشی از کارهای دیگر مانند تجدید کلید (rekeying) نیز می‌شود. انتخاب یک مقدار مناسب دشوار است و به سخت‌افزار و بار مورد انتظار بستگی دارد. .PP محاسبه محدودیت اول ساده‌تر است، اما تنها بار ناشی از اتصالات جدید را در بر می‌گیرد. اگر پاسخ‌دهنده شما قادر به مذاکره ۱۰۰ تونل در ثانیه باشد، ممکن است این محدودیت را روی ۱۰۰۰ تنظیم کنید. در این صورت، اگر تولید پاسخ نیازمند بیش از ۱۰ ثانیه زمان باشد، دیمن تلاش‌های اتصال جدید را دور می‌اندازد. اگر حداکثر زمان پاسخ بیش از ۳۰ ثانیه را مجاز می‌دانید، تنظیم مهلت زمانی اتصال IKE_SAها را مد نظر قرار دهید .RB ( charon.half_open_timeout ). یک پاسخ‌دهنده، به‌طور پیش‌فرض، اگر آغازگر ظرف ۳۰ ثانیه IKE_SA را برقرار نکند، آن را حذف می‌کند. تحت بار کاری سنگین، ممکن است مقدار بالاتری لازم باشد. .SH LOAD TESTS برای انجام آزمایش‌های پایداری و بهینه‌سازی‌های کارایی، دیمن IKE با نام charon افزونه \fIload-tester\fR را ارائه می‌دهد. این افزونه به شخص اجازه می‌دهد هزاران تونل را به‌طور هم‌زمان در برابر خود دیمن یا یک میزبان راه دور برپا کند. .PP .B هشدار: هرگز افزونه سنجش بار را روی سیستم‌های عملیاتی فعال نکنید. این افزونه مدارک شناسایی از پیش پیکربندی‌شده ارائه می‌دهد و به مهاجم اجازه می‌دهد تا به عنوان هر کاربری احراز هویت کند. .PP .SS جزئیات پیکربندی برای احراز هویت کلید عمومی، پاسخ‌دهنده از شناسه .B \(dqCN=srv, OU=load-test, O=strongSwan\(dq استفاده می‌کند. برای آغازگر، هر تلاش اتصال از یک شناسه متفاوت به شکل .BR "\(dqCN=c1-r1, OU=load-test, O=strongSwan\(dq" استفاده می‌کند که در آن شماره اول نشان‌دهنده شماره کلاینت و شماره دوم دور احراز هویت است (در صورت استفاده از دورهای احراز هویت چندگانه). .PP برای احراز هویت PSK، شناسه‌های FQDN به کار می‌روند. سرور از .BR srv.strongswan.org استفاده می‌کند، و کلاینت از شناسه‌ای به شکل .BR c1-r1.strongswan.org بهره می‌برد. .PP برای احراز هویت EAP، کلاینت از یک NAI به شکل .BR 100000000010001@strongswan.org استفاده می‌کند. .PP برای پیکربندی دورهای احراز هویت چندگانه، چندین روش را به هم متصل کنید، مانند: .EX initiator_auth = pubkey|psk|eap-md5|eap-aka .EE .PP پاسخ‌دهنده از یک گواهی ثابت درون کد بر پایه یک کلید ۱۰۲۴ بیتی RSA استفاده می‌کند. این گواهی علاوه بر این به عنوان گواهی CA نیز عمل می‌کند. همتا از همان کلید خصوصی استفاده می‌کند، اما در صورت نیاز گواهی‌های کلاینت امضاشده توسط گواهی CA را تولید می‌نماید. گواهی پاسخ‌دهنده/CA را روی میزبان راه دور نصب کنید تا تمامی کلاینت‌ها را احراز هویت نماید. .PP برای افزایش سرعت آزمایش، افزونه سنجش بار یک پیاده‌سازی ویژه از دیفی-هلمن به نام \fImodpnull\fR را ارائه می‌دهد. با تنظیم .EX proposal = aes128-sha1-modpnull .EE این پیاده‌سازی فوق‌العاده سریع DH استفاده می‌شود. این گزینه مطلقاً هیچ امنیتی فراهم نمی‌کند، اما به شخص اجازه می‌دهد آزمایش‌ها را بدون تحمیل بار محاسباتی DH اجرا کند. .SS نمونه‌ها .PP در ساده‌ترین حالت، دیمن با استفاده از رابط loopback ارتباط‌های IKE_SA را در برابر خود آغاز می‌کند. این کار در عمل تعداد IKE_SAها را دو برابر برقرار می‌سازد، زیرا دیمن برای هر IKE_SA به‌طور هم‌زمان هم آغازگر است و هم پاسخ‌دهنده. نصب SAهای IPsec با شکست مواجه خواهد شد، زیرا هر SA دو بار نصب می‌شود. برای شبیه‌سازی رفتار درست، می‌توان یک رابط هسته ساختگی را فعال کرد که SAهای IPsec را در سطح هسته نصب نمی‌کند. .PP یک پیکربندی ساده loopback می‌تواند به این شکل باشد: .PP .EX charon { # ایجاد IKE_SAهای جدید برای هر CHILD_SA جهت شبیه‌سازی # کلاینت‌های مختلف reuse_ikesa = no # غیرفعال کردن حفاظت در برابر انکار سرویس (DoS) dos_protection = no plugins { load-tester { # فعال‌سازی افزونه enable = yes # استفاده از ۴ نخ برای آغاز هم‌زمان # اتصالات initiators = 4 # هر نخ ۱۰۰۰ اتصال را آغاز می‌کند iterations = 1000 # تأخیر در هر آغاز در هر نخ به میزان ۲۰ میلی‌ثانیه delay = 20 # فعال‌سازی رابط هسته ساختگی برای # جلوگیری از تداخل SA fake_kernel = yes } } } .EE .PP این پیکربندی ۴۰۰۰ ارتباط IKE_SA را ظرف ۲۰ ثانیه آغاز می‌کند. اگر دستگاه شما توان پردازش این میزان بار را ندارد می‌توانید مقدار تأخیر (delay) را افزایش دهید، یا برای اعمال بار بیشتر آن را کاهش دهید. اگر دیمن شروع به ارسال مجدد پیام‌ها کند، به احتمال زیاد دستگاه شما توان مدیریت تمامی تلاش‌های اتصال را ندارد. .PP این افزونه همچنین امکان آزمایش در برابر یک میزبان راه دور را فراهم می‌کند. این امر ممکن است به آزمایش در برابر یک پیکربندی واقعی در دنیای واقعی کمک کند. راه‌اندازی اتصال برای انجام آزمون فشار (stress testing) روی یک دروازه (gateway) می‌تواند به شکل زیر باشد: .PP .EX charon { reuse_ikesa = no threads = 32 plugins { load-tester { enable = yes # ۱۰۰۰۰ اتصال، ده مورد به‌صورت موازی initiators = 10 iterations = 1000 # استفاده از تأخیر ۱۰۰ میلی‌ثانیه‌ای، زمان کل برابر است با: # iterations * delay = 100s delay = 100 # نشانی دروازه remote = 1.2.3.4 # پیشنهاد IKE مورد استفاده proposal = aes128-sha1-modp1024 # استفاده از احراز هویت سریع‌تر PSK به جای # RSA با کلید ۱۰۲۴ بیتی initiator_auth = psk responder_auth = psk # درخواست IP مجازی با استفاده از بارهای داده # پیکربندی request_virtual_ip = yes # تجدید کلید CHILD_SA هر ۶۰ ثانیه child_rekey = 60 } } } .EE .SH IKEv2 RETRANSMISSION مهلت‌های ارسال مجدد (retransmission timeouts) در دیمن IKEv2 با نام charon را می‌توان به‌صورت سراسری با استفاده از پنج کلید فهرست‌شده در زیر پیکربندی کرد: .PP .RS .nf .BR charon.retransmit_base " [1.8]" .BR charon.retransmit_timeout " [4.0]" .BR charon.retransmit_tries " [5]" .BR charon.retransmit_jitter " [0]" .BR charon.retransmit_limit " [0]" .fi .RE .PP الگوریتم زیر برای محاسبه مهلت زمانی استفاده می‌شود: .PP .EX relative timeout = retransmit_timeout * retransmit_base ^ (n-1) .EE .PP که در آن .I n شمارش فعلی ارسال مجدد است. مهلت زمانی محاسبه‌شده نمی‌تواند از مقدار پیکربندی‌شده retransmit_limit (در صورت وجود) فراتر رود، که در صورت بالا بودن تعداد تلاش‌های مجدد کاربردی است. .PP اگر نوسان (jitter) بر حسب درصد پیکربندی شده باشد، مهلت زمانی به شرح زیر اصلاح می‌شود: .PP .EX relative timeout -= random(0, retransmit_jitter * relative timeout) .EE .PP با استفاده از مقادیر پیش‌فرض، بسته‌ها در فواصل زمانی زیر مجدداً ارسال می‌شوند: .TS l r r --- lB r r. ارسال مجدد مهلت نسبی مهلت مطلق 1 4s 4s 2 7s 11s 3 13s 24s 4 23s 47s 5 42s 89s صرف‌نظر کردن 76s 165s .TE . .SH متغیرها . متغیرهای استفاده‌شده در بالا به شرح زیر پیکربندی شده‌اند: .nf .na ${piddir} /var/run ${prefix} /usr ${sysconfdir} /etc ${random_device} /dev/random ${urandom_device} /dev/urandom .ad .fi . .SH پرونده‌ها . .nf .na /etc/strongswan.conf پرونده پیکربندی /etc/strongswan.d/ پوشه حاوی قطعه‌های پیکربندی گنجانده‌شده /etc/strongswan.d/charon/ قطعه‌های پیکربندی ویژه افزونه‌ها .ad .fi . .SH همچنین ببینید \fBswanctl.conf\fR(5), \fBswanctl\fR(8), \fBipsec.conf\fR(5), \fBipsec.secrets\fR(5), \fBipsec\fR(8), \fBcharon-cmd\fR(8) .SH تاریخچه توسط Tobias Brunner، Andreas Steffen و Martin Willi برای .UR https://www.strongswan.org پروژه strongSwan .UE نوشته شده است.