Xaric edilmiş tətbiq onlayndır? Tətbiq və marşrut qaydaları fərqlidir
Android tətbiqini VPN-dən xaric etmək onu bloklamır. İcazə siyahıları, UID siyasət qaydaları və göndərilən marşrutlar yolun fərqli hissələrini müəyyən edir.
Paketi xaric etmək blok deyil, marşrut göstərişidir, ona görə VPN qoşulduqdan sonra yüklənən səhifələr gözləniləndir, nasazlıq sübutu deyil. Xaric etmə tətbiqi bloklamaq əvəzinə tuneldən çıxarır və adi şəbəkə onun trafikini daşıyır. Burada iki ayrı siyasət qarşılaşır: biri prosesləri, digəri təyinatları seçir. Onları bu ardıcıllıqla oxumaq qoşulmuş ikonanın və işləyən tətbiqin niyə ziddiyyət olmadığını izah edir.
Niyə xaric etmə şəbəkəni açıq saxlayır
VpnService.Builder ya icazə siyahısı, ya da qadağa siyahısı qəbul edir, heç vaxt ikisini birdən yox. İcazə siyahısındakı paketlər tuneldən keçən yeganə paketlərdir. Qadağa siyahısı bunu tərsinə çevirir: sadalananlardan başqa hər paket tuneldən istifadə edir, sadalananlar isə fiziki yolu saxlayır. İcazə siyahısı altında sadalanmayan paket də tuneldən kənardadır, yəni bu rejimdə əksər tətbiqlər üçün xaric etmə normal haldır.
Bu, yerli qadağa qeydini firewall qaydası deyil, marşrut qərarı edir. Məqsəd tətbiqin hosta çatmasını dayandırmaqdırsa, tunel onu əhatə etməli və server və ya yerli siyasət trafiki rədd etməlidir. Tətbiqi tuneldən çıxarmaq yalnız onun paketlərini hansı interfeysin daşıdığını dəyişir.
Play Store halı adi qəsdən seçilmiş nümunədir. Mağaza paketini xaric etmək, VPN çıxışı ötürmələrə mane olduqda yükləmələrə əsas bağlantıdan istifadə etməyə imkan verir və xaric etmənin blok deyil, yan keçmə olduğunu göstərir.
Bir profil, bir siyahı
Hər iki çağırış istifadə olunarsa, qurucu xəta atır, yəni qarşınızdakı profil ya icazə, ya da qadağa siyahısıdır. Bu tək fakt sonrakı hər müşahidənin necə oxunacağını müəyyən edir. Marşrut cədvəlindən əvvəl kodu və ya idarə olunan konfiqurasiyanı yoxlayın, çünki siyahı çıxışın qalan hissəsinin mənasını həll edir. Hibrid profil baxa biləcəyiniz hal deyil.
Bu fərq yeni quraşdırılmış tətbiqin nə edəcəyini də proqnozlaşdırır. İcazə siyahısı altında kimsə onu əlavə edənə qədər kənarda qalır, qadağa siyahısı altında isə standart olaraq tunelə qoşulur.
İdarə olunan konfiqurasiyalar eyni seçimi fərqli açar adları altında təqdim edir və bəzi konsollar bunu siyahı deyil, tətbiq başına VPN rejimi kimi təsvir edir. Davranış yenə də həmin iki çağırışa qədər azalır, ona görə etiketə güvənmək əvəzinə parametri paket siyahısına qədər izləyin. Etiketlə siyahı ziddiyyət təşkil edirsə, siyahı qalib gəlir.
UID qaydasını tunel cədvəlinə qədər izləyin
Android hər tətbiqə öz Linux istifadəçi ID-sini verir və VPN xidməti UID aralıqlarına uyğun siyasət qaydaları quraşdırır. Uyğun trafik standart marşrutu tun cihazına baxan marşrut cədvəlinə göndərilir. Cədvəl nömrəsi hər VPN nüsxəsi üçün ayrılır, ona görə yenidən qoşulmadan və ya ikinci VPN profili yaradıldıqdan sonra dəyişir.
Qayda çıxışı xəritədir. Hər sətir bir axtarış cədvəli adlandırır və həmin cədvəl uyğun paketlərin tunelə girib-girmədiyini həll edən standart marşrutu saxlayır.
adb shell ip rule show
adb shell ip route show table all
adb shell cmd package list packages -U | grep <package>
UID almaq üçün əvvəlcə üçüncü əmri işə salın, sonra aralığına onu daxil edən qaydayı tapın. Həmin qayda bir cədvəl nömrəsinə işarə edir və ip route show table <n> bu nömrə ilə tun cihazından keçən standart marşrutun olub-olmadığını göstərir. Cədvəldə standart yoxdursa, tətbiq seçilib, lakin yolu yoxdur, bu isə başqa nasazlıqdır.
Bu əmrlər sazlana bilən quruluş və ya adb shell-in şəbəkə vəziyyətini oxuya bildiyi cihaz tələb edir. İstehsalat telefonunda paket meneceri yenə cavab verir, lakin marşrut yoxlaması rədd edilə bilər, ona görə bacardığınızı qeyd edin və qalanını təsdiqlənməmiş sayın.
Marşrut tətbiq deyil, prefiks tələb edir
Builder.addRoute tunel üçün təyinat prefikslərini tələb edir. Yalnız 10.0.0.0/8 əlavə edən profil həmin prefiksi tuneldən göndərir və hər digər təyinatı fiziki yolda qoyur. Bu adi bölünmüş tuneldir və qaydaların hansı tətbiqləri seçdiyindən asılı deyil.
Serverdən göndərilən konfiqurasiya eyni modeli əks etdirir. Fərdi marşrut göndərişləri prefikslər əlavə edir, redirect-gateway direktivi isə standart marşrutu əvəz edir və tunelin əhatə etdiyi tətbiqlər üçün hər şeyi tutur. Həmin direktivi silmək işlək tuneli cihazda heç bir dəyişiklik olmadan bir alt şəbəkəyə qədər kiçildə bilər.
Qeyri-adi şlüz və ya metrik keyfiyyətvericisi olan göndərilmiş marşrut da quraşdırıla bilməyə bilər. Adi prefiks formasına üstünlük verin və yönləndirməni və NAT-ı serverə buraxın.
Parametri dəyişməzdən əvvəl kəsişməni oxuyun
Tunel əhatə olunan proseslərin və tələb edilən təyinatların kəsişməsini daşıyır. Yayımlanmış prefikslərdən kənarda ünvan istəyən əhatə olunmuş tətbiq fiziki şəbəkə ilə çıxır. Qadağan edilmiş paket həmin prefikslərin içində ünvan istəsə belə kənarda qalır. Heç biri səhv deyil; ikisi də iki siyasətin öz işini görməsidir.
Tətbiq başına VPN, əlaqəli tətbiqi bağlantısız da qoya bilər. on-demand söndürüldükdə və tunel işləmədikdə, tətbiq tətbiq başına VPN-ə bağlı qalır və heç bir ehtiyat yolu yoxdur, bu da siyasət halı deyil, xarab tətbiq kimi görünür. on-demand-ı aktivləşdirmək və ya əlaqəni idarəetmə vasitəsilə silmək bunu dəyişir.
| Layer | What it selects | Where to look | Typical mismatch |
|---|---|---|---|
| Package list | Processes | Builder calls or managed configuration | App excluded but expected to be blocked |
| UID policy rule | Which table a UID uses | ip rule show | Tunnel icon on, app still on Wi-Fi |
| Routing table | Destinations for matched traffic | ip route show table <n> | Covered app reaches only one subnet |
| Server push | Prefixes offered to the client | Server route configuration | Tunnel shrinks after a server edit |
Bir dəfə bir ox üzrə diaqnoz qoyun. Əvvəlcə icazə və ya qadağanı təsdiqləyin, ikinci olaraq quraşdırılmış UID qaydalarını və cədvəlləri oxuyun, son olaraq ikinci tətbiqi eyni təyinat üzərində sınaqdan keçirin. İkinci tətbiq proses seçimini təyinat seçimindən bir sorğuda ayırır.
Nəticəni tətbiq, təyinat və cədvəl nömrəsi kimi yazın. Növbəti dəyişiklik məhz bu üçlüyü qorumalıdır.