Split-tunneling foar hotspot-klanten is gjin útsluting per applikaasje
In applikaasje út de VPN helje feroaret allinnich de telefoan. In oansletten laptop hat syn eigen trochstjoerregel nedich, ôfstimd op boarne, bestimming en NAT.
Twa easken dy’t itselde klinke binne net itselde: „slút dizze applikaasje út fan de VPN” en „stjoer dizze iene bestimming bûten de VPN foar de laptop op myn hotspot”. De earste feroaret hoe’t in socket op de telefoan in netwurk kiest. De twadde moat in trochstjoerbeslút feroarje foar in pakket dat fan in oar apparaat kaam neidat de telefoan it al oannaam. It betizen fan dy twa is hoe’t in hotspot-klant einiget mei in útsûndering dy’t altyd allinnich foar de eigen browser fan de telefoan gou.
Twa subsystemen hawwe de twa fragen
Android hâldt applikaasjenetwurken en tethering apart. Applikaasjesockets wurde troch de ferbiningstaapel oan in netwurk tawiisd, en in VPN-applikaasje beslút hokker fan syn eigen sockets de tunnel yngiet. Trochstjoerde pakketten fan in oansletten klant wurde troch it tethering-subsysteem behannele, dat netd om rûtes, beliedsregels en oersetting op de delgeande ynterface freget.
Útsluting per applikaasje wurdt beoardiele as in applikaasje in socket iepenet. In trochstjoerd pakket berikt dy kontrôle nea, om’t it net út in applikaasjesocket op dit apparaat ûntstien is. Dat is de hiele reden wêrom’t de twa ynstellingen inoar net ferfange kinne, en it is gjin flater yn ien fan beide.
Wat útsluting per applikaasje eins feroaret
In bouwer fan VpnService kin pakketten neame dy’t bûten de tunnel bliuwe mei addDisallowedApplication, of de iennichste pakketten neame dy’t binnen tastien binne mei addAllowedApplication. Dy applikaasjes iepenje dan sockets op it ûnderlizzende netwurk wylst de VPN de standertrûte foar al it oare bliuwt besitten.
It berik is krekt: de eigen sockets fan it pakket, op dit apparaat, salang’t de tunnel omheech is. It seit neat oer trochstjoerd ferkear, neat oer in twadde apparaat en neat oer pakketten dy’t it systeem namens tethering stjoert.
It is ek gjin bestimmingskontrôle. In browser útslute slút elk adres út dat dy browser berikt, ynklusyf it adres dat jo yn de tunnel hâlde woene. As de eask in bestimming ynstee fan in applikaasje neamt, is de applikaasjekeazer by konstruksje it ferkearde helpmiddel.
Hoe’t in tetherd pakket der foar de telefoan útsjocht
It pakket fan de klant komt op de hotspot-ynterface oan mei in privee boarnegoarne-adres dat de telefoan tawiisd hat, sis 192.168.43.20, en in iepenbiere bestimming. Om it troch te stjoeren hat de telefoan in rûte nei in opgeande keppeling nedich en in oersettingsregel, sadat antwurden de wei werom fine, om’t it privee adres fan de klant betsjuttingsleas is op it selulêre netwurk.
Android útdrukt dat mei beliedsregels dy’t in rûtetabel kieze, en netd bout de oanbelangjende tabellen en regels opnij as netwurken en VPN’s feroarje. In tabelnûmer, regelprioariteit of ynterfacenamme dat út in forumberjocht kopyeare is, of fan itselde model op in âldere ferzje, fêstiget gjin duorjend eigendom. Dy weropbou is ek wêrom’t in mei de hân skreaune regel in oere wurkje kin en nei de folgjende werferbining stopje kin.
Hokker belied in hotspot-útsûndering eins nedich hat
Skriuw it beslút as boarne, bestimming en bedoelde wei foardat jo in regel oanreitsje. De minimale foarm foar ien goedkarde bestimming sjocht der sa út:
| Source | Destination | Intended path |
|---|---|---|
| One authorized hotspot client | One approved public service address | Ordinary cellular uplink |
| The same client | All other covered destinations | Shared VPN |
| The phone's own apps | Their existing destinations | Unchanged phone policy |
Beide rjochtingen moatte folslein wêze. De direkte tûke hat in brûkbere rûte nedich fia de selulêre opgeande keppeling dy’t tafallich aktueel is; de VPN-tûke hat de tunnelrûte plus tastimming om troch te stjoeren nedich. Eltse boarneoersetting moat by de útgong passe dy’t jo keazen hawwe, om’t NAT tapast op in tunnel-ynterface it tunneladres sjen lit en net it selulêre, en dan komt de weromwei net oerien mei de útgeande wei.
Antwurden moatte deselde delgeande klant berikke fia folge steat of in eksplisite rûte, en in teller foar útgeande pakketten bewissiget dêr neat fan. Hâld ek it eigen bûtenste ferfier fan de VPN bûten it berik fan de útsûndering, oars ervje de dragerpakketten fan de tunnel in belied dat skreaun is foar in webfersyk fan in klant.
Ien fongen adres is gjin bestimming
Ien IPv4-adres lêzen út in browser is in momintfoto. Grutte tsjinsten antwurdzje fan anycast of fan in draaiende set rânneadressen, in protte binne dûbel-stapel, en in oanmeldstream kin autentikaasje- en telemetry-hosts oanreitsje dy’t de side nea sjen lit. In útsûndering boud om it adres dat jo tafallich seagen brekt de folgjende kear as de tsjinst wer balansearret.
Brûk de dokumintearre adressen fan de eigner fan de tsjinst, of in berik dat er publisearret, en rekkenje op beide adresfamyljes. As de eask net as in stabile set útdrukt wurde kin, is it wierskynlik in beliedsfraach foar de tsjinst en net in rûte-trick op in telefoan.
Ferifiearje fan de delgeande kant
Trije kontrôles, yn dizze folchoarder: de keazen tsjinst fan de laptop, in gewoane bestimming dy’t yn de VPN bliuwe moat, en in telefoanapplikaasje dy’t ûnoantaast bliuwe moat. Werhelje it dêrnei nei in werferbining en nei in feroaring fan de opgeande keppeling, om’t de beliedstabellen dan wer opboud wurde.
As de dielingsymplemintaasje fan de telefoan dat kontrakt net oer in werferbining hâlde kin, ferpleats it selektive belied dan nei in stipe delgeande router ynstee fan root-regels op it tastel te sammeljen. In router kin boarne- en bestimmingsmatch mei in stabile eigner útdrukke, en de dokumintaasje fan de tethering-module is de juste referinsje foar wat de telefoan eins docht.