NM OpenVPN: نمایه ذخیرهشده فایل .ovpn شما نیست
درونریزی گزینهها را به یک اتصال ذخیرهشده ترجمه میکند. vpn.data را دوباره بخوانید، ta و ta-dir را بررسی کنید و بهجای جایگزینی فرهنگ لغت، یک ورودی را بهروزرسانی کنید.
همان .ovpn فایل از یک پوسته متصل میشود و پس از درونریزی به NetworkManager مهلتش تمام میشود. نتیجه طبیعی این است که VPN خراب است. توضیح محتملتر کوچکتر است: NetworkManager فایل را نگه نداشت، بخشی از آن را به یک اتصال ذخیرهشده درونریزی کرد و تونل در حال اجرا در عوض از همان دادههای ذخیرهشده استفاده میکند. آنچه فایل اکنون میگوید به آنچه نمایه در خود دارد بیارتباط است.
فایل همان نمایه نیست
درونریزی یک ترجمه است، نه یک سوارکردن. گزینههایی که افزونه میفهمد به کلیدهایی در vpn.data فرهنگ لغت اتصال تبدیل میشوند؛ گزینههایی که نمیفهمد کنار گذاشته یا جای دیگری ثبت میشوند؛ و مسیر اصلی فقط یک ارجاع است. ویرایش فایل منبع پس از آن چیزی را در اتصالی که از قبل ذخیره شده تغییر نمیدهد.
این شکاف خانوادهای کامل از گزارشها را توضیح میدهد: کلید مشترک چرخانده شد، فایل بهروزرسانی شد و تونل هنوز شکست میخورد. نمایه ذخیرهشده هنوز به مسیر قدیمی یا مقدار قدیمی اشاره میکند و خط فرمان همچنان کار میکند چون فایلی را میخواند که ویرایش کردهاید. دو کلاینت، دو منبع حقیقت، و فقط یکی از آنها بهروزرسانی شد.
نمایه ذخیرهشده را بخوانید، نه کادر گفتگو را
nmcli -f connection.id,connection.uuid,vpn.service-type,vpn.data connection show office-vpn
وقتی دو نمایه نامی مشترک دارند از UUID استفاده کنید و تأیید کنید که نوع سرویس همان افزونه OpenVPN است که انتظار دارید، نه نوع VPN دیگری که تصادفاً نصب شده است. سپس نقطه پایانی، انتقال و ارجاعهای گواهی را با فراخوانی کارآمد مقایسه کنید.
مقداری که در یک ویرایشگر گرافیکی دیده میشود اثبات ذخیرهشدن آن نیست. ذخیره کنید، دوباره باز کنید و آن را از طریق خط فرمان بازخوانی کنید؛ نقصهای تاریخی ذخیرهسازی دلیلی برای بررسی دادههای ذخیرهشده است، نه شاهدی بر اینکه هر ساخت فعلی همان اشکال را دارد. بررسی یک فرمان هزینه دارد.
دو کلید، و جهتی که اهمیت دارد
برای اتصالی که از احراز هویت TLS استفاده میکند، افزونه مسیر کلید مشترک را در ta و جهت را در ta-dir ذخیره میکند، وقتی استقرار از یکی استفاده میکند. هر دو در فرهنگ لغت داده نمایه زندگی میکنند و هر دو باید با آنچه سرور انتظار دارد مطابقت داشته باشند.
جهت تصمیمی از سمت سرور است که روی کلاینت بیان میشود. انتخاب یکی به این دلیل که نمایه مجاور آن را دارد راهی است که یک کلید کارآمد شروع به شکست در دستدادن میکند. اگر پیکربندی سرور بدون جهت باشد، کلاینت نباید جهتی از خود بسازد.
خود فایل کلید باید در بافتاری که واقعاً در آن اجرا میشود برای افزونه قابل خواندن باشد. یک بسته محدودشده نمای متفاوتی از سامانه پروندهها نسبت به نصب معمول رومیزی دارد، بنابراین مسیری که در پوسته شما وجود دارد ممکن است برای سرویس نامرئی باشد.
یک ورودی را بهروزرسانی کنید، نه فرهنگ لغت را
nmcli connection modify office-vpn +vpn.data 'ta=/etc/NetworkManager/certs/office-ta.key'
nmcli connection modify office-vpn +vpn.data 'ta-dir=1'
علامت بهعلاوه پیشرو ورودیهای جداگانه فرهنگ لغت را بهروزرسانی میکند. اختصاص دادن vpn.data بدون آن کل فرهنگ لغت را جایگزین میکند، و اینگونه است که یک کلید گمشده به پنج تنظیم خراب تبدیل میشود. پس از تغییر نمایه را دوباره بخوانید و تأیید کنید که سایر ورودیها زنده ماندهاند. فرهنگ لغتی که نقطه پایانی راه دور و گواهیهایش را از دست داده بعدازظهر بسیار طولانیتری است از آنکه با آن شروع کردید.
از طریق کنترلهای معمول دوباره متصل شوید و مرحلهای را که شکست میخورد تماشا کنید. اگر دروازه کلید مشترک اکنون عبور میکند و کلاینت خطای گواهی یا احراز هویت کاربر را گزارش میدهد، پیش رفتهاید و بررسی بعدی متفاوت است.
حالتهای کانال کنترل را با هم اشتباه نگیرید
tls-auth, tls-crypt؛ و tls-crypt-v2 چیدمانهای متفاوتی هستند. فایل کلیدی که مشابه به نظر میرسد آنها را قابل تعویض نمیکند، و پر کردن فیلدهای TLS-Auth به این دلیل که نمایه دیگری کلید قالبریزیشده دارد، نمایهای تولید میکند که به شکلی شبیه کلید اشتباه شکست میخورد.
از نگاشت افزونهای استفاده کنید که با حالت در پیکربندی سرور مطابقت دارد. وقتی حالت روشن نیست، از صاحب سرور بپرسید نه اینکه از خط اول فایل حدس بزنید.
وقتی تونل نشست مدیریت شما را حمل میکند یک مسیر بازیابی نگه دارید. تغییر ذخیرهشده لزوماً تغییر اعمالشده نیست، و درونریزی موفق اثبات پشتیبانی از هر گزینه منبع نیست. هر دو شکاف ارزش دانستن دارند پیش از آنکه پیوندی را که از طریق آن کار میکنید دوباره متصل کنید.