Mwongozo huu unampa programu inayofahamu proksi ufikiaji wa njia iliyopo ya WireGuard bila kuchapisha bandari ya proksi kwenye seva ya VPN au kwenye intaneti. Daemon ya SOCKS hutoa kiolesura cha programu, WireGuard hutoa njia ya IP iliyoidhinishwa tayari, na hakuna hata mmoja wao anayethibitisha mtumiaji kwa niaba yako. Kila hatua hapa chini huzalisha kitu unachoweza kukagua, na kila moja ina njia ya kurudi: simamisha kipengele, ondoa kanuni au ondoa mpangilio wa proksi wa programu. Hakuna chochote hapa kinachobadilisha njia ya chaguo-msingi ya mwenyeji.

Mfano unadhani kuwa Dante 1.4.x imesakinishwa kama kipengele maalum kinachosimamiwa kwenye kituo cha kazi cha Linux kinachoaminika, huku akaunti ya huduma na usanidi wa kumbukumbu za kifurushi zikiachwa mahali pake. Kituo cha kazi kinamiliki 10.77.0.2 kwenye kiolesura chake cha WireGuard, kinafika 10.60.0.20:443 kupitia handaki hilo, na jina sahihi la huduma ni app.corp.example.

Hatua 1: funga kiskilizaji kwenye loopback pekee

Weka sehemu za mtandao, mbinu na kanuni kwenye usanidi amilifu wa kipengele, ukibadilisha anwani za mfano. Mipangilio yote ya seva huja kabla ya vitalu vya kanuni:

internal: 127.0.0.1 port = 1080
external: 10.77.0.2
external.protocol: ipv4
clientmethod: none
socksmethod: none

client pass {
    from: 127.0.0.1/32 to: 127.0.0.1/32
}

socks pass {
    from: 127.0.0.1/32 to: 10.60.0.20/32 port = 443
    command: connect
    protocol: tcp
}

Hiki ni kipande, si badala ya mipangilio ya mtumiaji na kumbukumbu za kifurushi. Chagua bandari ya ndani ambayo haijatumika, na hakikisha kuwa kipengele hiki maalum hakina visikilizaji vingine, kanuni pana za upitishaji na maingizo ya mnyororo wa juu ambayo yangebadilisha mkataba. Ikiwa usanidi uliopita uliacha socks pass bila kikomo cha lengo, iondoe kabla ya kujaribu chochote.

Kurudi nyuma kwa hatua hii ni kusimamisha kipengele; faili ya usanidi inaweza kubaki kwenye diski wakati unairudisha.

Hatua 2: andika kanuni mbili, si moja

Dante marejeo ya usanidi hutoa kazi tofauti kwa aina mbili za kanuni. Kanuni ya mteja inaruhusu muunganisho kwa kiskilizaji cha loopback, na lengo lake ni anwani ya kiskilizaji yenyewe. Kanuni ya SOCKS inaruhusu muunganisho unaofuata ulioombwa kwa mwenyeji na bandari zilizoidhinishwa. Maombi yasiyolingana huzuiwa kwa chaguo-msingi, ndiyo sababu kanuni inayokosekana inaonekana sawa na njia iliyovunjika.

Angalia kile usanidi huu haufanyi kwa makusudi: hauuombi nenosiri la SOCKS. Hiyo inafaa mwenyeji wa ndani anayeaminika, na si uthibitishaji wa mtumiaji. Mchakato mwingine wowote kwenye mashine hiyo unaweza pia kutumia loopback. Weka uthibitishaji wa programu ya mbali wenyewe mahali pake, na usitumie tena umbo hili lisilo na uthibitishaji kwa watumiaji wa ndani wasioaminika au kiskilizaji kinachoelekea LAN.

Hatua 3: thibitisha njia kutoka chanzo sahihi

external huchagua anwani ya chanzo cha kutoka; haiweki njia ya WireGuard. Utafutaji wa kusoma pekee kwa chanzo na lengo la mfano:

ip -4 route get 10.60.0.20 from 10.77.0.2

Endesha hiyo katika nafasi ya jina la mtandao halisi ya Dante, si kwenye ganda lolote ulilofungua kwa bahati. Njia, uchaguzi wa mwenza wa WireGuard, idhini ya upande wa mbali na njia ya kurudi vyote vinapaswa kuendana na anwani hiyo ya chanzo. Utafutaji uliofanikiwa ni wa lazima na hautoshi, kwa sababu hausemi chochote kuhusu kama upande wa mbali unakubali ombi.

Pinga kishawishi cha kuongeza njia ya chaguo-msingi ili utafutaji ufanikiwe. Bandari ya proksi ipo kwenye kituo hiki cha kazi pekee; kubadilisha njia ya chaguo-msingi ya mwenyeji ili kuiumba kunapindua muundo wote.

Hatua 4: jaribu kwa utambulisho uliokusudiwa

Baada ya mmiliki kuthibitisha usanidi uliosakinishwa na kuanzisha kipengele kupitia msimamizi wake wa huduma, ombi la kielelezo ni:

curl --proxy socks5h://127.0.0.1:1080 --noproxy '' https://app.corp.example/

Pamoja na socks5h, Dante hufanya utatuzi wa lengo, lakini Dante huendeshwa kwenye kituo hiki cha kazi, kwa hivyo mpangilio wenyewe hautumi DNS hadi mwisho wa mbali wa handaki. Kitatuzi kilichoidhinishwa ambacho Dante hutumia kinapaswa kurudisha anwani iliyoruhusiwa kwa jina hilo. Orodha tupu ya bila-proksi inazuia msamaha uliorithiwa kukwepa SOCKS kwa utulivu.

Hifadhi uthibitishaji wa jina la mwenyeji na cheti cha HTTPS katika jaribio, kisha kagua kiskilizaji halisi na uthibitishe nusu zote mbili za mkataba: ombi lililoruhusiwa linafanikiwa na lengo lililotengwa linashindwa. Thibitisha pia kwamba amri za upelekaji zisizotumika zinabaki zikikataliwa, kwa sababu kipande hiki kinaruhusu amri ya SOCKS CONNECT juu ya TCP na hakuna kitu kinachofanana na handaki la jumla la UDP au la kifaa kizima.

Hatua 5: amua nini kinatokea handaki linapoanguka

Jaribu upotevu wa handaki na kuanzisha upya kipengele kabla ya kuita hii uzalishaji. Msimamizi anayeanzisha Dante baada ya WireGuard hauzalishi uelekezaji wa fail-closed, na hauzalishi DNS ya fail-closed pia; vyote viwili vinapaswa kulazimishwa kupitia mmiliki wa mtandao. Tazama kile programu inachofanya handaki linapokuwa chini: hitilafu safi ni matokeo mazuri, kuanguka kwa utulivu hadi kwenye kitatuzi cha umma siyo.

Ratibu masasisho ikiwa anwani ya handaki iliyofungwa inabadilika, kwa sababu external imebandikwa juu yake. Wakati mpangilio hauhitajiki tena, ondoa kipengele hiki na mpangilio wa proksi wa programu pamoja, na uachie njia ya WireGuard yeyote anayeimiliki.

Makala zinazohusiana