Kuidas jagatud tunnel otsustab, milline liiklus kasutab VPN-i
Jagatud tunnel on marsruudi- ja sidumisotsuste kogum, mitte režiim, mille lülitate sisse. Vaadake, kuidas rakendusepõhised reeglid, eesliited, DNS ja turvalülitid koostoimivad.
Jagatud tunnel on reeglite kogumina väljendatud marsruutimispoliitika, ja klient on vaid see, mis need paigaldab. Eraldamine toimub kahes kohas: sobivusreeglid, mis valivad igale paketile tee, ja sidumised, mis hoiavad rakendust ühel liidesel, ükskõik mida tabel ütleb. Millisele mehhanismile teie klient toetub, selgitab enamikku inimeste teatatud üllatustest.
Poliitika, mille saate ühe reaga sõnastada, on testitav. Kiirema sirvimisena kirjeldatud poliitika ei ole, ja see ei ütle teile, millist reeglit muuta, kui päring läheb vale teed.
Klient paigaldab reeglid, tuum teeb valiku
Kui tunnel tõuseb, lisab klient marsruudid ja sageli poliitikareeglid samasse tabelisse, mida kasutavad teie teised liidesed. Seejärel jõuab iga pakett otsingusse, mis võrdleb sihtkohta iga kandidaat-eesliitega ja jätab kõige täpsema vastavuse, samal ajal kui prioriteet lahendab eri tabelitele osutavate reeglite vahelised viigid. Miski selles otsingus ei tea, et pakett tuli brauseri vahelehelt, mitte varundustööst. Võidab reegel, mis määrab tee, ja saate seda lugeda enne ja pärast muudatust.
Seepärast võib jagatud tunnel tunduda meelevaldne. Kaks sihtkohta ühes rakenduses võivad minna eri teed lihtsalt sellepärast, et üks eesliide on teisest kitsam.
Sama valik on igal platvormil, kuigi nimed muutuvad. Windows surub otsuse oma filtrite platvormile, Android paljastab rakendusepõhise lubatud loendi oma VPN-teenuse kaudu ning macOS seob tunneli seadmega, mis ikka veel järgib marsruutimistabelit. Microsofti marsruutimismärkmed tasub Windowsi puhul lugeda, ja ühe platvormi jaoks kirjutatud juhend kandub harva muutmata kujul teisele.
Rakendusepõhine sidumine ja sihteesliited on erinevad tööriistad
Sihtpoliitika küsib, kuhu pakett läheb, ja konsulteerib marsruutimistabeli või poliitikareegliga. Rakendusepõhine poliitika küsib, milline programm avas pistiku, ja platvorm hoiab seda programmi tunneli liidesel ka siis, kui täpsem marsruut osutab mujale. Teine on tugevam, sest peab vastu tabelimuudatustele, kuid katab ainult protsessid, mille platvorm suudab omistada. Abiprotsess, manustatud brauser või teenus, mis avab oma ühenduse, ei pruugi pärida sidumist, mida te eeldasite.
Kumbki lähenemine ei pea nimel põhinevale poliitikale ilma abita vastu. Suurte saitide aadressid pöörlevad sisuvõrkudes, nii et hostinime kinnitamine mõne eesliite külge loob reegli, mis vaikselt lakkab sobimast. Poliitika, mis peab nimesid järgima, vajab resoluuteriteadlikku komponenti, mitte staatilist marsruuti.
DNS ja turvalüliti järgivad oma reegleid
Nimede lahendamine on pakettide marsruutimisest eraldi otsus, ja jagatud tunnel tahab tavaliselt kahte resoluuterit: ettevõtte oma sisemiste nimede jaoks, kohalik kõige muu jaoks. Klient võib paigaldada liidesepõhised DNS-seaded, anda päringud vahendavale resoluuterile või jätta süsteemi vaikeväärtuse puutumata. Oma krüpteeritud resoluuteriga brauser möödub kõigist kolmest korraldusest. Testige päringut, selle asemel et eeldada, et resoluuter järgis marsruuti.
Turvalüliti lisab peale filtri, ja see filter ei erista alati kavatsetud väljajätmist juhuslikust lekkest. Mõned kliendid blokeerivad kõik väljaspool tunnelit, teised lubavad poliitikas deklareeritud väljajätmisi, nii et lugege, millist käitumist teie oma rakendab, enne kui kummagile loote.
Kontrollige jagunemist mõlemalt poolt
Testige kaasatud teed ja väljajäetud teed eraldi ning hinnake tulemust liidese nime, mitte avaliku aadressi järgi. Need käsud eeldavad Linuxi hosti, mille tunnelseade on juba üleval. Asendage 203.0.113.10 sihtkohaga, mille teie poliitika marsruudib sissepoole, ja 198.51.100.25 sellisega, mille see saadab välja.
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'
Lugege kahte esimest vastust koos, sest kummaski nimetatud liides näitab, kas jagunemine pani selle sihtkoha tunnelisse. Resoluuteri päring näitab, milline server vastas sisemisele nimele, ja viimane käsk tõestab, et tunnelseade suudab üldse päringut kanda. Ebaõnnestumine teisel real, kui esimene õnnestub, tähendab, et poliitika teeb täpselt seda, mida talle öeldi.
Korrake kogumit pärast taasühendamist ja pärast võrgu muutumist. Liisingu uuendamine ja liideste muutumine on kohad, kus jagunemine lakkab vastamast kavatsusele, mille jaoks see ehitati, ja iga jooksu salvestatud väljund teeb triivi ilmseks.