VPN برای هر برنامه در برنامههای مدیریتشده iPhone: چه مسیریابی میشود و چه نمیشود
یک تونل برای هر برنامه از برنامه مدیریتشده پیروی میکند، نه از گوشی. پیوند بار، نسخه مدیریتشده، قواعد درخواستی و جریانهایی که از برنامه خارج میشوند را بررسی کنید.
VPN برای هر برنامه در iPhone یک کلید برای کل گوشی نیست. پیوندی میان یک برنامه مدیریتشده و یک بار VPN است که هنگام استقرار برنامه ساخته میشود، و ترافیک هر چیز دیگری مسیر پیشین خود را نگه میدارد. به همین دلیل همان گوشی بهگونهای ناسازگار رفتار میکند: برنامه کار یک صفحه خصوصی باز میکند در حالی که Safari به همان میزبان نمیرسد، یا تونل هرگز بالا نمیآید و برنامه از یک پایان مهلت خبر میدهد که شبیه اعتبارنامه بد است. بررسیها از گستردهترین علت به پایین اجرا میشوند، پس در اولین موردی که شکست میخورد توقف کنید.
نخست بار و رکورد برنامه را بررسی کنید
پیوند در دو شیء زندگی میکند، نه یکی. بار VPN تونل را تعریف میکند: نوع، سرور، احراز هویت، DNS و شناسه بسته ارائهدهنده هنگامی که از کلاینت سفارشی استفاده میشود. رکورد برنامه به آن بار اشاره میکند، و بیشتر کنسولهای مدیریت این را بهعنوان گزینهای برای هر برنامه در پیکربندی برنامه، با نامی نزدیک به Per-App VPN ارائه میدهند. باری که هیچ برنامهای به آن اشاره نمیکند چیزی را برای هر برنامه مسیریابی نمیکند؛ مانند تونلی معمولی رفتار میکند که کسی باید دستی آن را آغاز کند.
پیش از دست زدن به گوشی هر دو شیء را بخوانید. تأیید کنید که پیکربندی برنامه به باری اشاره میکند که آن را آزمایش میکنید و نه به نسخه قدیمیتر آن، زیرا بارهای تکراری با نامهای تقریباً یکسان پس از مهاجرت رایجاند و برنامه با کمال اطمینان به نسخه بازنشسته اشاره میکند. سپس تأیید کنید که پیکربندی به دستگاه رسیده است: تنظیمات، عمومی، VPN و مدیریت دستگاه باید آن را بهعنوان نمایه نصبشده نشان دهند. فهرست VPN در آنجا آزمون نیست. سرویس هر برنامه معمولاً کلید دستی ندارد، پس پیکربندی درست مستقرشده ممکن است هرگز میان VPNهای قابل آغاز ظاهر نشود. نبود آن در رکورد برنامه و در این دیده میشود که تونل در نخستین درخواست برنامه بالا میآید یا نه.
یک شرط بسیاری از تیکتها را توضیح میدهد: این مدل نیاز دارد که برنامه از طریق مدیریت بیاید. نسخهای که از بیرون نصب یا شخصاً خریداری شده باشد پیوند را نمیگیرد، حتی وقتی شناسه بسته آن مطابقت دارد. راهنمای استقرار VPN اپل مدل بار پشت این را توصیف میکند (support.apple.com/guide/deployment/vpn-overview-depae3d361d0/web).
تأیید کنید که برنامه نصبشده همان نسخه مدیریتشده است
پیوند از برنامه نصبشده و مدیریتشده پیروی میکند. اگر کسی آن را با Apple ID شخصی از App Store دوباره نصب کرده، با نسخه سازمانی دوباره امضاشده جایگزین کرده، یا دستگاه دوباره ثبت نام شده و برنامه از کانالی دیگر بازگشته باشد، تونل میتواند پایین بماند در حالی که خود برنامه کاملاً عادی به نظر میرسد.
با مقایسه بیازمایید، نه با یک مشاهده. در فهرست مدیریت، برنامه باید برای آن دستگاه بهعنوان مدیریتشده با نگاشت VPN در رکوردش نمایش داده شود. روی گوشی، تونل باید هنگام اجرای برنامه و خروج نخستین درخواستش بالا بیاید، نه فقط زمانی که کسی یک پیکربندی دستی جداگانه را در تنظیمات آغاز میکند. اگر اجرای برنامه هیچ چیزی را تغییر نمیدهد و آن پیکربندی دستی تغییر میدهد، برنامه اصلاً به تونل هر برنامه گره نخورده است.
بهروزرسانیها مهماند: آنچه از طریق مدیریت فرستاده میشود نگاشت را حفظ میکند، در حالی که نصب دوبارهای که کاربر آغاز کند میتواند آن را از دست بدهد. وقتی شکایت از یک بهروزرسانی تاریخ میگیرد، پیش از شبکه رکورد برنامه را بررسی کنید.
بررسی کنید که تونل چه چیزی را میتواند بگیرد
تونل هر برنامه بر پایه برنامه مبدأ انتخاب میشود، پس مسیر پیشفرض گوشی همچنان به Wi-Fi یا شبکه همراه تعلق دارد. OverridePrimary کلیدی است که این را تغییر میدهد. وقتی نمایه آن را تنظیم میکند، تونل مانند تونلی کامل رفتار میکند و هر برنامه آن را به ارث میبرد، پس هر چیزی که از VPN میگذرد به مسئله نمایه تبدیل میشود نه خرابی برنامه.
قواعد درخواستی پایداری را تعیین میکنند. OnDemandEnabled همراه با مجموعه قواعدش باعث میشود تونل وقتی برنامه ترافیک میفرستد بازگردد، از تغییر Wi-Fi به شبکه همراه جان سالم برباید، یا وقتی برنامه به پسزمینه میرود بیفتد. استقراری که وصل میشود و سپس بیصدا میمیرد معمولاً قاعدهای دارد که فقط با کاوشی مطابقت دارد که هرگز فعال نمیشود تا زمانی که برنامه بیکار است.
سپس سمت مسیرها را صادقانه بخوانید. اگر نمایه ارائهدهنده یا فروشنده فهرست شمول بدهد، تونلی که فقط 10.20.0.0/16 را حمل میکند سرویسی در 10.30.0.0/16 را حمل نخواهد کرد؛ این فهرست کار خود را میکند، نه خرابی هر برنامه. نمایه داخلی iOS فهرست شمول ندارد. بدون آن، تقسیم از پیشفرضهای ارائهدهنده و IncludeAllNetworks پیروی میکند، نه از فهرستی پنهان.
برنامه را بیازمایید، سپس آنچه از آن خارج میشود
با نام بیازمایید، نه فقط با نشانی. حل یک میزبان داخلی درون برنامه مدیریتشده ثابت میکند که DNS نیز از تونل گذشته است، زیرا نمایه تعیین میکند کدام حلکننده پاسخ میدهد و کدام دامنههای جستجو اعمال میشوند. مسیریابی میتواند بیعیب باشد در حالی که جستجوی نام شکست میخورد، و این دو نشانه به تنظیمات متفاوتی اشاره دارند.
سپس مرز را از هر دو سو بیازمایید. یک برنامه شخصی یا Safari باید به یک صفحه عمومی معمولی برسد و نشانی اپراتور یا خانه را گزارش کند، در حالی که برنامه مدیریتشده به سرویس خصوصی میرسد. اگر هر دو همان نشانی عمومی را گزارش کنند، تونل دیگر برای هر برنامه نیست، هر چه رکورد برنامه ادعا کند.
جریانهایی که از برنامه خارج میشوند تیکتهای گیجکننده میسازند. پیوندی که در Safari باز میشود، سندی که از طریق برگه اشتراکگذاری منتقل میشود، یا ورود SSO که به مرورگر تغییر میکند، از فرایند برنامه و همراه آن از تونل خارج میشود. ورودی که درون برنامه نمایش داده میشود معمولاً به برنامه نسبت داده میشود، پس ورود جاسازیشده میتواند جایی موفق شود که همان URL در Safari شکست میخورد؛ این را بررسی کنید نه اینکه فرض کنید. وقتی ارائهدهنده هویت فقط از طریق تونل در دسترس است، یا ورود را درون برنامه نگه دارید یا دامنه ارائهدهنده را به دامنههای Safari نمایه بیفزایید تا ترافیک Safari مطابق گرفته شود.
نشانه را با لایه تطبیق دهید
شکل خرابی میگوید کدام بررسی را تکرار کنید.
| What you see | Where the repair is |
|---|---|
| Tunnel never appears when the app opens | App-to-payload association, or the app is not the managed copy |
| Tunnel connects, internal name resolves, connection times out | Provider or vendor include list missing the subnet, or a far-side firewall |
| Tunnel connects, internal name fails to resolve | DNS servers or search domains in the payload |
| Every app uses the tunnel | OverridePrimary set, or a full-tunnel payload reused |
| Worked until an update, broken since | Association lost on reinstall, or the payload was replaced |
پشت ردیفهای میانی دو جزئیات است: تونل هر برنامه میتواند سالم باشد و باز هم زیرشبکهای را از دست بدهد که هیچ فهرست ارائهدهندهای آن را ندارد، و گوشی مدیریتشده میتواند بیش از یک پیکربندی VPN داشته باشد، پس تأیید کنید برنامه به کدام گره خورده است نه اینکه فرض کنید همان است که میخوانید.
به این ترتیب اصلاح کنید: رکورد برنامه را درست کنید تا به بار زنده اشاره کند، برنامه را از طریق مدیریت دوباره نصب کنید، تأیید کنید تونل در نخستین درخواست برنامه بالا میآید، سپس آزمونهای نام و مرز را تکرار کنید. اگر نخستین درخواست اصلاً نمیتواند تونلی آغاز کند، توقف کنید و سمت ارائهدهنده را بررسی کنید، زیرا کلاینت سفارشی به Network Extension موجود و شناسهای مطابق برنامه نصبشده نیاز دارد.
سه واقعیت برگردانید بهجای یک تصویر: رکورد برنامه به کدام بار اشاره میکند، آیا تنظیمات آن را بهعنوان نمایه نصبشده نشان میدهد، و درخواست شکستخورده چه بود، یک نام، یک نشانی یا یک انتقال به مرورگر. این سه پاسخ خطای استقرار را از خطای مسیریابی جدا میکند و نفر بعدی میتواند بدون تکرار تشخیص اقدام کند.