Kwa nini njia zenye gharama sawa hufanya hitilafu za VPN kuwa ngumu kuona
Wakati vihandaki kadhaa vinashiriki gharama moja, kila mtiririko unaweza kuchukua kingine. Ping iliyofanikiwa haisemi chochote kuhusu njia ambayo programu yako inatumia kwa kweli.
Mtumiaji anaripoti kwamba programu ya ndani inafanya kazi kutoka mashine moja na kushindwa kutoka nyingine, wakati ping unayoendesha kutoka lango inafanikiwa katika hali zote mbili. Kukiwa na vihandaki kadhaa vya gharama sawa, huu si ukinzani. Kila mtiririko huwekwa kwenye hatua yake inayofuata, kwa hivyo uchunguzi wako na kikao cha mtumiaji vinaweza kutumia njia tofauti. Maelezo hapa chini yanazalisha tena chaguo hilo kabla ya kubadilisha chochote.
Ping moja, njia kadhaa zinazowezekana
Njia inapokuwa na hatua zaidi ya moja inayofuata kwa gharama sawa, kipanga njia kinapaswa kuchagua moja kwa kila pakiti. Utekelezaji mwingi hufanya hash ya sehemu za pakiti, kwa kawaida anwani za chanzo na lengwa pamoja na itifaki na bandari, ili majibu yabaki kwenye njia moja. Programu tofauti, au hata miunganisho tofauti ya programu moja, huzalisha hashi tofauti.
Ndiyo sababu uchunguzi kutoka lango unathibitisha kidogo sana. Uchunguzi wa lango wenyewe una anwani na bandari zake, na kwa hivyo hash yake. Unaweza kutua kwenye kihandaki chenye afya wakati mtumiaji anaendelea kutua kwenye kilichovunjika.
Jinsi jukwaa linavyochagua hatua inayofuata
Zalisha tena chaguo badala ya kulikisia. Uliza kerneli itatumia njia gani kwa chanzo na lengo sawa na kikao kinachoshindwa. Utafutaji huo unajumuisha sehemu ambazo utafutaji wa kawaida wa lengo huzipuuza. Iendeshe pia kutoka mteja anayefanya kazi na linganisha majibu mawili:
ip route get 10.20.5.7 from 10.20.0.14
Matoleo mapya ya iproute2 pia hukubali itifaki na bandari lengwa, jambo ambalo ni muhimu wakati hash inazijumuisha. Linganisha matokeo hayo na utafutaji huo huo kutoka mteja anayefanya kazi, na tofauti ni ushahidi uliokukosa.
| Observation | Likely cause | First check |
|---|---|---|
| Ping works, application fails | A different flow hash selects another tunnel | Per-flow lookup from the client's address |
| Some users fail, others do not | One tunnel lacks a prefix or selector | Compare both tunnels' installed routes |
| Fails only at larger sizes | Tunnels have different effective MTU | Probe the same size over each path |
| Fails after a reconnect | Stateful asymmetry between paths | Session state on both gateways |
Fuatilia mtiririko unaoshindwa, si jedwali la njia
Jedwali la njia linaorodhesha vihandaki vyote viwili na kwa ufafanuzi linaonekana sahihi. Swali ni kile kila kihandaki hufanya na pakiti baada ya kuchaguliwa. Hakikisha vyote viwili vinabeba viambishi awali vilivyolindwa sawa, idhini sawa ya kusambaza na njia ya kurudi inayofikia mteja yule yule.
Zingatia vifaa vyenye hali katikati. Ikiwa ombi linatoka kupitia kihandaki kimoja na jibu linarudi kupitia kingine, basi firewall au NAT ambayo haijawahi kuona mtiririko halisi itaitupa. Vihandaki vyote viwili vinapitisha trafiki kwa usahihi, na muunganisho bado unashindwa.
Angalia pia MTU kwa kila njia. Njia yenye usimbaji wa ziada hupunguza ukubwa unaoweza kutumika, na uhamishaji unaofanikiwa kwenye kihandaki kimoja hukwama kwenye kingine hasa kwa ukubwa ambao kidogo huvunjika.
Linganisha njia moja kwa wakati mmoja
Pale muundo unaruhusu matengenezo, toa kihandaki kimoja kutoka huduma na urudie kazi ya mtumiaji. Ikiwa hitilafu inatoweka, tatizo ni la njia uliyoiondoa, na hatua inayofuata ni kulinganisha usanidi wake na wa jirani badala ya kuchunguza tena jedwali la uelekezaji.
Linganisha programu halisi, si ping za kurudia. Andika ikiwa hitilafu inafuata hatua fulani inayofuata, ukubwa wa pakiti au mpito baada ya kuunganisha tena, kwa sababu mifumo hiyo mitatu inaonyesha matengenezo tofauti.
Hatimaye, andika kwa nini njia zinachukuliwa kuwa sawa na jinsi hitilafu inapaswa kuondoa moja yao kutoka huduma. Njia nyingi ni salama tu wakati njia zinaweza kubadilishana kweli, na hiyo ni kauli ya muundo inayofaa kuchunguzwa badala ya kudhaniwa.