کادر انتخاب شبیه تمام تصمیم است، و در Android این‌گونه نیست. همان بستهٔ علامت‌خورده زیر مبنای فقط-گنجاندن یعنی «فقط این برنامه از VPN استفاده می‌کند» و زیر مبنای حذف انتخاب‌شده‌ها یعنی «این برنامه VPN را دور می‌زند». مردم یک کلاینت نصب می‌کنند، فهرستی با نام برنامه‌های مجاز پیدا می‌کنند، تنها بسته‌ای را که برایشان مهم است علامت می‌زنند و با سیاستی می‌روند که عکس آن را انجام می‌دهد. تغییر کلاینت به‌ندرت کمک می‌کند؛ انتخاب مبنا پیش از دست زدن به فهرست کمک می‌کند.

مبنا خودِ سیاست است، نه کادر انتخاب

با VpnService اندروید کلاینت مسیریابی هر برنامه را با addAllowedApplication یا addDisallowedApplication پیکربندی می‌کند. اولی تونل را به بسته‌های فهرست‌شده محدود می‌کند، دومی همه چیز جز آن‌ها را از تونل می‌گذراند. کلاینت‌ها هر دو را در رابطی می‌پیچند که ممکن است تقریباً یکسان به نظر برسد، و برخی بخش را به نام فهرست می‌نامند نه حالت، پس عنوان بخش به‌تنهایی نمی‌تواند بگوید کدام مبنا فعال است.

کنترل حالت را بالای فهرست بخوانید، نه عنوان را. در کلاینت اصلی OpenVPN for Android فهرست برنامه‌های مجاز هم مبنای فقط-گنجاندن دارد و هم مبنای حذف انتخاب‌شده‌ها، و یک نسخهٔ برندشده می‌تواند هر دو را متفاوت بنویسد و همان دو رفتار را نگه دارد. تصویر صفحه از کلاینت دیگر، یا از نسخهٔ قدیمی‌تر همان، مدرکی دربارهٔ حالتی که در آن هستید نیست.

What the client showsWhat a checked app gets
Allowed apps, include-only baselineThe app uses the tunnel; unchecked apps do not
Allowed apps, exclude-selected baselineThe app bypasses the tunnel; everything else uses it
No list configuredClient or profile default, commonly all apps

آن جدول تمام افسانه است. علامت زدن برنامه اظهارنظری دربارهٔ یک بسته است؛ مبنا تعیین می‌کند که اظهارنظر «آن را بگنجان» است یا «آن را کنار بگذار».

اول حالت، بعد بسته

به این ترتیب کار کنید، زیرا انتخاب انجام‌شده زیر یک مبنا می‌تواند تغییر حالت را از سر بگذراند و اثرش را بی‌صدا برعکس کند:

  1. بستهٔ واقعی را شناسایی کنید و اینکه نسخهٔ نمایهٔ شخصی است یا کاری.
  2. تنظیمات انتخاب برنامه را برای همان نمایهٔ VPN که با آن وصل می‌شوید باز کنید.
  3. مبنایی را تنظیم کنید که معنایش «فقط برنامه‌های انتخاب‌شده از VPN استفاده می‌کنند» است.
  4. بستهٔ موردنظر را بگنجانید و برنامه‌های نامرتبط را بیرون از مجموعه بگذارید.
  5. دوباره وصل شوید تا کلاینت رابط را با فهرست جدید بازسازی کند.

نمایه به اندازهٔ بسته مهم است. کلاینت می‌تواند چند نمایه داشته باشد، و انتخاب هر برنامه به همان نمایه‌ای تعلق دارد که واقعاً با آن وصل می‌شوید؛ ویرایش نمایه‌ای که هرگز استفاده نمی‌کنید چیزی را تغییر نمی‌دهد. روی دستگاه مدیریت‌شده، نمایهٔ کاری کاربری جداگانه است با نسخهٔ خودش از برنامه و سیاست خودش، پس اینکه نسخهٔ شخصی داخل تونل باشد چیزی دربارهٔ نسخهٔ کاری نمی‌گوید.

پیش از داوری نتیجه دوباره وصل شوید

VpnService فهرست‌های برنامه را هنگام برقراری رابط تونل می‌خواند. تونل در حال اجرا لزوماً ویرایش فهرست را برنمی‌دارد، و کلاینت‌ها در این تفاوت دارند که خودکار بازسازی کنند یا منتظر بمانند تا قطع و دوباره وصل شوید.

اگر به نظر می‌رسد تغییر هیچ کاری نمی‌کند، پیش از تردید در فهرست اتصال دوباره را بیازمایید. سپس درخواست تازه‌ای بفرستید نه اینکه صفحه‌ای را که از قبل باز بود دوباره بارگذاری کنید: برنامه‌ای که اتصال برقرارشده را نگه می‌دارد موضوع آزمون خوبی نیست، و نتیجه‌ای که می‌بینید ممکن است به رابط قدیمی تعلق داشته باشد.

جریان کار شما می‌تواند از برنامه بیرون برود

یک برنامه می‌تواند کار را به مرورگر برای ورود، به نمایشگر سند یا به هدف اشتراک‌گذاری بسپارد. زیر مبنای فقط-گنجاندن این کمک‌کننده‌ها بیرون از تونل‌اند، پس جریان کار ممکن است نیمه‌کاره شکست بخورد حتی اگر برنامهٔ اول درست پیکربندی شده باشد. کمک‌کننده را فقط وقتی بگنجانید که جریان کار واقعاً به آن نیاز دارد، و آن را آگاهانه اضافه کنید نه اینکه هنگام نمایش کشفش کنید.

انتخاب هر برنامه سیاست مسیریابی خود اتصال را هم جایگزین نمی‌کند. نمایه هنوز باید پیشوندهای مقصد و خانواده‌های نشانی مورد استفادهٔ برنامه را حمل کند، و دروازه هنوز باید سرویس را مجاز کند. برنامه‌ای که درست فهرست شده ولی مقصدش دسترسی‌ناپذیر است مانند فهرستی بدپیکربندی به نظر می‌رسد.

هر دو سو را بیازمایید، سپس سیاست را بنویسید

یک درخواست تازه در برنامهٔ گنجانده‌شده و یکی در برنامه‌ای که باید بیرون بماند بیازمایید. نشانی خروج و دسترسی به منبعی خصوصی را مقایسه کنید، سپس پس از اتصال دوباره تکرار کنید. اگر سازمان شما از سیاست Android برای مسدود کردن اتصال‌های بدون VPN استفاده می‌کند، برنامهٔ کنارگذاشته ممکن است کاملاً مسدود شود نه اینکه مستقیم برود؛ این سیاستِ در حال کار است، نه نقصی که باید دور زده شود.

حالت، نام بسته‌ها همراه با نمایه، اینکه کدام برنامه‌ها باید عبور کنند، اینکه تونل کدام خانواده‌های نشانی را حمل می‌کند و وقتی تونل قطع است چه باید رخ دهد را ثبت کنید. اگر کلاینت نمی‌تواند جریان کار را روشن بیان کند، مجموعهٔ گسترده‌تری از برنامه‌های تأییدشده یا سیاست نمایهٔ مدیریت‌شده را انتخاب کنید، نه اینکه قواعد دیوار آتش را در سطح ریشه ویرایش کنید، که بخشی از سازوکار پشتیبانی‌شدهٔ هر برنامه در Android نیست.

مقالات مرتبط