پیش از آنکه کلاینت اصلاً متصل شود دو نام در کار است: نام فایل روی لپ‌تاپ (nuc.ovpn) و هویتی که سرور از اعتبارنامه استخراج می‌کند. جست‌وجوی client-config-dir از دومی استفاده می‌کند. تغییر نام پروفایل در کلاینت یا افزودن .conf به فایل سرور هیچ تغییری در این نمی‌دهد که سرور کدام فایل را باز می‌کند.

مقایسه سودمند «کدام نام را استفاده کردم» نیست، بلکه «سرور کدام قاعده را اعمال می‌کند» است، چون احراز هویت با گواهی و احراز هویت با نام کاربر/گذرواژه می‌توانند از یک ورود یکسان نام‌های مؤثر متفاوت بسازند.

نام پروفایل در برابر نام مشترک گواهی

در پیکربندی پیش‌فرض مبتنی بر گواهی، سرور نام مشترک X.509 را می‌گیرد و درون client-config-dir دنبال فایلی با دقیقاً همان نام می‌گردد. پروفایلی به نام nuc.ovpn که گواهی‌اش tester می‌گوید به /etc/openvpn/server/ccd/tester تبدیل می‌شود. نام فایل کلاینت هرگز در محاسبه وارد نمی‌شود. این نخستین جایی است که ناهماهنگی پنهان می‌شود.

بنابراین پوشه‌ای پر از پروفایل‌های با دقت نام‌گذاری‌شده می‌تواند هر بار خطا بزند. فایل بر اساس subject، نشانی رایانامه یا نامی که در یک GUI نمایش داده می‌شود تطبیق داده نمی‌شود؛ بر اساس رشته نام مشترک تطبیق داده می‌شود.

در یک سامانه فایل حساس به حروف بزرگ و کوچک، Tester و tester دو فایل متفاوت‌اند و تنها یکی باز می‌شود. نام مشترک را از گواهی‌ای بررسی کنید که کلاینت واقعاً ارائه می‌کند، نه از نسخه‌ای در یادداشت‌هایتان.

username-as-common-name قاعده را برمی‌گرداند

وقتی سرور احراز هویت با نام کاربر/گذرواژه را با username-as-common-name اجرا می‌کند، نام کاربر احرازشده برای این جست‌وجو جای نام مشترک گواهی را می‌گیرد.

دو حالت را مستقیم مقایسه کنید: با هویت گواهی، فایل از گواهی پیروی می‌کند و تغییر گذرواژه بی‌اهمیت است؛ با هویت نام کاربر، فایل از نام ورود پیروی می‌کند و صدور دوباره گواهی بی‌اهمیت است. سرور هر فیلدی را که جایگزین کند، همان مبنای تغییر نام است. گواهی صادرشده دوباره با CN جدید به‌آرامی هدف جست‌وجو را عوض می‌کند و فایل CCD قدیمی روی دیسک می‌ماند و درست به نظر می‌رسد.

پیکربندی‌های مختلط وجود دارند و بیشتر سردرگمی از همان‌جا شروع می‌شود. اگر یک بلوک سرویس جایگزینی را فعال کند و دیگری نه، نام مؤثر به این بستگی دارد که کدام نمونه اتصال را مدیریت کرده است. پیکربندی فعال را تأیید کنید، نه اینکه فرض کنید فایل سراسری اعمال می‌شود. مرجع گزینه‌های سرور بالادست، جست‌وجوی فایل نام‌دار و جایگزین اختیاری را مستند می‌کند.

سرور چه می‌خواند و چه را بی‌صدا نادیده می‌گیرد

دو تفاوت کوچک تعیین می‌کند فایلی انتخاب می‌شود یا نه. اولی پسوندی است که افزوده شده. دومی نویسه‌ای سرگردان در نام است.

OpenVPN به نامی که جست‌وجو می‌کند .conf نمی‌افزاید، بنابراین tester.conf با tester تطبیق ندارد. ویرایشگری که پسوندها را پنهان می‌کند می‌تواند فایلی بر جا بگذارد که در فهرست درست به نظر می‌رسد و هرگز تطبیق نمی‌یابد.

وقتی فایل مطابقی وجود ندارد، سرور می‌تواند به فایلی به نام DEFAULT بازگردد. پس رسیدن بعضی تنظیمات دلیل استفاده از فایل مخصوص هر کلاینت نیست. نشانی تخصیص‌یافته یا مسیرهای هل‌داده‌شده را با آنچه فایل مخصوص هر کلاینت تولید می‌کرد مقایسه کنید. مجوزها سومین صافی‌اند، چون سرور فایل را پس از رها کردن امتیازها باز می‌کند؛ پوسته rootی که می‌تواند آن را بخواند چیزی را ثابت نمی‌کند.

نام فایل درست محتوا را اعتبارسنجی نمی‌کند

انتخاب و محتوا دو خرابی جداگانه‌اند. پس از باز شدن فایل درست، دستورهای آن هنوز باید برای همان کلاینت معتبر باشند.

ifconfig-push باید نشانی‌ای اختصاص دهد که توپولوژی واقعاً بتواند استفاده کند، و iroute تنها برای زیرشبکه مسیریابی‌شده پشت همان کلاینت معنا دارد.

یک هویت، چند دستگاه

دو لپ‌تاپ که همان نام مشترک را ارائه می‌کنند همان فایل را انتخاب می‌کنند و همان تنظیمات مخصوص کلاینت را می‌گیرند. اگر به نشانی‌های جداگانه یا ابطال جداگانه نیاز دارید، به هویت‌های جداگانه نیاز دارید، نه دو نسخه از یک فایل.

این مقایسه میان هم‌رسانی یک هویت و صدور یک گواهی برای هر دستگاه است. هم‌رسانی مدیریت ساده‌تری دارد و ابطالش درشت‌تر است، در حالی که گواهی هر دستگاه راه‌اندازی بیشتری می‌خواهد و واحد تمیزی برای غیرفعال کردن به شما می‌دهد.

مقالات مرتبط