Hoe split-tunneling bepaalt hokker ferkear de VPN brûkt
Split-tunneling is in set fan rûte- en biningbesluten, gjin modus dy't jo oansette. Sjoch hoe't regels per programma, prefiksen, DNS en needskakelaars opinoar ynwurkje.
Split-tunneling is in rûtebelied útdrukt as in set fan regels, en de klient is allinnich it ding dat se ynstallearret. De skieding bart op twa plakken: regels dy't oerienkomme en foar elk pakket in paad kieze, en biningen dy't in applikaasje oan ien ynterface hâlde, wat de tabel ek seit. Hokker meganisme jo klient brûkt, ferklearret de measte ferrassingen dy't minsken melde.
In belied dat jo yn ien rigel sizze kinne, is testber. In belied dat as flugger blêdzjen beskreaun wurdt is dat net, en it sil jo net sizze hokker regel te feroarjen as in fersyk de ferkearde kant út giet.
De klient ynstallearret regels, de kernel makket de kar
As de tunnel omheech komt, foegiet de klient rûtes en faak beliedsregels ta oan deselde tabel dy't jo oare ynterfaces brûke. Elk pakket berikt dan in syktocht dy't syn bestimming ferliket mei elk kandidaat-prefiks en de meast spesifike oerienkomst hâldt, wylst prioriteit de lykweardigens besljocht tusken regels dy't nei ferskillende tabellen wize. Neat yn dy syktocht wit dat it pakket fan in browser-tab kaam ynstee fan in reservekopy-opdracht. De regel dy't wint is dejinge dy't it paad fêststelt, en jo kinne dy foar en nei de feroaring lêze.
Dêrom kin in split-tunnel willekeurich lykje. Twa bestimmingen yn ien applikaasje kinne ferskillende paden nimme, inkeld om't it iene prefiks smeller is as it oare.
Deselde kar bestiet op elk platfoarm, al feroarje de nammen. Windows skoot de beslissing yn syn filterplatfoarm, Android eksposearret in list fan tastiene applikaasjes fia syn VPN-tsjinst, en macOS heakket de tunnel oan in apparaat dat de rûtetabel noch altyd folget. Microsoft syn rûte-opmerkingen binne it lêzen wurdich foar it Windows-fal, en in hantlieding skreaun foar ien platfoarm giet selden ûnferoare oer op in oare.
Bining per applikaasje en bestimmingsprefiksen binne ferskillende helpmiddels
In bestimmingsbelied freget wêr't it pakket hinne giet en rieplachtet de rûtetabel of in beliedsregel. In belied per applikaasje freget hokker programma de socket iepene, en it platfoarm hâldt dat programma op it tunnel-ynterface, sels as in mear spesifike rûte earne oars hinne wiist. De twadde is sterker om't er tabelferoarings oerlibbet, mar hy beslacht allinnich prosessen dy't it platfoarm taskriuwe kin. In help-proses, in ynboude browser of in tsjinst dy't syn eigen ferbining iepent, erft miskien net de bining dy't jo oannamen.
Gjin fan beide oanpakken oerlibbet in op nammen basearre belied sûnder help. Adressen fan grutte siden draaie oer ynhâldsnetwurken, dat in hostnamme oan in pear prefiksen fêstsette makket in regel dy't stilwei ophâldt te oerienkommen. In belied dat nammen folgje moat, hat in resolver-bewuste komponint nedich ynstee fan in statyske rûte.
DNS en de needskakelaar folgje har eigen regels
Nammerissing is in aparte beslissing fan pakketrouting, en in split-tunnel wol meast twa resolvers: dy fan it bedriuw foar ynterne nammen, de lokale foar al it oare. De klient kin DNS-ynstellingen per ynterface ynstallearje, fragen oan in tuskenresolver jaan of de systeemstandert ûnoanraakt litte. In browser mei syn eigen fersifere resolver giet alle trije regelingen foarby. Test in syktocht ynstee fan oan te nimmen dat de resolver de rûte folge.
In needskakelaar foeget in filter boppe-op, en dat filter ûnderskiedt net altyd in bedoelde útsluting fan in tafallige lek. Guon kliïnten blokkearje alles bûten de tunnel, wylst oaren de útslutings tastean dy't it belied ferklearret, dus lês hokker gedrach it joene ymplemintearret foardat jo op ien fan beide fertrouwe.
Kontrolearje de skieding fan beide kanten
Test it ynbegrepen paad en it útsluten paad apart, en beoardielje it resultaat oan 'e namme fan it ynterface, net oan in iepenbier adres. Dizze opdrachten nimme oan dat in Linux-host it tunnele apparaat al omheech hat. Ferfange 203.0.113.10 troch in bestimming dy't jo belied nei binnen rûtet, en 198.51.100.25 troch ien dy't it nei bûten stjoert.
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'
Lês de earste twa antwinnen byinoar, want it ynterface dat yn elk neamd wurdt, lit sjen oft de skieding dy bestimming op 'e tunnel set hat. De resolver-fraach lit sjen hokker tsjinstner it ynterne namme beantwierre, en it lêste opdracht bewiist dat it tunnele apparaat hielendal in fersyk drage kin. In mislearring op 'e twadde rigel wylst de earste slagget, betsjut dat it belied krekt docht wat der tsjin sein is.
Werhelje de set nei in werferbining en nei in netwurkferoaring. Lizzenfernijing en ynterface-wikseling binne dêr't in skieding ophâldt te oerienkommen mei de bedoeling dêr't er foar boud wie, en in bewarre útfier fan elke rin makket de drift dúdlik.