فهرست VPN در nmcli: نمایههای ذخیرهشده در برابر تونلهای فعال
یکی از فهرستها چیزی است که ماشین ذخیره کرده است و دیگری چیزی است که متصل است. ممکن است VPNی که میخواهید از نوع wireguard باشد یا اصلاً اتصال NetworkManager نباشد.
دستور nmcli connection show را اجرا میکنید و انتظار فهرستی از VPNها را دارید، اما همه اتصالاتی را میگیرید که ماشین تاکنون ذخیره کرده است، از جمله یک پل و یک هاتاسپات. VPNی که دنبالش هستید ممکن است آنجا باشد، ممکن است نوعی غیر از vpn داشته باشد یا اصلاً اتصال NetworkManager نباشد. برای دانستن اینکه در کدامیک از این سه حالت هستید، دو دستور لازم است.
دو فهرست، دو پرسش
connection show پاسخ میدهد که NetworkManager چه ذخیره کرده است و connection show --active پاسخ میدهد که در حال حاضر چه چیزی به یک دستگاه متصل است. فهرست اول شامل نمایههای غیرفعال است و این عمدی است: VPN ذخیرهشدهای که پایین است هنوز نمایهای است که شاید لازم باشد تعمیرش کنید. اشتباه گرفتن این دو این تصور را ایجاد میکند که تونلی در حال کار است در حالی که فقط پیکربندی آن وجود دارد.
به جای خواندن جدول پیشفرض، فیلدها را انتخاب کنید، زیرا خروجی پیشفرض نوع را روی ترمینالهای باریک پنهان میکند و نامهای بلند را میشکند.
NAME و UUID و TYPE معمولاً تمام چیزی است که برای یک نگاه اول لازم دارید و سپس همان یک ورودی مورد نظر را با UUID بررسی میکنید.
TYPE جایی است که غافلگیریها هستند
OpenVPN اتصالاتی که از طریق افزونه مدیریت میشوند با نوع vpn نمایش داده میشوند، زیرا افزونه سرویسی درون چارچوب عمومی VPN است. پشتیبانی بومی WireGuard خودش یک نوع اتصال درجهیک است، بنابراین فیلتر بر اساس vpn آن را پیدا نمیکند. جستوجوی یک تونل WireGuard که چیزی برنمیگرداند معمولاً مشکل فیلتر است و نه نمایه گمشده. این یک تفاوت معماری است، نه یک عجیببودن در نامگذاری.
همین موضوع برای دیگر انواع تونل هم صدق میکند که NetworkManager به مرور زمان یاد گرفت بهصورت بومی مدیریت کند، پس ستون TYPE را بخوانید پیش از آنکه نتیجه بگیرید چیزی غایب است.
همه چیز را فهرست کنید و بعد فیلتر کنید، آنگاه نمایه ظاهر میشود.
UUID را بخوانید، نه فقط نام را
نامها برچسبهایی هستند که مردم ویرایش میکنند و دو نمایه میتوانند پس از یک ورود بیدقت یکی را شریک شوند. UUID همان هویتی است که دستورها و فایلها به آن ارجاع میدهند. وقتی یک ورودی تکراری به نظر میرسد، پیش از حذف هر چیزی UUID و تنظیمات زیربنایی را مقایسه کنید.
دستورهای فعالسازی هر دو را میپذیرند و دقیقاً به همین دلیل عادت مبتنی بر نام سرانجام نمایه اشتباه را تغییر میدهد.
وقتی چیزی را تغییر میدهید که شاید لازم باشد برگردانید، UUID را در یادداشتهایتان کپی کنید.
چیزی که نمایه ذخیرهشده به شما نمیگوید
یک نمایه ذخیرهشده چیزی درباره بالا بودن تونلش نمیگوید و یک اتصال فعال چیزی درباره کار کردن ترافیک داخلش نمیگوید. تونلی که wg-quick یا یک واحد سرویس راه میاندازد اصلاً اتصال NetworkManager نیست، بنابراین از هر دو فهرست غایب است در حالی که رابط بهوضوح ترافیک را عبور میدهد. پیش از آنکه فرض کنید نمایه غایب است، رابط و جدول مسیریابی را بررسی کنید. یک فهرست خالی فقط ثابت میکند که NetworkManager مالک نیست.
دو مدیر برای یک رابط، نسخه دیگر این مشکل است و فهرستی میسازد که درست به نظر میرسد در حالی که وضعیت هسته در اختیار چیز دیگری است.
یک مالک برای هر رابط فهرست را صادق نگه میدارد و مرجع nmcli مستند میکند که هر نما واقعاً کدام فیلدها را گزارش میکند.
بدون افشای اسرار گزارش دهید
connection show با یک نام تنظیمات را چاپ میکند و افزودن --show-secrets کلیدهای خصوصی و گذرواژهها را چاپ میکند همراه با آنها. برای چسباندن عیبیابی در یک تیکت به آنها نیازی نیست. در عوض نوع، UUID، وضعیت و مسیرهای مرتبط را گزارش دهید و هر چیزی را که از مخزن اسرار آمده است پوشانده کنید.
فعالسازی تعاملی با --ask روش پشتیبانیشده برای ارائه یک اعتبارنامه گمشده است و خودکارسازی بدون نظارت به ترتیب تأییدشده دیگری نیاز دارد، نه گذرواژه ذخیرهشده در متن ساده.
گزارش کوتاه و پوشاندهشده آسانتر از یک تخلیه کامل قابل بازبینی است.