Vikolezo viwili vya VPN kwenye Pi moja: njia ipi hubeba mwenzi yupi
Anwani mbili za handaki kwenye Pi moja si hitilafu. Kila lengwa linahitaji mbebaji wake, uthibitisho wake na mpango mbadala uliotangazwa wakati kikolezo cha nje kinapokufa.
Anwani mbili za handaki kwenye ubao mdogo zinaonekana kama kosa, na hisia ya kwanza ni kufuta moja. Hisia hiyo huvunja kile ilichopaswa kusafisha. Mwenyeji anayebeba vikolezo viwili ana anwani moja kwa kila muunganisho, na kila anwani huchaguliwa na njia tofauti. Swali linalofaa kuulizwa ni njia ipi huchagua mbebaji yupi kwa lengwa lipi, si anwani ngapi zipo.
Malengo matatu yanayohitaji wabebaji tofauti
Mnyororo wa vikolezo viwili ni madaraja matatu ya malengo yaliyorundikwa, na kila moja hubebwa na muunganisho tofauti. Mwenzi wa nje lazima afikiwe kwa kiungo cha kimwili. Mwenzi wa ndani lazima afikiwe kwa handaki la nje. Lengwa la programu iliyofunikwa lazima lifikiwe kwa handaki la ndani, ambalo usafirishaji wake hubebwa na la nje.
| Destination class | View that names the carrier | Command that proves it | Symptom when the wrong carrier wins |
|---|---|---|---|
| Outer peer, 198.51.100.10 | the main table, by destination | ip route get 198.51.100.10 | the outer handshake never completes |
| Inner peer, 203.0.113.7 | the main table once the outer tunnel is up | ip route get 203.0.113.7 | the inner handshake leaves over the physical link |
| Application destination, 172.30.9.1 | the table the inner client's traffic is selected into | ip route get 172.30.9.1 from 10.8.0.2 | the exit address looks right and the traffic never crossed the outer hop |
| Parallel tunnels, one per source group | one policy per group, not the main table | ip rule show beside a marked test connection | both tunnels are up and one steals the other's traffic |
Jaza safu kwa anwani halisi za msomaji kabla ya kugusa njia, kwa sababu jedwali linafaa tu linapokuwa dhahiri. Mnyororo unaofanya kazi hutosheleza safu zote nne kwa wakati mmoja, na mnyororo unaofanya kazi nusu kwa kawaida hutosheleza moja yao kwa mbebaji asiye sahihi. Kusoma safu isiyo sahihi kama hitilafu ndiko kunageuza tatizo la uelekezaji kuwa mchana mzima wa marekebisho.
Anwani zina majukumu, si idadi
Linux huruhusu anwani kadhaa kwenye kiolesura kimoja na handaki kadhaa kwenye mwenyeji mmoja, kwa hiyo idadi haisemi chochote kuhusu usahihi. Kinachojalisha ni anwani ipi ni ya muunganisho upi, na kama njia ya mwenzi fulani huchagua muunganisho uliokusudia. Mionekano mitatu hujibu hilo kutoka pande tatu, na inafaa kuisoma kwa mpangilio uleule kila mara.
Orodha ya anwani huonyesha kilichopo na muunganisho upi unaomiliki. Jedwali la njia hujibu swali la mbebaji kwa trafiki ya kawaida ya malengo. Mwonekano wa sera hujibu tena kwa trafiki iliyochaguliwa kwa chanzo au alama, ambayo ni mpangilio wa kawaida wakati wateja wawili wanashiriki mwenyeji mmoja.
ip -4 addr show
ip -4 route show table all
ip rule show
Kufuta anwani kwa sababu orodha inaonekana ndefu kunaweza kuondoa sehemu ya njia, na kufuta njia kwa sababu inaonekana ya ziada hufanya hivyo kwa utulivu zaidi. Hakuna kinachotoa hitilafu; mwenzi huacha tu kujibu kwenye njia uliyokusudia huku akibaki kufikiwa kwa njia nyingine. Programu inayoripoti anwani ya kutoka ya mwenzi wa ndani haithibitishi kwamba trafiki ilivuka handaki la nje, kwa kuwa ufikiaji wa moja kwa moja hutoa uchunguzi uleule. Pengo hilo kati ya uchunguzi na uthibitisho ndilo sababu mbebaji hukaguliwa kwenye tabaka la uelekezaji.
Mpangilio wa uanzishaji hushinda usingizi usiobadilika
Ikiwa mteja wa ndani anategemea anwani au njia inayotolewa na mteja wa nje, uanzishaji lazima usubiri rasilimali hiyo badala ya ucheleweshaji. Usingizi hufanya kazi hadi siku handaki la nje linapokuwa la polepole, kisha hushindwa mara kwa mara kwa namna ambayo hakuna anayeweza kuiga. Mpangilio unaotegemea utegemezi huondoa kukisia na haugharimu chochote isipokuwa kueleza utegemezi mara moja. Majina ya violesura pia si utaratibu wa mpangilio.
Kernel hutoa majina kama tun0 na tun1 kwa mpangilio wa uundaji, na mpangilio huo unaweza kubadilika kati ya kuwasha upya au kuunganisha upya. Funga usanidi na utambulisho unaotolewa na chombo, au na jina unalopanga kwa makusudi. Jina unalochagua ni mkataba; jina kernel inalochagua ni bahati nasibu.
Weka usafirishaji wa kila mteja nje ya njia ya programu ya mwingine, na kuwa sahihi kuhusu kile chaguo za uelekezaji za OpenVPN 2.6 zinaahidi kweli. Utaratibu ulioandikwa wa uelekezaji upya wa chaguo-msingi huwezesha mteja kufikia mwenzi wake wa mbali kupitia lango lililokuwepo tayari, na hilo hukata mzunguko mmoja mahususi wa kurudia. Haumfanyi mteja mmoja kuwa mbebaji wa mwingine, kwa hiyo sehemu iliyobaki ya mnyororo inabaki kuwa muundo wako. Pale mnyororo unahitaji sera badala ya njia, andika kanuni dhahiri ya chanzo au alama na uijaribu na trafiki inayopaswa kuoana nayo.
Kinachotokea wakati kikolezo cha nje kinakufa
Kabla mnyororo haujahesabiwa kuwa kamili, amua kinachotokea wakati kikolezo cha nje kinapotea. Usafirishaji wa mteja wa ndani hufa pamoja nacho, na hatua inayofuata ni suala la sera si la kiufundi: kushindwa, kujaribu tena au kuunganisha moja kwa moja kupitia kiungo cha kimwili. Matokeo hayo ya tatu ndiyo yanayofaa kufikiriwa. Hubadilisha kwa utulivu muundo wa vikolezo viwili kuwa muundo wa kikolezo kimoja wakati mtumiaji anaamini kwamba ufunikaji bado haujaguswa.
Ikiwa vikolezo viwili ni lazima, mteja wa ndani hana budi kuweza kuanzisha njia ya moja kwa moja wakati wa nje haupo, na njia ya kujua ni kuvunja kikolezo cha nje na kuangalia kinachofanya cha ndani. Mpango mbadala ulioidhinishwa ni jibu halali, lakini lazima uandikwe, ujaribiwe na utangazwe. Mpango mbadala ambao hakuna aliyebainisha hauwezi kutofautishwa na uvujaji wakati wa mapitio ya tukio.
DNS na familia nyingine ya anwani ni sehemu ya uamuzi huo. Utafutaji unaozalishwa ndani hufuata sera ya mwenyeji mwenyewe si ya mteja aliyepitishwa, kwa hiyo kitatuzi kinachofanya kazi kwa trafiki iliyopitishwa kinaweza kuwa si kile mwenyeji mwenyewe anachotumia.
Kubali kila tabaka kwa mpangilio ulioijenga
Jaribu kwa mpangilio ambao mnyororo ulijengwa: kwanza handaki la nje peke yake, kisha usafirishaji wa mteja wa ndani kupitia handaki la nje, kisha programu kupitia handaki la ndani. Kila kukubali lazima kiwe muunganisho mpya si ukurasa uliokuwa wazi tayari. Kisha vunja na urejeshe kila tabaka kivyake na uangalie kinachofanya kinachofuata.
Matokeo ya mpango mbadala ni uchunguzi wenye thamani zaidi hapa, na ule ambao ukurasa wa IP wa umma hauuonyeshi kamwe. Hifadhi njia za wenzi, anwani wanazotumia na matokeo hayo kando ya usanidi, kwa sababu njia ya furaha si sehemu inayohojiwa baadaye.