Turvakytkin päällä, sovellus tarkoituksella tunnelin ulkopuolelle jätetty, ja kaksi vaatimusta ovat nyt ristiriidassa. Toinen sanoo, ettei mikään saa poistua muuta kuin tunnelin kautta, toinen sanoo, että tämän ohjelman on mentävä suoraan. Jokainen asiakasohjelma ratkaisee ristiriidan eri tavalla, eikä asetussivu juuri kerro, mikä sääntö voittaa. Kirjoita käytäntö sovelluskohtaisesti ennen kuin luotat mihinkään merkintään.

Kaksi käytäntöä, yksi kone

Turvakytkin on lupaus vian varalta: kun tunneli ei suojaa liikennettä, liikenne pysähtyy. Jaettu tunnelointi on lupaus valinnasta: nämä ohjelmat tai kohteet käyttävät tunnelia, ja nuo eivät. Toinen lupaus luo liikennettä, josta ensimmäisen on päätettävä. Kumpikaan lupaus ei ole väärä; eri ihmiset vain kirjoittivat ne eri uhkia varten.

Kolme lopputulosta on mahdollista ja vain yksi niistä on se, mitä käyttöönotto tarkoitti. Ulkopuolelle jätetty sovellus voi pysyä suorana katkoksen aikana, mikä kunnioittaa jakoa ja rikkoo turvakytkimen. Se voidaan estää kaiken muun mukana, mikä kunnioittaa turvakytkintä ja rikkoo jaon. Tai se voidaan estää vain joskus, riippuen siitä, miten alusta arvioi sääntöä sen jälkeen, kun liitäntä katoaa. Juuri viimeinen tapaus synnyttää tukipyyntöjä.

Kirjoita sovellusluettelo ennen sääntöä

Luettele ohjelmat, joiden on käytettävä tunnelia, ne, joiden on mentävä suoraan, sekä nimet tai kohteet, jotka eivät saa koskaan näkyä kummassakaan luettelossa. Lisää erikseen selvittimen käyttäytyminen ja IPv6-puoli, koska molemmat voivat noudattaa eri käytäntöä kuin sivuliikenne.

Sovelluskohtaiset säännöt vastaavat yleensä suoritettavaa tiedostoa tai pakettia, eivät sen sisällä olevaa profiilia. Selaimen profiili, yksityinen ikkuna ja laajennus eivät kanna omaa verkkoidentiteettiään, joten ne perivät sen, minkä prosessi sai. Sen selaimen käynnistämä apuprosessi ei välttämättä peri samaa sääntöä lainkaan.

Tarvitaan kaksi luetteloa, ei yhtä: mitä tunnelin on kannettava ja mitä ei mistään syystä saa matkustaa sen ulkopuolelle. Sovellus, joka on molemmissa, on vaatimusten ristiriita eikä toteutuksen yksityiskohta, ja se on ratkaistava ennen asiakasohjelman määrittämistä.

Mitä asiakasohjelma tekee katkoksen aikana

Jotkin toteutukset estävät ulkopuolelle jätetyt sovellukset katkoksen aikana ja palauttavat niiden pääsyn yhteyden palautuessa. Toiset säilyttävät suoran reitin koko ajan, mikä on johdonmukaista jaon kanssa ja heikompaa turvaominaisuutena. Alustatason lukitus voi ohittaa asiakasohjelman oman sovelluskohtaisen valinnan kokonaan. Tämä ero ei ole kosmeettinen, koska se ratkaisee, onko ulkopuolelle jätetty sovellus käytännön poikkeus vai reikä.

Androidin aina päällä oleva VPN ja vaihtoehto estää yhteydet ilman VPN:ää on selkein tapaus, koska lukituksen toteuttaa alusta eikä asiakasohjelma, ja ulkopuolelle jätetty paketti estetään kaiken muun mukana, kun tunneli on alhaalla. Työpöytäasiakasohjelma, joka soveltaa sovelluskohtaisia poikkeuksia omassa ajurissaan, jättää ulkopuolelle jätetyn prosessin yleensä fyysiselle liitännälle, koska se ei koskaan omistanut kyseisen prosessin liikennettä. Molemmat käyttäytymiset ovat perusteltavissa ja vain toinen niistä vastaa vaatimusta, jonka mukaan ulkopuolelle jätetyn sovelluksen on pysyttävä käyttökelpoisena. Kysy, mikä komponentti toteuttaa säännön, ennen kuin tulkitset tulosta.

Lue käyttäytyminen siltä käyttöjärjestelmältä, joka on edessäsi, älä samannimistä asetusta muualla. Toteutuksen rajapinnat eroavat, ja yksi valintaruutu voi tarkoittaa työpöydällä ja puhelimessa täysin eri asioita. Myös versiolla on väliä, koska lukituksen hallinta on siirtynyt näyttöjen välillä Android-julkaisujen myötä, eikä asiakaspuolen poikkeusluettelo ole sama hallinta kuin alustan lukitus.

Kolme hetkeä: tunneli ylhäällä, tunneli alhaalla, yhdistetty uudelleen

Käytä vaarattomia pyyntöjä kolmena hetkenä: kun tunneli toimii, sinua kiinnostavan vian aikana ja uudelleenyhdistämisen jälkeen. Yksi selaintulos ei voi osoittaa ulkopuolelle jätetyn sovelluksen käyttäytymistä.

curl -sS --max-time 8 https://api.ipify.org
curl -sS --max-time 8 --interface tun0 https://api.ipify.org
dig +short example.com

Lähtöosoite näyttää, mikä reitti valittiin, ja erillinen liitäntätesti näyttää, mitä tapahtuu, kun tunneli on ainoa käytettävissä oleva ulospääsy. Kirjoita odotettu tulos jokaisen rivin viereen ennen minkään niistä suorittamista, muuten tuloste tulkitaan jälkikäteen.

Jos ulkopuolelle jätetty sovellus menee offline-tilaan, tarkista käytäntöjen etusija ennen laajan palomuuriluvan lisäämistä, koska se korjaus tuhoaa eron, jota olit testaamassa. Jos se pysyy suorana, varmista, että se oli dokumentoitu poikkeus eikä tahaton paluu. Jos vaatimus koskee koko laitetta tiukasti, lyhennä poikkeusluetteloa, kunnes se voidaan testata käsin.

Aiheeseen liittyvät artikkelit