آیا پیوند OpenVPN با کلید ایستا میتواند چندین کارخواه را سرویس دهد؟
حالت کلید ایستا دو همتا را به هم وصل میکند. افزودن client-to-client آن را به کارساز چندکارخواهی تبدیل نمیکند؛ این کار به حالت TLS و هویت جداگانه برای هر دستگاه نیاز دارد.
حالت کلید ایستا دقیقاً دو همتا را به هم وصل میکند و این طراحی آن است، نه محدودیتی که کسی رفع آن را فراموش کرده باشد. client-to-client یک گزینهٔ هدایت در حالت کارساز است، پس افزودن آن به پیکربندی --secret هیچ تغییری در شمار کارخواهانی که میتوانند متصل شوند ایجاد نمیکند. تصمیم این نیست که کدام پرچم را اضافه کنیم، بلکه این است که آیا استقرار به یک پیوند نقطهبهنقطه نیاز دارد یا به سرویسی برای چند کارخواه. اگر چند دستگاه باید مستقل متصل شوند، حالت حفاظت تغییر میکند و هر دستگاه هویت خودش را میگیرد.
دو همتا، یک کلید و هیچ وضعیتی برای هر کارخواه: همین شکل تمام داستان این حالت است.
حالت کلید ایستا برای چه کاری است
در حالت راز، هر دو همتا یک پروندهٔ کلید را شریک میشوند و همان کلید ترافیک را مستقیماً محافظت میکند. نه دستدهی وجود دارد، نه تبادل گواهی و نه نشستی برای هر کارخواه، چون کارخواهی به معنای کارساز وجود ندارد، تنها دو نقطهٔ پایانی هستند.
این حالت برای یک جفت ماشین ثابت با فرایند مستند چرخش کلید همچنان سودمند است و OpenVPN 2.6 آن را دقیقاً به این دلیل منسوخ علامت میزند که حالت TLS آن موارد را با ویژگیهای بهتر پوشش میدهد. کاری که نمیتواند بکند تمایز دادن یک دستگاه متصل از دستگاهی دیگر است، چون در اختیار داشتن پرونده تمام داستان احراز هویت است. افزودن دستگاه سوم یعنی شریک شدن همان کلید با آن، و پس از آن دو دستگاه اول دیگر نمیتوانند آن را از خودشان تشخیص دهند.
به همین دلیل محدودیت دو همتا ساختاری است و تنظیمی نیست که بتوان تغییرش داد.
چرا client-to-client قطعهٔ گمشده نیست
client-to-client کنترل میکند که آیا کارخواهان متصل میتوانند ترافیک را از طریق کارساز مبادله کنند. این گزینه کارخواهی را نمیپذیرد، هویتی اختصاص نمیدهد و حالت کارسازی را که پیکربندی نشده ایجاد نمیکند، و در پیکربندی کلید ایستا هیچ فهرست کارخواهی برای اداره کردن آن وجود ندارد.
سردرگمی رایج دیگر به مواد tls-crypt یا tls-auth مربوط است. یک کارساز TLS میتواند یکی از آن کلیدها را میان همهٔ کارخواهان شریک شود، چون از کانال کنترل محافظت میکند نه اینکه اثبات کند هر کارخواه چه کسی است. کلید مشترک کانال کنترل در حالت TLS شیئی متفاوت از کلید داده ایستای مشترک است، هرچند هر دو به شکل پروندههایی شبیه به هم میرسند.
انتخاب میان حالتها به دو پرسش برمیگردد. آیا بیش از یک دستگاه باید مستقل متصل شود، و آیا استقرار به لغو دسترسی برای هر دستگاه نیاز دارد؟ پاسخ نه به هر دو، حالت کلید ایستا را پایا نگه میدارد؛ پاسخ بله به هر یک از آن دو به TLS اشاره دارد. گزینهٔ سومی وجود ندارد که در آن کارخواه دومی بدون هویت خودش پذیرفته شود.
ساختن کارساز چندکارخواهی
کارساز چندکارخواهی به حالت TLS، گواهی سمت کارساز و هویتی برای هر کارخواه نیاز دارد. ابزار کمکی کارساز استخر نشانیها و حالت چندکارخواهی را برپا میکند، اما پیکربندی TLS، لنگر اعتماد یا گواهیهای کارخواه را که پذیرش را معنادار میکنند فراهم نمیکند.
هر دستگاه را از طریق همان مرجع گواهی موجود ثبت کنید، نه با کپی کردن اعتبارنامهٔ یک کارخواه. هویتهای متمایز همان چیزی است که لغو دسترسی، مسیریابی برای هر کارخواه و گزارشهای سودمند را ممکن میکند، و یک گواهی کارخواه مشترک هر سه را فرو میریزد.
اگر استقرار کاربران را از طریق فهرست بیرونی یا عامل دوم احراز هویت میکند، آن طراحی همانگونه میماند. رفتن به حالت کارساز TLS تعیین میکند که همتاها در لایهٔ تونل چگونه خود را اثبات کنند و پشتوانهٔ حساب را دیکته نمیکند. دو تصمیم را جدا نگه دارید تا تغییر در یکی دیگری را بیصدا دگرگون نکند.
سپس سیاست هدایت را آگاهانه تعیین کنید. client-to-client ترافیک میان کارخواهان را در مسیر کارساز در فضای کاربر فعال میکند، که بسیاری از استقرارها میخواهند و برخی نباید داشته باشند. این یک کلید سیاست است، نه سازوکار هویت، و باید روشن شود چون طراحی آن را میخواهد، نه چون آموزشی آن را گنجانده بود.
بررسی اینکه کارخواهان واقعاً مستقل هستند
دو کارخواه را وصل کنید و تأیید کنید که نشانیهای متفاوت میگیرند و با هویتهای متفاوت در گزارش کارساز ظاهر میشوند. سپس یکی را لغو کنید و تأیید کنید که دیگری به کار ادامه میدهد، که آزمون عملی این است که هویتها شریک نشدهاند.
سرویس مجاز میان همتاها و سرویسی را که باید مسدود بماند بیازمایید. دو ورود موفق پذیرش را ثابت میکند، نه جداسازی را، و این تفاوت وقتی مهم است که استقرار باید گروههایی از کاربران را جدا کند.
سرانجام حالت کارساز را از پیکربندی در حال اجرا بخوانید، نه از حافظه. پیکربندی کلید ایستا با گزینههای افزوده هنوز یک پیوند نقطهبهنقطه است، و کارساز TLS درست تنها آرایشی است که در آن چند کارخواه واقعاً همتایانی جدا هستند.
اگر گزارش برای هر دستگاه یک نام مشترک نشان دهد، مشکل حالت نیست. مشکل فرایند ثبت است.