Kako razdeljeni tunel odloči, kateri promet uporablja VPN
Razdeljeni tunel je nabor odločitev o poteh in povezavah, ne način, ki ga vklopite. Poglejte, kako pravila za posamezno aplikacijo, predpone, DNS in varnostna stikala delujejo skupaj.
Razdeljeni tunel je usmerjevalna politika, izražena kot nabor pravil, in odjemalec je le tisto, kar jih namesti. Razdelitev se zgodi na dveh mestih: pravila ujemanja, ki izberejo pot za vsak paket, in povezave, ki držijo aplikacijo na enem vmesniku, karkoli pravi tabela. Na katerem mehanizmu sloni vaš odjemalec, pojasni večino presenečenj, o katerih ljudje poročajo.
Politiko, ki jo lahko izrazite v eni vrstici, je mogoče preizkusiti. Politika, opisana kot hitrejše brskanje, to ni in vam ne bo povedala, katero pravilo spremeniti, ko zahteva gre v napačno smer.
Odjemalec namesti pravila, jedro naredi izbiro
Ko se tunel dvigne, odjemalec doda poti in pogosto pravila politike v isto tabelo, ki jo uporabljajo vaši drugi vmesniki. Vsak paket nato pride do iskanja, ki primerja njegov cilj z vsako kandidatno predpono in obdrži najbolj natančno ujemanje, medtem ko prioriteta razreši izenačenja med pravili, ki kažejo na različne tabele. Nič v tem iskanju ne ve, da je paket prišel iz zavihka brskalnika in ne iz opravila varnostnega kopiranja. Zmaga pravilo, ki določi pot, in lahko ga preberete pred spremembo in po njej.
Zato je lahko razdeljeni tunel videti samovoljen. Dva cilja v eni aplikaciji lahko ubereta različni poti samo zato, ker je ena predpona ožja od druge.
Ista izbira obstaja na vsaki platformi, čeprav se imena spreminjajo. Windows potisne odločitev v svojo filtrirno platformo, Android razkrije seznam dovoljenih aplikacij prek svoje storitve VPN, macOS pa pritrdi tunel na napravo, ki še vedno uboga usmerjevalno tabelo. Microsoftove opombe o usmerjanju so vredne branja za primer Windows, in vodnik, napisan za eno platformo, se redko prenese nespremenjen na drugo.
Povezava z aplikacijo in ciljne predpone so različna orodja
Politika cilja vpraša, kam gre paket, in se posvetuje z usmerjevalno tabelo ali pravilom politike. Politika za aplikacijo vpraša, kateri program je odprl vtičnico, in platforma drži ta program na vmesniku tunela tudi takrat, ko natančnejša pot kaže drugam. Druga je močnejša, ker preživi spremembe tabele, vendar pokriva le procese, ki jih platforma lahko pripiše. Pomožni proces, vgrajen brskalnik ali storitev, ki odpre svojo povezavo, morda ne podeduje povezave, ki ste jo predpostavili.
Noben od obeh pristopov ne preživi politike, ki temelji na imenih, brez pomoči. Naslovi velikih spletnih mest se vrtijo med vsebinskimi omrežji, zato pripenjanje imena gostitelja na nekaj predpon ustvari pravilo, ki tiho preneha ustrezati. Politika, ki mora slediti imenom, potrebuje komponento, ki pozna razreševalnik, namesto statične poti.
DNS in varnostno stikalo sledita svojim pravilom
Razreševanje imen je ločena odločitev od usmerjanja paketov, in razdeljeni tunel običajno želi dva razreševalnika: podjetniškega za notranja imena, krajevnega za vse ostalo. Odjemalec lahko namesti nastavitve DNS za vsak vmesnik, preda poizvedbe posrednemu razreševalniku ali pusti sistemsko privzeto vrednost nedotaknjeno. Brskalnik z lastnim šifriranim razreševalnikom obide vse tri ureditve. Preizkusite poizvedbo, namesto da bi predpostavili, da je razreševalnik sledil poti.
Varnostno stikalo doda filter na vrh, in ta filter ne loči vedno namerne izključitve od naključnega uhajanja. Nekateri odjemalci blokirajo vse zunaj tunela, drugi dovoljujejo izključitve, ki jih politika razglasi, zato preberite, kakšno vedenje izvaja vaš, preden se zanesete na katero koli od obeh.
Preverite razdelitev z obeh strani
Preizkusite vključeno pot in izključeno pot ločeno, in rezultat presodite po imenu vmesnika, ne po javnem naslovu. Ti ukazi predpostavljajo gostitelja Linux z že dvignjeno tunelsko napravo. Zamenjajte 203.0.113.10 s ciljem, ki ga vaša politika usmerja navznoter, in 198.51.100.25 s tistim, ki ga pošilja navzven.
ip route get 203.0.113.10
ip route get 198.51.100.25
resolvectl query intranet.example.com
curl -s --interface tun0 https://example.com -o /dev/null -w '%{http_code}\n'
Prva dva odgovora berite skupaj, ker vmesnik, naveden v vsakem, kaže, ali je razdelitev ta cilj postavila v tunel. Poizvedba pri razreševalniku kaže, kateri strežnik je odgovoril na notranje ime, zadnji ukaz pa dokazuje, da lahko tunelska naprava sploh nosi zahtevo. Neuspeh v drugi vrstici, medtem ko prva uspe, pomeni, da politika dela točno to, kar ji je bilo rečeno.
Nabor ponovite po ponovnem povezovanju in po spremembi omrežja. Podaljšanje najema in menjava vmesnikov sta mesti, kjer razdelitev preneha ustrezati namenu, za katerega je bila zgrajena, in shranjeni izhod vsakega zagona naredi odstopanje očitno.