Split tunneling ya msingi wa programu na ya msingi wa mwisho si mipangilio miwili kwa kazi moja. Moja huuliza ni mchakato upi unaotuma pakiti; nyingine huuliza pakiti hiyo inakwenda wapi. Kanuni iliyojengwa kwa swali la kwanza hushindwa kimya kimya wakati trafiki inatoka kwenye mchakato msaidizi, na kanuni iliyojengwa kwa la pili hushindwa wakati jina la mwenyeji linatatuliwa kwenda anwani ambayo hukuiweka kwenye orodha kamwe. Chagua kitu kinacholingana na hitaji, kisha thibitisha kwa pakiti mbili za majaribio: moja lazima itumie handaki na nyingine haipaswi.

Kanuni hizo mbili hufanya kazi katika tabaka tofauti

Kanuni ya programu hutekelezwa juu ya tabaka la mtandao, dhidi ya utambulisho ambao mfumo wa uendeshaji humpa mtumaji. Kwenye Android huo ni UID iliyo nyuma ya pakiti, na huduma ya VPN huamua kwa kila UID kama trafiki inaingia kwenye handaki. Hakuna kinachoulizwa kuhusu mwisho, kwa hiyo programu iliyochaguliwa inaweza kufikia kitu chochote na hakuna programu nyingine inayoweza kufikia mtandao wa ndani.

Kanuni ya mwisho hutekelezwa kwenye pakiti yenyewe. Kiolesura cha handaki kinamiliki seti ya viambishi awali, jedwali la uelekezaji hutuma trafiki inayolingana ndani yake, na mchakato unaotuma hauna umuhimu. Ndiyo sababu kanuni ya mwisho hufunika huduma, printa au kazi ya kundi ambayo hakuna aliyekumbuka kuiorodhesha, na ndiyo sababu haiwezi kuelezwa kama programu hii pekee kwenye jukwaa ambalo mteja wake haangalii mchakato kamwe.

Kanuni za programu zinafaa kwa wateja wa simu na mawakala wanaosimamiwa

Android hufichua chaguo moja kwa moja: VpnService.Builder.addAllowedApplication() na addDisallowedApplication() huchukua majina ya pakiti na kutekeleza uamuzi kwa kila UID, kama ilivyoelezwa katika mwongozo wa wasanidi wa VPN wa Android. iOS ina kifanani kupitia kanuni za VPN za kila programu zinazotegemea vitambulisho vya kifungu, ambazo kwa kawaida husambazwa na profaili ya MDM badala ya kuandikwa kwa mkono.

Wateja wa kompyuta ya mezani ni sehemu dhaifu. Wateja wengi wa VPN wa Windows na macOS huelekeza kwa mwisho na hawatoi kichaguzi cha mchakato hata kidogo, kwa sababu dereva wa handaki huona pakiti, si michakato. Ikiwa mpango wako unategemea kuweka handaki kwa programu moja kwenye laptop, angalia uwezo halisi wa mteja kabla ya kubuni kuzunguka hilo; huenda unachagua kati ya orodha ya maeneo ya mwisho na mashine ya pili.

Matokeo ambayo watu hukosa: kwenye majukwaa hayo hauwezi kuiga kanuni ya programu kwa njia. Kuongeza njia ya mwenyeji kwa seva ya programu huweka trafiki ya kila mtu kwenye handaki kuelekea seva hiyo, ikiwa ni pamoja na kivinjari na kisasishaji.

Kanuni za mwisho zinafaa kwa orodha za subnet na ufikiaji wa tovuti

WireGuard hufanya modeli kuwa wazi. AllowedIPs ni uelekezaji wa ufunguo wa kripto: pakiti ya ndani ambayo mwisho wake unaangukia ndani ya orodha ya mwenza husimbwa kwa ufunguo kuelekea mwenza huyo, na kila kitu kingine hutoka bila usimbaji kupitia njia ya kawaida. Hakuna mchakato wa kuitaja na hakuna utata kuhusu kile kilichojumuishwa.

OpenVPN hufika sehemu hiyo hiyo kupitia jedwali la uelekezaji linalosukumwa. route-nopull huzuia seva kuamuru njia, kisha route 10.20.0.0 255.255.0.0 vpn_gateway ya upande wa mteja hufunika hasa kiambishi awali cha ofisi. IPv6 ni tamko tofauti katika kila mmoja wa wateja hawa, na kuisahau ndiyo njia ya kawaida ya kuvujisha kuzunguka mgawanyiko wa IPv4 unaoonekana sahihi.

