Izuzeće VPN-a za kućni LAN na Androidu: priručnik za jednu uslugu
Isključite samo odobrenu kućnu uslugu, a ne sve privatne rute. Napišite politiku, koristite VPN koji se može zaobići, pa testirajte otkaz gostujuće mreže.
Želite da jedna kućna usluga bude dostupna dok VPN ostaje na snazi za sve ostalo. Primamljiva postavka je izuzeće lokalne rute koje pokriva svaku privatnu adresu, i to je pogrešna kontrola: na sledećoj hotelskoj ili kafićnoj mreži može pretvoriti sve što odgovori u zaobilaznicu. Ovaj priručnik svodi izuzeće na jednu uslugu i dokazuje ga pod prelazima koji ga lome.
Definišite izuzeće kao uslugu, ne kao podmrežu
Zabeležite aplikaciju, ime hosta i adresu odredišta, protokol i port, mrežu u kojoj je dozvoljeno, i proveru identiteta koju sprovodi sama usluga. Na NAS-u sa autentifikacijom sertifikat ili nalog dokazuje da ste stigli na pravu mašinu. Adresa u 192.168.0.0/16 ne dokazuje ništa, jer svaki kućni ruter deli iste prefikse.
Odredite i šta znači blizu. Usluga na rutiranom VLAN-u nije na podmreži na koju je telefon direktno povezan, a gostujući Wi-Fi može deliti isti privatni prefiks sa domom i pritom biti sasvim druga mašina. Izuzeće treba da imenuje uslugu i okruženje, ne samo opseg adresa.
Proverite da li kontrola platforme odgovara zahtevu
Androidov graditelj IKEv2 profila izlaže setLocalRoutesExcluded(true), a njegova dokumentacija zahteva VPN koji se može zaobići: izuzeće ima smisla samo kada klijent dozvoljava saobraćaju da zaobiđe tunel. Ista dokumentacija upozorava da osnovna mreža može dostaviti rute koje utiču na izuzeće, zato postavka prati mrežu kojoj se pridružujete, a ne mrežu kojoj verujete.
To takođe nije obećanje da će svako zaključavanje ili upravljana konfiguracija dozvoliti korisniku da uključi isto izuzeće. Izuzeće rute, zastavica zaobilaznosti i politika blokiranja uređaja su odvojene kontrole, a upravljani uređaj može zabraniti treću dok dozvoljava prve dve. Proverite instalirani profil i politiku upravljanja pre nego što dizajnirate oko kvadratića.
Priručnik: izgradite i primenite izuzeće
Korak 1: napravite profil podržanim putem za implementaciju, bilo upravljanu konfiguraciju bilo graditelja klijenta. Korak 2: označite VPN kao zaobilazan, jer izuzeće lokalne rute bez toga ne deluje. Korak 3: uključite izuzeće lokalne rute. Korak 4: zadržite sopstvenu autentifikaciju usluge i proveru sertifikata uključenima; izuzeće se tiče rutiranja, ne poverenja. Korak 5: sačuvajte i ponovo se povežite da bi se profil primenio.
Vraćanje je isti put obrnutim redom: očistite izuzeće, zatim očistite zaobilaznost, zatim se ponovo povežite. Ne krpajte rutu ni kuku vatrozida direktno na uređaju. Mrežni daemon poseduje ta pravila, a ručno pravilo može propustiti drugu porodicu adresa, ponovno povezivanje ili mrežni prelaz. Ako instalirana konfiguracija ne može da izrazi politiku, zadržite strožu blokadu dok vlasnik ne odobri drugi dizajn.
Testirajte četiri važna slučaja
Koristite bezopasne zahteve i zapišite očekivani rezultat pre pokretanja svakog slučaja. Matrica ispod je prihvatni test, ne predlog: ako bilo koji zabranjeni slučaj uspe, izuzeće je šire od politike.
| 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 |
Slučaj 3 hvata široku zaobilaznicu privatne podmreže, a slučaj 4 hvata klijenta koji je izuzeće primenio samo pri povezivanju. Pokrenite slučaj 4 sa isključenim VPN-om i telefonom prebačenim na mobilnu mrežu, zatim se ponovo povežite i potvrdite da se izuzeće vraća bez restarta. Referenca API-ja lokalne rute navodi zahtev zaobilaznosti koji korak 2 čini obaveznim.
Zabeležite izuzeće i pregledajte ga
Održavani zapis treba da imenuje uslugu, okruženje koje ju je opravdalo, vlasnika i datum. Lokalno opisuje odnos rutiranja, ne nivo poverenja, a sledeća mreža kojoj se telefon pridruži nije mreža u kojoj je izuzeće odobreno.
Pregledajte zapis nakon ažuriranja OS-a, ažuriranja klijenta ili preseljenja. Ponovo pokrenite slučaj 3 kad god se izuzeće obnovi, jer profil koji je jednom sveo zaobilaznicu na jednu uslugu može biti proširen jednom promenom podrazumevane vrednosti.