Provlačenje aplikacije kroz tunel ne prenosi njeno usmjeravanje na sve što ta aplikacija pokrene, iako sučelje sugerira suprotno. Link predaje zahtjev drugoj aplikaciji, ta aplikacija otvara vlastiti socket, a platforma primjenjuje pravila na novi proces, a ne na onaj koji je prikazao tekst. Taj drugi proces je ono što politika tunela zapravo vidi, i to nije onaj koji ste konfigurirali.

Uključena aplikacija zato može otvoriti preglednik koji stoji izvan tunela. Isključeni preglednik može vratiti posao aplikaciji koja stoji unutar njega. Oba smjera tog iznenađenja su uobičajeno ponašanje.

Dio toka rada koji nitko nije konfigurirao

Politika po aplikaciji piše se prema identitetu izvršne datoteke ili paketa, a svaka veza se ocjenjuje u trenutku kada nastaje. Preglednik, preglednik dokumenata, medijski player i sistemski list za dijeljenje nose svaki svoj identitet, i svaki dobiva svoju presudu. Duboki link nosi podatke, a ne politiku.

Zato se opažanje čini proizvoljnim: isti klik usmjerava se na dva načina, ovisno o tome koji rukovatelj odgovori. Poštanski klijent u tunelu otvara link u pregledniku koji živi izvan tunela, i stranica se učitava s vaše kućne adrese. Preglednik izvan tunela otvara dokument u pregledniku koji živi unutar njega, i datoteka stiže kroz izlaz. Nijedan od tih rezultata nije greška u klijentu.

Rukovatelj koji već radi pogoršava stvar. Ako je preglednik već otvoren, link postaje poruka postojećem procesu, a taj proces zadržava usmjeravanje koje je imao pri pokretanju. Zatvaranje i ponovno otvaranje rukovatelja mijenja ishod, i zato se problem nikada ne reproducira na zahtjev.

PlatformPolicy objectWhat it is evaluated against
AndroidPer-app VPN allowlistPackage name of the process opening the socket
WindowsApplication traffic filtersApplication path in the filter rule
LinuxUID or cgroup routing rulesOwner of the socket, which can be a different program

Koji je proces stvarno uspostavio vezu

Mjerite stranu koja prima umjesto da o njoj razmišljate. Držite tunel uključen, kliknite bezopasan link i pogledajte sockete koje nova aplikacija drži.

ss -tnp state established '( dport = :443 )'
Get-NetTCPConnection -State Established | Select-Object RemoteAddress,OwningProcess

Prva naredba imenuje proces iza svakog uspostavljenog socketa na Linuxu, a druga čini isto na Windowsu razrješavanjem identifikatora procesa koji ga posjeduje. Usporedite ime procesa s imenima u svojoj politici. Ako je ime preglednik i preglednik je isključen, klik je napustio tunel namjerno, a ne zbog greške. Uparivanje pravila politike sa živim socketom jest cijela metoda.

Ponovite provjeru s rukovateljem koji već radi, a zatim sa zatvorenim. Dva se rezultata mogu razlikovati, i ta razlika objašnjava većinu povremenih izvještaja o linkovima koji bježe iz tunela.

Pokrivenost je svojstvo toka rada

Ako zadatak mora ostati unutar tunela od početka do kraja, svaka komponenta do koje može doći mora biti unutar politike: pokretač, rukovatelj, preglednik i svaki posrednik koji platforma ubaci između njih. Šira pokrivenost često je iskren odgovor i jeftinija je od revizije svake mete dijeljenja.

Isključiti sistemskog posrednika da biste popravili jednu aplikaciju česta je pogreška. Posrednici su dijeljeni, pa isključenje slijedi svaku drugu aplikaciju koja koristi isti put, obično bez toga da itko primijeti dok izvještaj ne stigne tjednima kasnije. Pročitajte što još ovisi o komponenti prije nego ju isključite.

Držite identitet odvojeno od usmjeravanja. Link može nositi sesijski token ili identifikator računa bez obzira na to koji izlaz primi zahtjev. Ispravno usmjeren klik još uvijek može odredištu reći točno ko ga je slijedio.

Dokumentirajte tok rada, a ne prvi okvir. Kada zadatak obuhvaća četiri programa, dijagram s četiri programa je onaj koji predviđa kamo promet ide, a postavka za jednu aplikaciju samo je jedan njegov red.

Povezani članci