آیا افزونه VPN مک شما فعال است؟ سه جا برای بررسی
فعال، نصبشده و متصل در macOS وضعیتهای متفاوتی هستند. پیش از نصب دوباره، فهرست افزونهها، خروجی CLI و وضعیت خود کلاینت را مقایسه کنید.
نوار منو میگوید متصل است، در حالی که فهرست افزونهها هنوز مؤلفه را غیرفعال علامت میزند. هر دو خوانش از همان مک میآید و هیچکدام دروغ نمیگویند: آنها واقعیتهای متفاوتی را توصیف میکنند. macOS دستکم سه وضعیت جداگانه برای کلاینت VPN نگه میدارد و رشتههای پشتیبانی آنها را در یک عبارت ادغام میکنند، از همین رو توصیه بین نصب دوباره و پیکربندی دوباره نوسان میکند. دانستن اینکه واقعاً کدام وضعیت را کم دارید، یک بعدازظهر حدس زدن را به بررسی دو دقیقهای تبدیل میکند.
این وضعیتها مالکان متفاوت و مکانهای متفاوتی دارند. یکی به رجیستری افزونههای سیستمعامل تعلق دارد، یکی به سیاستی که دستگاه از آن پیروی میکند و یکی به نشست خود کلاینت. چون مالکان فرق میکنند، اصلاحی که روی یکی اعمال شود بهندرت دو تای دیگر را تغییر میدهد.
سه وضعیت که با یک نام خوانده میشوند
| State | Where it lives | What it does not prove |
|---|---|---|
| installed and activated | the system extension registry | that any tunnel exists |
| permitted by policy | a configuration profile or a one-time user approval | that the vendor's profile is configured |
| connected | the client's own session state | that traffic takes the intended route |
ترتیبی که آنها را میخوانید از خود فهرست مهمتر است: با رجیستری شروع کنید، چون مؤلفهای که هرگز فعال نشده نمیتواند متصل باشد؛ سپس سیاست را بخوانید که تصمیم میگیرد فعالسازی اصلاً ممکن است یا نه؛ سپس کلاینت را بخوانید که تنها یکی از سه است که یک نشست را توصیف میکند. ناسازگاری در بالای این ترتیب هر نشانهای را در پایین توضیح میدهد و ناسازگاری در پایین دو مورد بالایی را دستنخورده میگذارد.
مثال مشخصی از این تفاوت: یک ورودی رجیستری که فعال خوانده میشود بههمراه کلاینتی که نمیتواند متصل شود، به پروفایل یا سرور اشاره میکند نه به افزونه. ترکیب برعکس، کلاینت فعال در کنار رجیستری که چیزی نشان نمیدهد، معمولاً یعنی برنامهای که میبینید همان برنامهای نیست که ترافیک را حمل میکند. پیش از دست زدن به هر چیزی بنویسید کدام ترکیب را مشاهده کردید.
یافتن افزونه بدون اعتماد به آیکون
نسخههای کنونی افزونههای شبکه را زیر System Settings، General، Login Items و Extensions فهرست میکنند. ورودی نامگذاریشده با نام محصول یا ناشر آن را بیابید و کلید کنارش را بخوانید، نه نماد نوار منو. برچسبها و جایگاهها میان نسخههای macOS جابهجا شدهاند، پس بهجای تصویر یک مقاله قدیمی از دستورهای فروشنده برای نسخه خودتان پیروی کنید. ورودیای که کاملاً غایب است یعنی مؤلفه هرگز نصب نشده و ویرایش پروفایل آن را ظاهر نمیکند.
systemextensionsctl list
log show --last 10m --predicate 'subsystem == "com.apple.networkextension"' --style compact
دستور اول سریعترین راه برای دیدن اینکه چه چیزی نصب است و آیا هر افزونه خود را فعال گزارش میکند. دومی نشان میدهد چرا فعالسازی رد میشود، چون رد معمولاً بهصورت شکایت سیاست یا امضا میآید که هرگز به رابط کاربری نمیرسد. پیش از تغییر هر چیزی متن رد را بخوانید: خط گزارش نام مؤلفه و اغلب دلیل را میگوید، که دقیقاً همان چیزی است که یک پرونده پشتیبانی لازم دارد. کل خط را کپی کنید نه عبارتی که فکر میکنید مهم است، چون نسخه و شناسه در دو انتهای مقابل آن قرار دارند.
چیزی که کلاینت اعتراف میکند و فهرست نمیکند
پس از تأیید افزونه، از کلاینت بپرسید آیا پروفایل و نشست دارد، چون پروفایل ذخیرهشده بدون اتصال یک مشکل پیکربندی است، در حالی که اتصالی که هیچ ترافیکی حمل نمیکند مشکل مسیریابی یا سیاست است. برخورد با هر سه بهعنوان یکی شما را به نصب دوباره مؤلفهای برمیگرداند که تمام مدت کار میکرد.
scutil --nc list
scutil --nc status "Work VPN"
فهرست سرویسهای پیکربندیشده و وضعیت اتصالشان را نشان میدهد؛ فراخوانی وضعیت، وضعیت یک سرویس نامدار و آخرین خطای آن را نشان میدهد. پیش از نصب دوباره آن متن و نسخه macOS را ذخیره کنید، چون نصب دوباره شواهد را نابود میکند و اغلب همان خرابی را بازتولید میکند.
وقتی سیاست صاحب کلید است
روی یک مک مدیریتشده یک پروفایل پیکربندی میتواند افزونه را در وضعیت ثابت نگه دارد، و آنگاه کلید بهحکم طراحی خاکستری میشود. کلید در دسترس نبودن یک بیانیه سیاست است، نه یک باگ برای دور زدن. حذف پروفایل یا ثبت مدیریت برای رسیدن به آن، وضعیت امنیتی دستگاه را تغییر میدهد، در بررسی بعدی بازگردانده میشود و ماشینی باقی میگذارد که خود را مطابق گزارش میکند در حالی که کنترلهایی که آن را مطابق میکردند از دست رفتهاند. این نتیجه از مشکل اصلی بدتر است، چون هم علت و هم نشانه را پنهان میکند.
درخواست را با شناسه افزونه، متن دقیق رد و نسخه به سرپرست ببرید. یک استقرار مدیریتشده معمولاً میتواند یک افزونه شبکه را بهصورت مرکزی در چند دقیقه تأیید کند، که هم از راه دور زدن سریعتر است و هم بعداً قابل حسابرسی.
اثبات اصلاح روی یک برنامه واقعی
پس از هر اصلاح پشتیبانیشده، دوباره متصل شوید و برنامهای را که VPN برایش وجود دارد آزمایش کنید، نه نشان نوار منو. سپس تأیید کنید که ترافیکی که باید بیرون از تونل بماند واقعاً بیرون میماند، چون اصلاحی که بیصدا همه چیز را از تونل میفرستد تغییری متفاوت از آن است که قصد داشتید. آزمایش دو دقیقهای روی برنامه واقعی از نشانی که نمیتوانید بازتولید کنید ارزشمندتر است.
یک هشدار وقتی در آن فهرست هستید: فیلتر محتوا هم یک افزونه شبکه است. وقتی یک سایت از کار میافتد، غیرفعال کردن همه افزونههای پنل حرکتی خام است که فیلترکردن نامرتبط برنامههای دیگر را میشکند و تشخیص بعدی را با حذف مؤلفههایی که مقایسه میکردید سختتر میکند. پیش از دست زدن، افزونه را با ناشر و نقش مشخص کنید و بنویسید کدام یک از سه وضعیت واقعاً اشتباه بود.