Kikagua bandari kinasema wazi? Kwa nini wachezaji wa Minecraft bado hawawezi kujiunga
Muunganisho wa TCP uliofanikiwa unathibitisha tu kwamba soketi moja ilikubaliwa kutoka sehemu moja. Kuingia, kukubaliwa ulimwenguni na njia kutoka ndani kwenda nje ni majaribio tofauti.
Mtu anaendesha ukaguzi wa bandari, anaona neno wazi na kuchukulia seva imetatuliwa. Maana halisi ya matokeo hayo ni finyu: kutoka eneo la kikagua, wakati huo, muunganisho wa TCP kwenda anwani na bandari hiyo ulikubaliwa. Haisemi chochote kuhusu makubaliano ya itifaki ya Minecraft, uthibitishaji wa akaunti, au kama seva ilimruhusu mchezaji kuingia ulimwenguni.
Hizi ni tabaka nne tofauti, na kushindwa kwa lolote kati yao humletea mchezaji sentensi moja: hakikufanya kazi.
Kichunguzi hujaribu tu kile kinachoweza kuona
Muunganisho wa TCP hukamilika pale pande zote mbili zinapomaliza makubaliano ya hatua tatu, ambayo yapo chini ya kila kitu mchezo unachojua. Kichunguzi huripoti kwamba msikilizaji alikuwepo na alijibu kutoka eneo lake la mtandao. Hakiwezi kukuambia kwamba msikilizaji ni mchezo, kwa sababu mchakato wowote unaweza kuchukua bandari na kupokea miunganisho.
Eneo ni muhimu kama matokeo. Kikagua kwenye intaneti ya umma hujaribu njia moja kutoka mtandao mmoja. Kikagua anachoendesha mwendeshaji kutoka ndani ya mtandao huo huo hujaribu njia tofauti kabisa, na matokeo chanya hapo hayasemi karibu chochote kuhusu anachopitia mchezaji wa mbali. Vikagua viwili tofauti kwa watoa huduma wawili tofauti vinaweza hata kutokubaliana kwa sababu ambazo hazina uhusiano wowote na seva yako.
Wakati pia ni muhimu. Matokeo ya kichunguzi hueleza wakati kilipoendeshwa, na muunganisho wa nyumbani wenye anwani inayobadilika au kanuni ya upelekaji iliyobadilishwa unaweza kuhamisha jibu halisi dakika chache baadaye. Andika anwani ya umma, bandari, familia ya anwani na wakati pamoja na uamuzi, vinginevyo uchunguzi hauwezi kurudiwa. Rudia ukaguzi kutoka mtandao tofauti kweli, si kutoka simu iliyo kwenye muunganisho huo huo.
Tabaka nne kati ya soketi na mchezaji
Fikiria mfuatano ambao mteja anayejiunga hufanya kwa kweli. Kwanza hutatua anwani, kisha hufungua muunganisho wa TCP kwenda bandari iliyochapishwa, kisha huzungumza itifaki ya mchezo wenyewe ili kujadiliana na kuthibitisha, na mwishowe seva huamua kama utambulisho huo unaruhusiwa kuingia ulimwenguni. Kila tabaka lina saini yake ya kushindwa, na ni la kwanza pekee linaloonekana kwa kikagua bandari.
Bandari chaguo-msingi ya Java Edition ni 25565, lakini mwendeshaji anaweza kuchapisha bandari nyingine ya nje na kuielekeza ndani, hivyo nambari ambayo mchezaji huandika si lazima iwe nambari ambayo seva inaona. Kikagua kinachoelekezwa kwenye bandari isiyo sahihi ya nje huripoti imefungwa wakati seva iko salama kabisa, na hii ndiyo tahadhari ya uongo inayojulikana zaidi katika eneo hili lote.
Majina huongeza hatua moja zaidi juu ya bandari. Ikiwa mchezaji ataandika jina la mwenyeji, utatuzi lazima urudishe anwani iliyochapishwa, na kwenye mashine iliyo ndani ya mtandao inaweza kurudisha anwani ya faragha badala yake. Hiyo si kushindwa kwa firewall na hakuna kiasi chochote cha upelekaji bandari kitakachobadilisha hilo.
Kwa nini mchezaji wa ndani huchukua njia tofauti
Mchezaji aliye kwenye LAN hiyo hiyo, au kwenye VPN inayofikia LAN hiyo, hujaribu kufikia anwani ya umma kutoka ndani. Ombi huenda kwenye anwani ya nje ya kipanga njia na kipanga njia lazima kilitafsiri kurudi ndani, ambayo ni mpangilio unaojulikana kama hairpinning au uakisi wa NAT. Ili hii ifanye kazi, tafsiri ya mbele na njia ya kurudi zote zinapaswa kuoana, na vipanga njia vingi vya nyumbani havitilii hii kabisa.
Ndiyo sababu mgeni kutoka nje anajiunga wakati mtu aliyekaa kando ya seva hawezi. Njia ya nje iko sawa kweli; kinachoshindwa ni mchepuko wa ndani, na hushindwa kwa namna ambayo kutoka skrini ya mchezaji inaonekana kama tatizo la seva. Kumbukumbu ya seva yenyewe huamua kilichotokea, kwa sababu muunganisho ambao haukutafsiriwa kamwe haufikii kwake.
Kuna marekebisho mawili ya uaminifu na tabia moja mbaya. Chaguo nzuri ni kuwaruhusu wachezaji wa ndani kutumia anwani ya faragha au jina la split-DNS linalotatuliwa ndani kwenda anwani ya faragha, au kuwasha uakisi kwenye kipanga njia ikiwa kipengele kipo na kinajiendesha vizuri. Tabia mbaya ni kufungua bandari zaidi au kuzima firewall ya mwenyeji, jambo ambalo haliwezi kuathiri tafsiri ambayo kipanga njia hakikuwahi kufanya.
Nyaraka za Netgate kuhusu uakisi wa NAT zinaeleza kwa undani zaidi tofauti kati ya nje na ndani na mbadala wa split-DNS. Zisome kama maelezo ya utaratibu na si kama ahadi kwamba mtoa huduma yeyote mahususi wa VPN au kipanga njia kinachunguza kila aina ya loopback.
Kusanya ushahidi kutoka kila mtazamo
Kwa kila jaribio, andika nani aliliendesha, kutoka wapi, saa ngapi, dhidi ya anwani na bandari gani, na seva iliandika nini. Kukataliwa kwa mchezo kukiwa na sababu wazi kwenye konsoli ya seva ni ugunduzi tofauti na muunganisho ambao haukufika kamwe, na vyote viwili huelekea pande tofauti.
Ikiwa wachezaji wa mbali walioruhusiwa wanajiunga na mchezaji mmoja wa ndani hawezi, swali lililobaki ni njia ya ndani na inastahili uchunguzi wake: mteja alitumia anwani gani, kipanga njia kilifanya nini na tafsiri, na seva ilirekodi jaribio lolote la muunganisho. Wape watu wanaomiliki mtandao ukweli huo watatu badala ya kufungua bandari ovyo.