راهنماهای مرتبط
تأیید «افزونهٔ شبکه» در macOS چیست
بهروزرسانی
پاسخ کوتاه: این باگ نیست — یک ایست بازرسی امنیتی است که macOS در سطح سیستمعامل اعمال میکند. هر برنامهای که بخواهد ترافیک شبکهٔ شما را به دست بگیرد (نه فقط VPN — فایروال، مسدودکنندهٔ تبلیغات و ابزارهای ضبط بسته هم) پیش از آنکه واقعاً کار کند باید صریحاً از شما «Allow» (اجازه) بگیرد؛ نصب شدن و ورود موفق به حساب کافی نیست. سه کلاینت ما («خصوصی» / Tailscale، Cisco Secure Client و Hiddify) بار اولی که روی macOS وصل میشوید به این مرحله برمیخورند؛ OpenVPN Connect از این سازوکار استفاده نمیکند و چنین تأییدی لازم ندارد. در ادامه: چرا این ایست بازرسی وجود دارد، و بعد مراحل کامل برای هر دو نسخهٔ سیستمعامل.
«افزونهٔ شبکه» (Network Extension) دقیقاً چیست
هر برنامهای که بخواهد در macOS یک کارت شبکهٔ مجازی بسازد و ترافیک سیستم را از تونل خودش عبور دهد، باید این توانایی را از طریق چارچوب NetworkExtension اپل درخواست کند — سازوکاری که اپل از macOS 10.15 Catalina اجباری کرده و جایگزین افزونههای هستهٔ (kext) قدیمیتر و بسیار پرامتیازتر شده است.
این چارچوب دو نیمه دارد: برنامه تکه کدی را همراه دارد که قرار است با دسترسی بالای سیستمی اجرا شود، و سیستمعامل یک پیغام تأیید نشان میدهد — فقط وقتی خودتان روی Allow بزنید، آن کد واقعاً بارگذاری میشود و رسیدگی به ترافیک را شروع میکند. اگر این مرحله را رد کنید، افزونه در حالت «در انتظار» میماند و برای همین آیکون کلاینت بیپایان «در حال اتصال» نشان میدهد و هیچوقت موفق نمیشود.
چرا اپل این را جداگانه کنترل میکند
- هر چیزی که بتواند کارت شبکهٔ مجازی بسازد و ترافیک را به دست بگیرد، در اصل میتواند همهٔ دادههای رمزنشدهٔ شبکهٔ شما را ببیند و بیصدا مسیرشان را عوض کند — دقیقاً همان تواناییای که جاسوسافزارها بیش از همه میخواهند. اپل این را از «به محض نصب کار میکند» به «یک کلیک دستی در تنظیمات سیستم لازم دارد» تغییر داد تا هیچ چیزی بدون اطلاع شما این توانایی را به دست نیاورد.
- این پیغام فقط **بار اول** ظاهر میشود: وقتی یک کلاینت تأیید شد، اتصالهای معمولی و راهاندازی دوباره دیگر آن را نشان نمیدهند. اگر سیستمعامل را از نو نصب کنید، نسخهٔ تازهای از کلاینت را نصب کنید یا خودتان تأیید را در تنظیمات سیستم خاموش کنید، دوباره ظاهر میشود.
- هر کدام از سه کلاینت باید جداگانه از این دروازه رد شوند — سیستم تأیید را برای هر برنامهٔ درخواستکننده جداگانه ثبت میکند، نه با یک کلید سراسری. این طراحی زائد نیست؛ دانهبندی واقعی همین بررسی است.
macOS 15 Sequoia و بعد از آن
اپل در Sequoia صفحههای مدیریت «Login Items» و «Extensions» را یکی کرده است. افزونههای شبکه حالا داخل نمای دستهبندی همین صفحهٔ جدید هستند و جداگانه فهرست نمیشوند.
- System Settings ← General ← Login Items & Extensions را باز کنید.
- تا بخش «Extensions» در پایین بروید و نما را در گوشهٔ بالا از حالت پیشفرض به «By Category» (بر اساس دسته) تغییر دهید — بدون این کار، افزونههای شبکه در فهرستی طولانی میان دهها افزونهٔ دیگر سیستم گم میشوند.
- با نمای «By Category»، دستهٔ «Network Extensions» را پیدا کنید و روی ⓘ کنارش بزنید تا باز شود.
- کلاینتی را که استفاده میکنید (Tailscale / Cisco Secure Client / Hiddify) پیدا کنید و کلید کنارش را روشن کنید.
- macOS رمز ورود یا تأیید با Touch ID را میخواهد — این مرحله تأیید میکند که شخصی که پشت دستگاه نشسته اجازه میدهد، نه خود کلاینت.
- بعد از تأیید، کلید روشن میشود. به کلاینت برگردید و دوباره وصل شوید — این بار تونل باید بهطور عادی برقرار شود.
macOS 13 Ventura / 14 Sonoma
این دو نسخه از ورودی قدیمیتر استفاده میکنند؛ هشدار و متن داخل تنظیمات سیستم با Sequoia فرق دارد. بهجای آن این مسیر را دنبال کنید.
- کلاینت را بهطور عادی اجرا کنید و یک بار روی Connect بزنید — سیستمعامل فقط بعد از یک تلاش واقعی برای اتصال پیغام را نشان میدهد، نه صرفاً با نصب بودن برنامه.
- یک اعلان سیستمی با عنوانی شبیه «System Extension Blocked» ظاهر میشود. میتوانید آن را ببندید یا نادیده بگیرید؛ قدم بعد این است که خودتان سراغ تنظیم بروید.
- System Settings ← Privacy & Security را باز کنید و پایین بروید (نه بالای صفحه — معمولاً جایی در میانهٔ صفحه) تا خطی را ببینید با این مضمون: «System software from developer '<نام سازندهٔ کلاینت>' was blocked from loading».
- روی Allow کنار همان خط بزنید؛ macOS برای تأیید رمز ورود را میخواهد.
- به کلاینت برگردید و دوباره وصل شوید — این بار تونل باید بهطور عادی برقرار شود.
نام سازندهٔ هر کلاینت
در Ventura / Sonoma، نامی که بعد از «developer» در گیومه میآید برای هر کلاینت فرق دارد — آن را با کلاینتی که واقعاً نصب میکنید تطبیق دهید؛ اگر نام با چیزی که انتظار دارید جور نیست، روی Allow نزنید:
- «خصوصی» (Tailscale): بهصورت «Tailscale Inc.» نمایش داده میشود — روی یک دستگاه واقعی تأیید شده است.
- Cisco (Cisco Secure Client): انتظار میرود بهصورت «Cisco Systems, Inc.» نمایش داده شود، هنوز تأیید نشده.
- Hiddify: انتظار میرود بهصورت «Hiddify Team» نمایش داده شود، آن هم هنوز تأیید نشده.
عیبیابی
- «خطی را که قرار است تنظیمات سیستم نشان دهد پیدا نمیکنم»: مطمئن شوید همانطور که بالا گفته شد کلاینت را واقعاً اجرا کردهاید و یک بار روی Connect زدهاید — سیستمعامل فقط بعد از دریافت یک درخواست بارگذاری واقعی از افزونه این خط را نشان میدهد. برنامهای که نصب شده اما هیچوقت باز نشده آن را ایجاد نمیکند.
- «اشتباهی روی Don't Allow زدم / اعلان را بستم»: لازم نیست دنبال دکمهٔ لغو بگردید — فقط به کلاینت برگردید و دوباره روی Connect بزنید. سیستمعامل همان پیغام را دوباره نشان میدهد و میتوانید مراحل بالا را طی کنید؛ یک بار بستن شما را برای همیشه قفل نمیکند.
- «روی مک شرکت، دکمهٔ Allow خاکستری است»: معمولاً سیاست MDM (مدیریت دستگاه) این تنظیم را قفل کرده — فقط مدیر IT میتواند از کنسول خودش تأییدش کند. از بخش IT بخواهید کلاینت را به فهرست افزونههای سیستمی مجاز اضافه کند.
- «دو تا از سه کلاینت را نصب کردهام، اما فقط یکی تأیید خواست»: احتمالاً دیگری هنوز اجرا و وصل نشده — مورد اول بالا را ببینید.
FAQ
این مرحله را خودتان اضافه کردهاید؟
نه — این سازوکار داخلی macOS است که از macOS 10.15 Catalina روی هر برنامهای که بخواهد ترافیک شبکه را به دست بگیرد اعمال میشود، کلاینت هر سازندهای که باشد. مستندات خود اپل آن را دستهٔ Network Extension در System Extensions مینامد.
بعد از تأیید امن است؟ ممکن است سوءاستفاده شود؟
افزونههای شبکه در محیط ایزولهای محدودتر از افزونههای هستهٔ قدیمی اجرا میشوند و macOS ثبت میکند کدام برنامهها این مجوز را دارند — هر وقت بخواهید میتوانید فهرست کامل را در System Settings ← Privacy & Security ← Network ببینید و هر کدام را لغو کنید. کلاینتهای «خصوصی»، OpenVPN و Cisco همه نرمافزار رسمی با امضای سازندهاند؛ Hiddify نسخهٔ عیناً بازنشرشدهٔ پروژهٔ متنباز است — برای جزئیات، توضیحات دانلود در هر صفحه را ببینید.
چرا قبلاً این اتفاق نمیافتاد و ناگهان پیدا شد؟
بعد از ارتقای سیستمعامل رایج است: بعد از بهروزرسانی به Sequoia، سابقهٔ تأیید یک کلاینت موجود گاهی خودکار منتقل نمیشود و باید مراحل Sequoia بالا را دوباره انجام دهید. بعد از نصب دوبارهٔ کلاینت یا سیستمعامل هم ممکن است پیش بیاید، چون سابقهٔ تأیید پاک میشود.
باید هر سه کلاینت را نصب و تأیید کنم؟
نه — فقط همانی را که واقعاً نصب میکنید تأیید کنید. حساب روی همه کار میکند؛ هر کدام برای استفادهٔ روزانه راحتتر است انتخاب کنید، «کدام روش اتصال برای چه موقعیتی» را ببینید.
آیا این همان پیغام «damaged and can't be opened» (آسیب دیده و باز نمیشود) در macOS است؟
نه، هرچند ممکن است پشت سر هم به هر دو برخورد کنید. «آسیب دیده» بررسی Gatekeeper روی فایل نصب دانلودشده است؛ پیغام افزونهٔ شبکه لایهٔ جداگانهای است که مشخصاً تعیین میکند چه کسی اجازه دارد شبکهٔ شما را به دست بگیرد. علتها و راهحلها فرق دارند — برای آن یکی «آنتیویروس کلاینت را نشاندار میکند یا macOS میگوید آسیب دیده» را ببینید.