Jina la mwenyeji si njia. Ikiwa profaili inatoa uwanja wa kikoa, lichukulie kama jina ambalo mteja hutatua mara moja, si kama kipimo cha anwani cha kudumu; mitandao ya usambazaji wa maudhui na visawazisha mzigo zitatoa anwani tofauti kesho.

Mahali modeli zote mbili zinapovunjika: wasaidizi, huduma za pamoja, vitatuzi

Michakato msaidizi huvunja kanuni za programu kwa namna inayofanana na hitilafu ya seva. Kisasishaji cha kivinjari, kitoa ripoti za ajali, huduma ya usawazishaji inayoendeshwa kama SYSTEM na WebView iliyopachikwa kwenye pakiti nyingine zote ni utambulisho tofauti, kwa hiyo kuweka handaki kwa kivinjari kunaweza kuacha ombi halisi nje ya handaki. Kinyume chake pia kinachanganya: programu iliyoachwa nje inayoiita maktaba ya pamoja ndani ya mchakato uliowekwa handaki bado trafiki yake hupita kwenye handaki.

Kanuni za mwisho huvunjika kwenye huduma za pamoja na kwenye majina. Sehemu za faili, printa, DNS ya ndani na seva ya leseni zote zinaishi kwenye anwani, kwa hiyo handaki ya programu moja humpa kivinjari ufikiaji wakati kiendeshi kilichopangwa kinabaki kimekufa. Tofauti hiyo ya ufunikaji si hitilafu katika modeli yoyote, lakini ndiyo sababu handaki ya programu moja mara nyingi hutoa hali ya VPN ikiwa imewaka na sehemu imetoweka.

Vitatuzi hukata zote mbili. Ikiwa mteja anaweka seva za DNS za ndani lakini mfumo wa uendeshaji unatumia DNS kupitia HTTPS kwa kitatuzi cha umma, jibu hutoka nje ya handaki na kanuni ya mwisho huenda isilingane kamwe. Angalia ni kitatuzi kipi kilijibu kwa kweli kabla ya kuhitimisha kuwa kanuni si sahihi, na thibitisha kwa upande wa mteja kama liliweka kitatuzi cha handaki hata kidogo. Mgawanyiko unaoacha DNS nje ya handaki huonekana mzuri kabisa kwenye jedwali la uelekezaji na bado hushindwa kwa kila jina la ndani.

Utaratibu: chagua, tumia, thibitisha

Anza na hitaji, si na menyu. Ikiwa lengo ni programu hii pekee inaweza kutumia handaki, unahitaji kanuni za programu na jukwaa linalozisaidia. Ikiwa lengo ni mitandao hii inafikiwa kupitia handaki, unahitaji viambishi awali. Ikiwa jibu ni vyote viwili, vitumie kama vidhibiti viwili tofauti na uandike kipi kinamiliki hitilafu ipi.

Tumia umbo jembamba zaidi unaloweza kueleza, kisha thibitisha kwa kuuliza jedwali la uelekezaji badala ya ikoni ya hali ya mteja:

ip route get 10.20.30.40
ip -6 route get 2001:db8:10::40
wg show wg0 allowed-ips
Get-NetRoute -DestinationPrefix 10.20.0.0/16
Find-NetRoute -RemoteIPAddress 10.20.30.40

Mistari miwili ya kwanza hutaja kiolesura ambacho mwisho halisi ungetumia; wg show huchapisha orodha ya viambishi awali vilivyowekwa; kwenye Windows Find-NetRoute hujibu swali lilelile ambalo mnara utajibu wakati pakiti inatumwa. Ikiwa kiolesura ni handaki, kanuni ililingana.

Kisha jaribu pakiti ya pili ambayo inapaswa kuachwa nje, kutoka programu tofauti, kuelekea mwisho uleule. Andika kwenye tiketi toleo la mteja, aina ya kanuni, orodha ya viambishi awali au pakiti na matokeo mawili yaliyozingatiwa. Jozi hiyo ya matokeo ndiyo inayomwambia mhandisi anayefuata kama sera imewekwa vibaya au trafiki haikuwa yake kamwe.

Makala zinazohusiana