صفحه VPN اندروید یک ردیف با نام، نماد کلید و شاید کلید همیشه‌فعال نشان می‌دهد. به‌ندرت نقطه پایانی، سیاست مسیرها، سرورهای DNS یا اعتبارنامه‌هایی را نشان می‌دهد که اتصال را کار می‌اندازند، زیرا در تونل مبتنی بر برنامه این‌ها متعلق به برنامه‌اند. پیامد عملی یک پرسش runbook است نه فلسفی: پیش از ویرایش فایلی دانلودشده یا جست‌وجوی یک انبار مرکزی نمایه، مشخص کنید کدام مؤلفه مالک تنظیمی است که می‌خواهید تغییر دهید.

نخست نوع اتصال را مشخص کنید

دست‌کم سه آرایش روی همان صفحه تنظیمات وجود دارد. برنامه می‌تواند از VpnService برای ساخت رابط مجازی و مالکیت پروتکل و پیکربندی خصوصی استفاده کند، از جمله یک برنامه فیلتر محلی بدون خروجی راه دور. اندروید همچنین می‌تواند نمایه IKEv2 پلتفرم را از طریق Ikev2VpnProfile فراهم کند که از API 30 در دسترس است و پلتفرم بخش بیشتری از نمایه را نگه می‌دارد. و یک برنامه ارائه‌دهنده می‌تواند فهرست سرور خودش را نمایش دهد و تنظیمات را درون خود بسازد.

adb shell dumpsys connectivity | grep -i -A12 "VPN"
adb shell cmd connectivity list-owners 2>/dev/null || true

فرمان نخست شبکه VPN فعال و ویژگی‌های پیوند آن را نشان می‌دهد که همان وضعیت اعمال‌شده است. اگر ردیف بسته‌ای را نام می‌برد که می‌شناسید، از نمای نمایه خود همان برنامه شروع کنید نه از صفحه سیستم.

مالک و دامنه نمایه را ثبت کنید

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

این گام از رایج‌ترین ساعت تلف‌شده جلوگیری می‌کند: ویرایش نمایه‌ای که نمایه متصل نیست. برنامه‌ها اغلب چند نمایه نگه می‌دارند و نمایه فعال ویژگی برنامه است نه ردیف اندروید.

وضعیت درخواست‌شده، دریافت‌شده و اعمال‌شده را مقایسه کنید

این‌ها سه مرحله متفاوت‌اند و ناهمخوانی میان آن‌ها می‌گوید کدام مؤلفه را اصلاح کنید.

StageWhere to lookWhat it proves
RequestedThe app's profile editor or imported fileWhat the owner intends to use
ReceivedSanitized app log of server-supplied optionsWhat the peer actually pushed
AppliedLink properties and routes after connectWhat the device is really using

مرحله اعمال‌شده همان است که می‌توانید بدون اعتماد به گزارش هیچ‌کس مشاهده کنید. سرورهای DNS و مسیرهای ویژگی‌های پیوند فعال را با آنچه نمایه ادعا می‌کند مقایسه کنید؛ اگر متفاوت‌اند، سرور چیزی فرستاده یا برنامه سیاستی اعمال کرده که انتظارش را نداشتید.

adb shell ip addr show tun0
adb shell ip route show table all | head -40

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

همان چیزی را ویرایش کنید که مالک واقعاً می‌خواند

برای نمایه OpenVPN واردشده، برنامه معمولاً نسخه خودش را نگه می‌دارد. ویرایش بعدی فایل اصلی دانلودشده اتصال بعدی را تغییر نمی‌دهد؛ از ویرایشگر مستند برنامه استفاده کنید یا دوباره وارد کنید و تأیید کنید کدام نمایه اکنون فعال است. این تفاوت میان تغییر یک فایل و تغییر یک پیکربندی است.

برنامه‌های ارائه‌دهنده اغلب تنظیمات را از فهرست سرور می‌سازند نه با نوشتن فایلی که کاربر بتواند ویرایش کند. نبود دکمه خروجی مدرکی بر جعلی بودن VPN نیست، و فایل خروجی ممکن است کلیدهای وابسته به دستگاه یا مواد ثبت‌نامی را حذف کند که دستگاه دیگری به آن نیاز دارد. خروجی و ورودی را عملیات جداگانه با پیش‌شرط‌های خودشان بدانید.

یادداشت پشتیبانی را بدون افشای اسرار بنویسید

یادداشت سودمند برنامه و نمایه دقیق، تنظیمی که نادرست به نظر می‌رسد و شواهد هر مرحله را نام می‌برد. برای نمونه: این نمایه نشانی DNS خصوصی را از سرور دریافت می‌کند، اما برنامه کاری موردنظر نمی‌تواند سرویس خود را بازحل کند، و ویژگی‌های پیوند اعمال‌شده همان resolver را نشان می‌دهند در حالی که ویرایشگر نمایه دیگری را نشان می‌دهد.

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

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

مقالات مرتبط