Wyjątek VPN dla domowej sieci LAN na Androidzie: instrukcja dla jednej usługi
Wyklucz tylko zatwierdzoną usługę domową, a nie wszystkie trasy prywatne. Opisz politykę, użyj VPN z możliwością obejścia, a potem przetestuj awarię sieci gościnnej.
Chcesz, aby jedna usługa domowa była osiągalna, a VPN nadal obowiązywał dla wszystkiego innego. Kuszącym ustawieniem jest wyjątek trasy lokalnej obejmujący każdy adres prywatny, i to jest zła kontrola: w następnej sieci hotelowej lub kawiarnianej może zamienić wszystko, co odpowiada, w obejście. Ta instrukcja ogranicza wyjątek do jednej usługi i dowodzi go w przejściach, które go psują.
Zdefiniuj wyjątek jako usługę, nie jako podsieć
Zapisz aplikację, nazwę hosta i adres celu, protokół i port, sieć, w której jest to dozwolone, oraz sprawdzenie tożsamości, które wykonuje sama usługa. W NAS z uwierzytelnianiem to certyfikat lub konto dowodzi, że trafiłeś na właściwą maszynę. Adres w 192.168.0.0/16 niczego nie dowodzi, bo każdy domowy router rozdaje te same prefiksy.
Ustal też, co znaczy blisko. Usługa w rutowanym VLAN nie jest w podsieci bezpośrednio połączonej z telefonem, a Wi-Fi gościnne może dzielić ten sam prefiks prywatny co dom, a mimo to być zupełnie inną maszyną. Wyjątek powinien nazywać usługę i środowisko, nie tylko zakres adresów.
Sprawdź, czy kontrola platformy odpowiada wymaganiu
Kreator profili IKEv2 w Androidzie udostępnia setLocalRoutesExcluded(true), a jego dokumentacja wymaga VPN z możliwością obejścia: wyjątek ma sens tylko wtedy, gdy klient pozwala ruchowi ominąć tunel. Ta sama dokumentacja ostrzega, że sieć bazowa może dostarczyć trasy wpływające na wyjątek, dlatego ustawienie podąża za siecią, do której się dołączasz, a nie tą, której ufasz.
To także nie obietnica, że każde zablokowanie lub konfiguracja zarządzana pozwoli użytkownikowi włączyć ten sam wyjątek. Wyjątek trasy, flaga możliwości obejścia i polityka blokowania urządzenia to osobne kontrole, a urządzenie zarządzane może zabronić trzeciej, pozwalając na dwie pierwsze. Sprawdź zainstalowany profil i politykę zarządzania, zanim zaprojektujesz coś wokół pola wyboru.
Instrukcja: zbuduj i zastosuj wyjątek
Krok 1: utwórz profil obsługiwaną ścieżką wdrożenia, albo konfigurację zarządzaną, albo kreator klienta. Krok 2: oznacz VPN jako taki, który można obejść, bo wyjątek trasy lokalnej bez tego nie działa. Krok 3: włącz wyjątek trasy lokalnej. Krok 4: zostaw włączone uwierzytelnianie samej usługi i weryfikację certyfikatu; wyjątek dotyczy routingu, nie zaufania. Krok 5: zapisz i połącz ponownie, aby profil został zastosowany.
Wycofanie to ta sama droga w odwrotnej kolejności: wyczyść wyjątek, potem wyczyść możliwość obejścia, potem połącz ponownie. Nie łatacz trasy ani haka zapory bezpośrednio na urządzeniu. Demon sieciowy jest właścicielem tych reguł, a reguła ręczna może pominąć inną rodzinę adresów, ponowne połączenie lub przejście sieci. Jeśli zainstalowana konfiguracja nie potrafi wyrazić polityki, utrzymaj surowszą blokadę, dopóki właściciel nie zatwierdzi innego projektu.
Przetestuj cztery przypadki, które mają znaczenie
Używaj nieszkodliwych żądań i zapisz oczekiwany wynik przed uruchomieniem każdego przypadku. Macierz poniżej jest testem akceptacyjnym, nie sugestią: jeśli którykolwiek zabroniony przypadek się powiedzie, wyjątek jest szerszy niż polityka.
| Case | Network | Destination | Expected |
|---|---|---|---|
| 1. Approved service | Home Wi-Fi | The NAS | Reachable and authenticated |
| 2. Other local device | Home Wi-Fi | A printer | Denied by VPN policy |
| 3. Same private prefix | Hotel or cafe Wi-Fi | 192.168.1.10 | Denied |
| 4. Transition | VPN drop, Wi-Fi to cellular | The NAS | No silent direct path |
Przypadek 3 wyłapuje szerokie obejście prywatnej podsieci, a przypadek 4 wyłapuje klienta, który zastosował wyjątek tylko przy połączeniu. Uruchom przypadek 4 z odłączonym VPN i telefonem przeniesionym do sieci komórkowej, potem połącz ponownie i potwierdź, że wyjątek wraca bez restartu. Dokumentacja API trasy lokalnej podaje wymóg możliwości obejścia, który czyni krok 2 obowiązkowym.
Zapisz wyjątek i przeglądaj go
Utrzymywany zapis powinien nazywać usługę, środowisko, które go uzasadniło, właściciela i datę. Lokalny opisuje relację routingu, nie poziom zaufania, a następna sieć, do której dołączy telefon, nie jest siecią, w której zatwierdzono wyjątek.
Przeglądaj zapis po aktualizacji systemu, aktualizacji klienta lub przeprowadzce. Uruchamiaj przypadek 3 ponownie przy każdym odnowieniu wyjątku, bo profil, który kiedyś ograniczył obejście do jednej usługi, można rozszerzyć jedną zmianą domyślną.