HTTPS kwenye kontena inakwama kwenye VPN ya kampuni? Jaribu mguu wa DTLS
Kuingia ndani ya kontena kunafanya kazi lakini HTTPS inakwama, kwa hiyo jaribu chaneli ya data ya UDP. Zima DTLS, linganisha mitiririko yote miwili, kisha angalia MTU kabla ya kuweka bendera.
Ndani ya kontena nyuma ya VPN ya kampuni, DNS inatatuliwa, ukurasa wa kuingia unapakiwa, kituo cha afya kinajibu, kisha ombi la HTTPS linakwama hadi muda uishe. Kujenga upya picha na kubadilisha vigeu vya proksi hakubadilishi chochote, kwa sababu sehemu inayoshindikana haiko kwenye picha. Mteja hujithibitisha kupitia usafirishaji mmoja na huhamisha data kubwa kupitia mwingine, na ni wa pili tu uliovunjika.
Usafirishaji miwili, dalili moja ya kuchanganya
Mteja wa kampuni anayetegemea TLS kwa kawaida hujithibitisha kupitia muunganisho wa kawaida wa TLS, kisha hujadili chaneli ya pili ya data inayotegemea UDP kwa kikao. Chaneli hiyo ya pili inapofanya kazi, upitishaji na ucheleweshaji huboreka. Inapochujwa au kushindwa kutoshea kwenye njia, kila kitu kabla ya uhamishaji mkubwa hufanikiwa na uhamishaji wenyewe unasimama, jambo ambalo ni mfano huo hapo juu.
Kontena halibadilishi majadiliano hayo; hubadilisha njia ambayo pakiti za nje hupitia. Mwenyeji hutafsiri mtiririko wa kontena, kwa hiyo datagramu za UDP zinatoka kwenye bandari tofauti ya chanzo kuliko soketi ya ndani ya mteja, na hurudi kupitia ingizo la tafsiri linaloisha kwa kipima muda kifupi sana kuliko mtiririko wa TCP ulioimarishwa. Ikiwa handaki inafanya kazi kwenye mwenyeji lakini inashindikana kwenye kontena, linganisha mitiririko hiyo miwili kabla ya kulaumu programu. Ulinganisho huo huamua zaidi kuliko ujenzi wowote upya wa picha.
Amua kwa jaribio, si kwa hisia
Jaribio la bei nafuu zaidi huzima chaneli ya data ya UDP na kurudia ombi. Tumia mteja wa mstari wa amri badala ya kifuniko cha desktop, ili bendera itumike kweli: openconnect vpn.example.net --user=you --interface=tun0 --no-dtls. Ikiwa ombi lililokwama sasa linakamilika, mguu wa DTLS ulikuwa tatizo na mengine yalikuwa kelele.
Thibitisha matokeo katika pande zote mbili kutoka kontena moja, ombi moja kubwa likiwa na bendera na lingine bila. Mabadiliko ya tabia yanayofuata bendera ni ushahidi; ukurasa unaopakiwa mwishowe si ushahidi.
Ikiwa bendera inarekebisha, amua kwa nini
Masharti matatu huzalisha dalili hiyo hiyo, na yanahitaji majibu tofauti. Njia inaweza kuchuja UDP kabisa, jambo linalofanya bendera kuwa jibu sahihi la kudumu kwa mtandao huo. Njia inaweza kuruhusu UDP lakini kutupa datagramu kubwa, jambo linaloelekeza kwa MTU na si uchujaji. Au njia inaweza kuwa na upotevu wa kutosha kiasi kwamba mguu wa UDP unafanya vibaya kuliko TCP, jambo ambalo ni uamuzi wa uwezo na si wa ufikivu.
Tofautisha kati yao kabla ya kuandika suluhisho la muda. Uchujaji hustahimili kila ukubwa wa pakiti, matatizo ya MTU yanaonekana juu ya kiwango fulani tu, na upotevu unaonekana kama utumaji upya na ucheleweshaji unaobadilika badala ya kukwama safi. Kila jaribio hubainisha sababu bila kubadilisha usanidi wa mteja.
Angalia ukubwa wa pakiti kabla ya kuweka suluhisho la muda
Ikiwa sababu ni ukubwa, kiolesura cha handaki kinakubali pakiti ambazo njia haiwezi kubeba, na tatizo hurudi kwenye usafirishaji wowote mara mzigo unapokua. Linganisha violesura: ip link show tun0 kwenye mwenyeji, kisha docker network inspect bridge kusoma MTU iliyorekodiwa kwenye chaguo za mtandao. Daraja la kontena ambalo bado liko kwenye baiti 1500 chini ya handaki inayobeba kidogo ndilo tokeo la kawaida.
Chunguza juu kutoka ukubwa unaojulikana kuwa mzuri kwa jaribio la kuzuia mgawanyiko ndani ya handaki, kisha punguza MTU ya mtandao wa kontena au kubana TCP MSS kwenye handaki. Kila moja ya marekebisho hayo mara nyingi huifanya njia ya UDP itumike tena na kuondoa hitaji la bendera, jambo ambalo ni tokeo bora wakati uchujaji si sababu.
Amua ni nini uko tayari kubadilisha
Chaneli ya data ikiwa imezimwa, handaki hubeba mzigo wake ndani ya muunganisho wa TCP. Kwenye njia safi hilo ni polepole zaidi tu; kwenye njia yenye upotevu, sehemu moja iliyopotea huchelewesha kila kitu kilicho nyuma yake na utumaji upya wa nje hushindana na wa ndani. Biashara hiyo inafaa maendeleo ya mwingiliano na simu ndogo za API, na haifai uhamishaji mkubwa au vikao virefu kupitia viungo vya simu.
Chaguo lolote utakalochagua, rekodi ni usafirishaji gani handaki iliutumia mwishowe na kwa nini. Kontena linalotegemea kimyakimya bendera ambayo mtu aliongeza miezi iliyopita ni hitilafu inayofuata, na anayeshughulikia utatuzi wake hatajua kama bendera ilikuwa suluhisho la muda la uchujaji au mabaki ya jaribio la MTU.