Pole wyboru wygląda jak cała decyzja, a na Androidzie nią nie jest. Ten sam zaznaczony pakiet oznacza „tylko ta aplikacja korzysta z VPN” w bazie tylko dołączania oraz „ta aplikacja pomija VPN” w bazie wykluczającej wybrane. Ludzie instalują klienta, znajdują listę oznaczoną Dozwolone aplikacje, zaznaczają jeden pakiet, na którym im zależy, i odchodzą z polityką, która robi coś odwrotnego. Zmiana klienta rzadko pomaga; wybór bazy przed dotknięciem listy pomaga.

Bazą jest polityka, nie pole wyboru

W ramach Androidowego VpnService klient konfiguruje trasowanie na aplikację za pomocą addAllowedApplication lub addDisallowedApplication. Pierwsze ogranicza tunel do wymienionych pakietów, drugie tuneluje wszystko poza nimi. Klienci pakują oba w interfejs, który może wyglądać niemal identycznie, a niektórzy opisują sekcję według listy, a nie według trybu, więc sam tytuł sekcji nie powie, która baza jest aktywna.

Czytaj kontrolkę trybu nad listą, nie nagłówek. W kliencie OpenVPN for Android z upstreamu lista dozwolonych aplikacji ma bazę tylko dołączania i bazę wykluczającą wybrane, a build markowany może obie sformułować inaczej, zachowując te same dwa zachowania. Zrzut ekranu z innego klienta albo ze starszej wersji tego samego nie jest dowodem w sprawie trybu, w którym jesteś.

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

Ta tabela to cały mit. Zaznaczenie aplikacji jest stwierdzeniem o jednym pakiecie; baza rozstrzyga, czy stwierdzenie brzmi „dołącz”, czy „wyklucz”.

Najpierw tryb, potem pakiet

Pracuj w tej kolejności, bo wybór dokonany w jednej bazie może przetrwać zmianę trybu i po cichu odwrócić swoje działanie:

  1. Zidentyfikuj właściwy pakiet i ustal, czy to kopia osobista, czy z profilu służbowego.
  2. Otwórz ustawienia wyboru aplikacji dla dokładnie tego profilu VPN, z którym się łączysz.
  3. Ustaw bazę, której znaczenie brzmi „tylko wybrane aplikacje korzystają z VPN”.
  4. Dołącz zamierzony pakiet, a niepowiązane aplikacje pozostaw poza zbiorem.
  5. Połącz ponownie, aby klient odbudował interfejs z nową listą.

Profil jest tak samo ważny jak pakiet. Klient może mieć kilka profili, a wybór na aplikację należy do tego, z którym naprawdę się łączysz; edycja profilu, którego nigdy nie używasz, niczego nie zmienia. Na zarządzanym urządzeniu profil służbowy jest osobnym użytkownikiem z własną kopią aplikacji i własną polityką, więc fakt, że instancja osobista jest w tunelu, nic nie mówi o instancji służbowej.

Połącz ponownie, zanim ocenisz wynik

VpnService odczytuje listy aplikacji, gdy interfejs tunelu zostaje ustanowiony. Działający tunel niekoniecznie przejmuje edycję listy, a klienci różnią się tym, czy odbudowują go automatycznie, czy czekają, aż rozłączysz się i połączysz ponownie.

Jeśli zmiana wydaje się nic nie robić, przetestuj ponowne połączenie, zanim zwątpisz w listę. Potem wykonaj nowe żądanie zamiast przeładowywać stronę, która była już otwarta: aplikacja utrzymująca ustanowione połączenie jest słabym obiektem testowym, a widoczny wynik może należeć do starego interfejsu.

Twój przepływ może wyjść z aplikacji

Aplikacja może przekazać zadanie przeglądarce przy logowaniu, przeglądarce dokumentów albo celowi udostępniania. W bazie tylko dołączania ci pomocnicy są poza tunelem, więc przepływ może zawieść w połowie, choć pierwsza aplikacja była skonfigurowana poprawnie. Dołączaj pomocnika tylko wtedy, gdy przepływ naprawdę go potrzebuje, i dodawaj go świadomie, zamiast odkrywać go podczas demonstracji.

Wybór na aplikację nie zastępuje też polityki tras samego połączenia. Profil nadal musi przenosić prefiksy docelowe i rodziny adresów, których używa aplikacja, a brama nadal musi zezwalać na usługę. Poprawnie wpisana aplikacja z nieosiągalnym celem wygląda tak samo jak źle skonfigurowana lista.

Przetestuj obie strony, potem zapisz politykę

Przetestuj jedno nowe żądanie w dołączonej aplikacji i jedno w aplikacji, która ma zostać na zewnątrz. Porównaj adres wyjściowy i dostęp do prywatnego zasobu, a potem powtórz po ponownym połączeniu. Jeśli twoja organizacja stosuje Androidową politykę blokowania połączeń bez VPN, wykluczona aplikacja może zostać całkiem zablokowana zamiast iść bezpośrednio; to polityka działa, a nie usterka do obejścia.

Zapisz tryb, nazwy pakietów wraz z profilem, które aplikacje mają omijać, które rodziny adresów przenosi tunel i co ma się dziać, gdy tunel nie działa. Jeśli klient nie potrafi czysto wyrazić przepływu, wybierz szerszy zatwierdzony zestaw aplikacji albo politykę profilu zarządzanego, zamiast edytować reguły zapory na poziomie root, co nie jest częścią wspieranego przez Androida mechanizmu na aplikację.

Powiązane artykuły