Dva zahtjeva koja zvuče jednako nisu ista: „isključi ovu aplikaciju iz VPN-a“ i „pošalji ovo jedno odredište izvan VPN-a za prijenosnik na mojoj pristupnoj točki“. Prvi mijenja kako utičnica na telefonu bira mrežu. Drugi mora promijeniti odluku o prosljeđivanju za paket koji je stigao s drugog uređaja nakon što ga je telefon već prihvatio. Miješanje to dvoje je način na koji klijent pristupne točke završi s izuzetkom koji se oduvijek odnosio samo na telefonov vlastiti preglednik.

Dva podsustava posjeduju dva pitanja

Android drži mreže aplikacija i dijeljenje veze odvojeno. Utičnice aplikacija dodjeljuje mreži stog povezivosti, a VPN aplikacija odlučuje koje od njezinih vlastitih utičnica ulaze u tunel. Proslijeđene pakete s povezanog klijenta obrađuje podsustav za dijeljenje veze, koji od netd-a traži rute, pravila politike i prevođenje na nizvodnom sučelju.

Izuzimanje po aplikaciji procjenjuje se kad aplikacija otvori utičnicu. Proslijeđeni paket nikad ne stiže do te provjere jer nije nastao iz utičnice aplikacije na ovom uređaju. Upravo je to razlog zašto dvije postavke ne mogu jedna drugu zamijeniti, i to nije greška ni u jednoj od njih.

Što izuzimanje po aplikaciji zapravo mijenja

Graditelj VpnService može imenovati pakete koji ostaju izvan tunela pomoću addDisallowedApplication, ili imenovati jedine pakete dopuštene unutra pomoću addAllowedApplication. Te aplikacije zatim otvaraju utičnice na temeljnoj mreži dok VPN nastavlja posjedovati zadanu rutu za sve ostalo.

Opseg je precizan: vlastite utičnice paketa, na ovom uređaju, dok je tunel podignut. Ne govori ništa o proslijeđenom prometu, ništa o drugom uređaju i ništa o paketima koje sustav šalje u ime dijeljenja veze.

To nije ni kontrola odredišta. Isključivanje preglednika isključuje svaku adresu do koje taj preglednik dolazi, uključujući onu koju ste htjeli zadržati unutar tunela. Kad zahtjev imenuje odredište, a ne aplikaciju, birač aplikacija je pogrešan alat po samoj konstrukciji.

Kako proslijeđeni paket izgleda telefonu

Klijentov paket stiže na sučelje pristupne točke s privatnom izvornom adresom koju je dodijelio telefon, recimo 192.168.43.20, i javnim odredištem. Da bi ga proslijedio, telefon treba rutu prema uzlaznom kanalu i pravilo prevođenja kako bi odgovori našli put natrag, jer je klijentova privatna adresa besmislena u mobilnoj mreži.

Android to izražava pravilima politike koja odabiru tablicu usmjeravanja, a netd ponovno gradi relevantne tablice i pravila kad se mreže i VPN-ovi promijene. Broj tablice, prioritet pravila ili naziv sučelja kopiran s forumske objave ili s istog modela na starijem izdanju ne uspostavlja trajno vlasništvo. To je ponovno građenje i razlog zašto pravilo napisano rukom može raditi sat vremena i stati nakon sljedećeg ponovnog spajanja.

Kakva politika izuzetku za pristupnu točku zapravo treba

Zapišite odluku kao izvor, odredište i namjeravani put prije nego dirnete pravilo. Minimalan oblik za jedno odobreno odredište izgleda ovako:

SourceDestinationIntended path
One authorized hotspot clientOne approved public service addressOrdinary cellular uplink
The same clientAll other covered destinationsShared VPN
The phone's own appsTheir existing destinationsUnchanged phone policy

Oba smjera moraju biti cjelovita. Izravna grana treba upotrebljivu rutu kroz mobilni uzlazni kanal koji je trenutačno aktivan; VPN grana treba rutu tunela plus dopuštenje za prosljeđivanje. Svako prevođenje izvora mora odgovarati odabranom izlazu, jer NAT primijenjen na sučelju tunela pokazuje adresu tunela, a ne mobilnu, i tada se povratni put ne slaže s odlaznim putem.

Odgovori moraju stići do istog nizvodnog klijenta kroz praćeno stanje ili izričitu rutu, a brojač odlaznih paketa ništa od toga ne dokazuje. Držite i vlastiti vanjski prijevoz VPN-a izvan opsega izuzetka, inače paketi nosači tunela naslijede politiku napisanu za klijentov web zahtjev.

Jedna uhvaćena adresa nije odredište

Jedna adresa IPv4 pročitana iz preglednika je snimka. Velike usluge odgovaraju s anycast ili iz rotirajućeg skupa rubnih adresa, mnoge su dvostruke hrpe, a tijek prijave može dotaknuti hostove za provjeru identiteta i telemetriju koje stranica nikad ne prikazuje. Izuzetak izgrađen oko adrese koju ste slučajno vidjeli slomi se sljedeći put kad usluga preraspodijeli opterećenje.

Koristite dokumentirane adrese vlasnika usluge ili raspon koji objavljuje i uzmite u obzir obje obitelji adresa. Ako se zahtjev ne može izraziti kao stabilan skup, to je vjerojatno pitanje politike za uslugu, a ne usmjerivački trik na telefonu.

Provjerite s nizvodne strane

Tri provjere, ovim redom: odabrana usluga s prijenosnika, obično odredište koje mora ostati unutar VPN-a i telefonska aplikacija koja mora ostati nepromijenjena. Zatim ponovite nakon ponovnog spajanja i nakon promjene uzlaznog kanala, jer se tada tablice politike ponovno grade.

Ako telefonova implementacija dijeljenja ne može održati taj ugovor kroz ponovno spajanje, premjestite selektivnu politiku na podržani nizvodni usmjerivač umjesto da gomilate root pravila na slušalici. Usmjerivač može izraziti podudaranje izvora i odredišta sa stabilnim vlasnikom, a dokumentacija modula za dijeljenje veze je pravi izvor za ono što telefon zapravo radi.

Povezani članci