Programos vedimas per tunelį neperkelia jos maršrutizavimo į viską, ką ši programa paleidžia, net jei sąsaja rodo priešingai. Nuoroda perduoda užklausą kitai programai, ta programa atidaro savo lizdą, o platforma taisykles taiko naujam procesui, o ne tam, kuris parodė tekstą. Būtent tą antrąjį procesą tunelio politika iš tikrųjų mato, ir tai ne tas, kurį nustatėte.

Todėl įtraukta programa gali atidaryti naršyklę, kuri yra už tunelio ribų. Pašalinta naršyklė gali grąžinti darbą programai, kuri yra joje. Abi šios staigmenos kryptys yra įprastas elgesys.

Darbo eigos dalis, kurios niekas nesukonfigūravo

Kiekvienos programos politika rašoma pagal vykdomojo failo ar paketo tapatybę, ir kiekvienas ryšys vertinamas tą akimirką, kai sukuriamas. Naršyklė, dokumentų peržiūros programa, medijos grotuvas ir sistemos bendrinimo lapas kiekvienas turi savo tapatybę, ir kiekvienas gauna savo nuosprendį. Gili nuoroda perduoda duomenis, o ne politiką.

Štai kodėl stebėjimas atrodo savavališkas: tas pats paspaudimas maršrutizuojamas dviem būdais, priklausomai nuo to, kuri tvarkyklė atsako. Pašto klientas tunelyje atidaro nuorodą naršyklėje, kuri gyvena už tunelio, ir puslapis įkeliamas iš jūsų namų adreso. Naršyklė už tunelio atidaro dokumentą peržiūros programoje, kuri gyvena jo viduje, ir failas atkeliauja per išėjimą. Nė vienas iš dviejų rezultatų nėra kliento defektas.

Jau veikianti tvarkyklė viską pablogina. Jei naršyklė jau atidaryta, nuoroda tampa žinute esamam procesui, ir tas procesas išlaiko maršrutizavimą, kurį turėjo paleidžiant. Tvarkyklės uždarymas ir vėl atidarymas pakeičia rezultatą, todėl problema niekada nepasikartoja paprašius.

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

Kuris procesas iš tikrųjų sukūrė ryšį

Matuokite priimančiąją pusę, o ne samprotaukite apie ją. Laikykite tunelį įjungtą, spustelėkite nekenksmingą nuorodą ir pažiūrėkite į lizdus, kuriuos laiko nauja programa.

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

Pirmoji komanda įvardija procesą už kiekvieno užmegzto lizdo Linux sistemoje, o antroji tą patį daro Windows sistemoje, išsprendusi valdančio proceso identifikatorių. Palyginkite proceso pavadinimą su pavadinimais savo politikoje. Jei pavadinimas yra naršyklė ir naršyklė pašalinta, paspaudimas paliko tunelį pagal dizainą, o ne dėl gedimo. Politikos taisyklės susiejimas su gyvu lizdu ir yra visas metodas.

Pakartokite patikrinimą su jau veikiančia tvarkykle, o paskui su uždaryta. Du rezultatai gali skirtis, ir šis skirtumas paaiškina daugumą protarpinių pranešimų apie nuorodas, išsprūstančias iš tunelio.

Aprėptis yra darbo eigos savybė

Jei užduotis turi likti tunelyje nuo pradžios iki pabaigos, kiekvienas komponentas, kurį ji gali pasiekti, turi būti politikos viduje: paleidėjas, tvarkyklė, peržiūros programa ir bet kuris tarpininkas, kurį platforma įterpia tarp jų. Platesnė aprėptis dažnai yra sąžiningas atsakymas, ir ji pigesnė nei kiekvieno bendrinimo taikinio auditas.

Pašalinti sistemos tarpininką, kad sutvarkytumėte vieną programą, yra dažna klaida. Tarpininkai yra bendri, todėl išimtis seka kiekvieną kitą programą, kuri naudoja tą patį kelią, paprastai niekam nepastebint, kol po kelių savaičių ateina pranešimas. Perskaitykite, kas dar priklauso nuo komponento, prieš jį pašalindami.

Tapatybę laikykite atskirai nuo maršrutizavimo. Nuoroda gali perduoti sesijos žetoną arba paskyros identifikatorių, nepriklausomai nuo to, kuris išėjimas gauna užklausą. Teisingai maršrutizuotas paspaudimas vis tiek gali tiksliai pasakyti paskirties vietai, kas juo sekė.

Dokumentuokite darbo eigą, o ne pirmą žymimąjį langelį. Kai užduotis apima keturias programas, diagrama su keturiomis programomis yra ta, kuri numato, kur eis srautas, o vienos programos nustatymas tėra viena jos eilutė.

Susiję straipsniai