NAT linganifu na VPN: pima ramani, si lebo
Ramani inayotegemea ncha ya mwisho huathiri ugunduzi wa wenza, si handaki ya kawaida kutoka mteja hadi seva. Pima bandari, na ikiwa njia ya moja kwa moja itashindikana, tumia kipitishio.
Uzi wa usaidizi huishia kwa hukumu “NAT linganifu, VPN haitafanya kazi hapa”, kisha mteja husakinishwa upya mara tatu bila sababu. Lebo huleta madhara kwa sababu hujibu swali ambalo hakuna aliyeliuliza. Mteja anayeunganisha nje hadi seva isiyobadilika huunda ramani wakati anapotuma pakiti ya kwanza, na jibu huruhusiwa kurudi kwa kanuni ambazo karibu kila mtandao huzitekeleza. Kinachotatiza kwa kweli ramani inayotegemea ncha ya mwisho ni wenza wawili wanaojaribu kufikiana kwa wakati mmoja, na hiyo ni jaribio tofauti.
Maswali mawili yamefichwa nyuma ya lebo moja
Swali la kwanza ni kama mwenyeji aliye nyuma ya mtandao huu anaweza kufungua kipindi kwenda anwani ya umma na bandari inayojulikana. Kwa mteja wa handaki hiyo ni hali ya kawaida, na jibu ni ndiyo karibu kila mara. Kipanga njia hurekodi chanzo cha ndani, hutenga bandari ya nje, na huruhusu jibu kupita kwa sababu ni la kipindi kilichoanza kutoka ndani.
Swali la pili ni kama wenyeji wawili walio nyuma ya mitandao tofauti wanaweza kupata njia ya pamoja na kutuma kwa kila mmoja bila seva katikati. Hiyo inategemea jinsi kila mtandao unatenga bandari hizo za nje, na ni mahali pekee ambapo tabia ya ramani ni muhimu.
Kuchanganya mawili huzalisha utambuzi mbaya wa kawaida: kipengele cha wenza hushindikana, mtu huendesha jaribio la aina ya NAT, huona kundi baya zaidi, na huhitimisha kuwa handaki ya kawaida pia haiwezi kufanya kazi. Kilichoshindikana hakikuwa handaki kamwe.
Ramani na uchujaji ni sifa mbili tofauti
Istilahi za RFC ni sahihi zaidi kuliko majina yanayotumiwa na wauzaji, na inafaa kuziweka kwenye tikiti kwa sababu hutatua mabishano. Ramani ni jinsi bandari ya nje inavyotengwa. Uchujaji ni pakiti zipi zinazoingia huruhusiwa kupita. Mtandao unaweza kuwa mkali katika moja na mpole katika nyingine, na mchanganyiko huo ndio kitu ambacho itifaki ya wenza inapaswa kuvumilia.
| Behaviour | What it means | Effect on a direct peer path |
|---|---|---|
| Endpoint-independent mapping | One external port for every destination | Discovery works if the port is advertised |
| Address-dependent mapping | New port per remote address | Works only if both sides probe the same pair |
| Address-and-port-dependent | New port per remote address and port | Usually needs a relay |
Mstari wa tatu ni kile ambacho vipanga njia vingi vya walaji na kampuni za simu humaanisha kwa linganifu. Kumbuka kuwa lebo inaeleza utengaji tu. Mtandao wenye ramani hiyo na uchujaji mpole bado unaweza kupokea pakiti zinazoingia kwenye bandari iliyotengwa hivi punde, ndiyo sababu utoboa mashimo hufanikiwa kwa baadhi na kushindikana kwa wengine.
Uchujaji una kesi zake tatu na jina lake kwa kila moja. Kuandika “NAT linganifu” kwenye tikiti wakati unamaanisha “uchujaji unaotegemea anwani na bandari” humtuma mtu anayefuata kwenye sura isiyofaa ya mwongozo. Vyote viwili hujiendesha tofauti kwenye jaribio, kwa hivyo kosa si la kitaaluma.
Pima ramani badala ya kuipa jina
Unaweza kuangalia bandari iliyotengwa moja kwa moja kutoka upande wa seva wa huduma yoyote ya UDP unayodhibiti. Anzisha kunasa kwenye mwenyeji wa umma, tuma kutoka kwa mteja, na usome bandari chanzo ambayo pakiti ilifika nayo:
sudo tcpdump -ni eth0 -c 10 'udp port 51820'
sudo wg show wg0 endpoints
sudo conntrack -L -p udp --dport 51820
Mstari wa ncha ya mwisho ni wenye manufaa zaidi kati ya matatu, kwa sababu WireGuard hurekodi anwani na bandari za mwisho zilizopokelewa kutoka kwa kila mwenza. Linganisha bandari hiyo na ile ambayo mteja anadhani anaitumia. Zitatofautiana kila mara tafsiri yoyote inapotokea, na swali muhimu ni kama thamani inabaki thabiti.
Rudia uchunguzi dhidi ya bandari ya pili ya marudio au seva ya pili na ulinganishe tena. Ikiwa bandari ya nje inabadilika kwa kila marudio, ramani inategemea anwani na bandari. Ikiwa inabaki ile ile, mtandao unakupa ramani moja na ugunduzi una nafasi.
Zana zinazotegemea STUN huripoti uainishaji huo huo kwa hatua moja, na zinafaa kutumika mtandao unaporuhusu UDP ya kutoka kwenda seva ya umma ya STUN. Usiporuhusu, njia ya kunasa iliyo juu bado inafanya kazi na haihitaji chochote isipokuwa mwenyeji unaodhibiti tayari.
Chagua marekebisho yanayolingana na hitilafu
Ikiwa kipengele kinachoshindikana ni cha wenza, majibu yanayoungwa mkono ni kipitishio, huduma ya kukutana ambayo wenza wote wanaweza kuifikia, au topolojia tofauti. TURN ipo kwa ajili hii hasa, na bidhaa inayoleta kipitishio chake yenyewe inakuambia inatarajia baadhi ya mitandao kuwa maadui.
Ikiwa kipengele kinachoshindikana ni handaki ya kawaida, tabia ya ramani si tatizo lako na hakuna lolote la juu linalotumika. Hakikisha mteja anatuma kweli, seva inaona pakiti, na jibu linarejea. Mfuatano huo ni uchunguzi tatu na hauhitaji kujua chochote kuhusu kundi la NAT la kipanga njia.
Kisichofanya kazi ni kutawanya mabadiliko ya bandari ya ndani hadi kitu kiunganishwe. Kubadilisha bandari chanzo ya mteja hakubadilishi jinsi mtandao unatenga ramani. Mafanikio ya bahati nasibu kwenye jaribio la tano ni chanya cha uongo, na yatatajwa kama suluhisho kwa miezi.
Rekodi usanifu, si hukumu
Dokezo lenye manufaa husema itifaki ipi, kipindi huanza kwa mwelekeo upi, kama kuna kipitishio kwenye njia, na kile kilichozingatiwa kwenye waya. “NAT linganifu, haifanyi kazi” haitumiki, kwa sababu kwa wakati mmoja si sahihi kuhusu handaki na haitoi taarifa kuhusu njia ya mwenza.
Jumuisha uthabiti wa bandari uliopimwa na tabia ya uchujaji ikiwa ulizijaribu. Mambo haya mawili humruhusu mtu mwingine kutabiri kama kipengele kipya kitafanya kazi kwenye mtandao huo bila kurudia uchunguzi wote. Pia huzeeka vizuri zaidi kuliko kundi la muuzaji ambalo humaanisha kitu tofauti kidogo kwenye kila ukurasa wa usaidizi.
Mwishowe, weka istilahi za RFC 4787 karibu unapoandika hili. Kutumia istilahi sahihi hugharimu sentensi moja na huzuia msomaji anayefuata kurudia utambuzi mbaya huo huo, na hilo ndilo lengo lote la kuandika dokezo.