Wasifu wako wa OpenVPN kwenye Android hauna kuongeza njia kwa sababu simu haina anwani kwenye kiolesura cha mtandao dhahania, hivyo hakuna kitu ambacho njia inaweza kuelekeza. Njia zinajibu tu wapi pakiti zinapaswa kwenda. Anwani ya handaki inajibu nani simu ndani ya handaki, na mteja lazima atoe moja kabla kiolesura hakiwezi kuwepo. Pitia ukaguzi nne hapa chini kwa mpangilio na usimame kwenye hitilafu ya kwanza, kwa sababu kuhariri njia kabla anwani haijakuwepo kunaficha tatizo halisi.

Soma hitilafu kwa mpangilio ambao mteja anautekeleza

VpnService.Builder ya Android inatenganisha dhana mbili: addAddress() huweka anwani kwenye kiolesura ambacho programu inajenga, addRoute() huongeza kiambishi awali cha lengwa, na establish() hukataa kuunda kiolesura hadi angalau anwani moja iongezwe. Mteja wa OpenVPN huoanisha wasifu na chaguo ambazo seva inasukuma moja kwa moja kwenye simu hizo, hivyo muunganisho ambao haujachambua anwani kamwe hauwezi kujenga kiolesura kabisa.

Ndiyo sababu mstari wa kumbukumbu unaosoma unaweza kutaja njia wakati sababu iko hatua moja nyuma. Mteja hufikia hatua ya njia tu baada ya kiolesura kuwepo; bila anwani, wito wa njia hushindwa mara moja au hautekelezwi kamwe. Kumbukumbu inaposema haiwezi kuongeza njia, anza na anwani na sio sintaksia ya njia.

Ukaguzi 1: je, seva inaweka anwani kwenye jibu?

Kwa huduma ya OpenVPN inayopitia njia, anwani hutoka kwenye dimbwi la seva au ugawaji kwa kila mteja, na topolojia huamua umbo lake. Kwenye seva ya OpenVPN 2.4 au mpya zaidi, huduma yenye topolojia ya subnet inaonekana hivi:

topology subnet
server 10.8.0.0 255.255.255.0
client-config-dir ccd

Kwa umbo hilo seva inasukuma kitu kama ifconfig 10.8.0.6 255.255.255.0. Usakinishaji wa zamani wa topology net30 husukuma badala yake anwani ya mwenza, kwa mfano ifconfig 10.8.0.6 10.8.0.5, hivyo wasifu uliohamishwa kati ya mifano miwili unaweza kuonekana sahihi huku ukibeba kifuniko cha mtandao kisicho sahihi.

Tafuta kwenye kumbukumbu ya muunganisho wa mteja seti ya chaguo zilizosukumwa. Ikiwa haina mstari wowote wa ifconfig, seva haikutuma anwani kamwe au mteja alikataa chaguo hilo. Kwenye seva inayotumia client-config-dir, faili iliyopewa jina la common name ya cheti lazima iwepo na ibebe ugawaji:

# ccd/phone-anna
ifconfig-push 10.8.0.6 255.255.255.0

Ukaguzi 2: je, mteja anabaki na anwani aliyopewa?

Kichujio kipana mno ni sababu ya pili ya kawaida. pull-filter ipo katika OpenVPN 2.4 na mpya zaidi, na chujio nyingi zinapolingana na chaguo moja linaloshinda ni la mwisho linalolingana, hivyo catch-all iliyoachwa mwishoni huondoa anwani bila hitilafu:

# removes every pushed option, including the address
pull-filter ignore "ifconfig"
pull-filter ignore "route"

Punguza kichujio hadi chaguo ambalo kweli unataka kuondoa na uache anwani:

# keeps the pushed address, drops one unwanted LAN route
pull-filter ignore "route 10.60.0.0"

Ushauri wa kuzima pull zote kwa kawaida hutoka kwa mtu anayetaka kuondoa njia moja tu. route-nopull ni swichi nyembamba zaidi: inabakiza ifconfig na chaguo nyingine zilizosukumwa huku ikikataa njia zilizosukumwa na chaguo za aina ya DHCP. Itumie wakati hilo ndilo kweli unalotaka, na jibu swali la anwani kwa mbali.

Ukaguzi 3: je, anwani ni yako kuandika?

Kuweka anwani kwa mkono ni halali tu pale mwendeshaji anapokupa thamani. Ukijiandika mwenyewe, lazima itokee kwenye subnet ya mteja wa VPN, iwe ya kipekee miongoni mwa vikao vinavyotumika na ilingane na topolojia ambayo seva inaendesha. Kunakili anwani ya daraja la kompyuta ya mezani au mwenyeji kwenye LAN ya mbali hushindwa pande zote mbili: simu itadai anwani ambayo tayari ipo mahali pengine, na lango halitakuwa na njia ya kurudi kwake.

Kiambishi awali cha LAN ya mbali kwenye njia ni lengo, kamwe si utambulisho wa simu. Njia ya 10.60.0.0/24 inasema fikia mtandao huo kupitia handaki; haisemi kitu kuhusu anwani gani ya 10.60.0.x simu inapaswa kuwa nayo, na simu haipaswi kuwa na yoyote kati ya hizo. Ugawaji thabiti ni wa upande wa seva, ambako hauwezi kugongana na dimbwi linalobadilika.

Vikao viwili kwenye utambulisho mmoja hufichua mgongano huo huo. Ikiwa cheti kimoja kinaunganisha mara mbili na seva inasukuma anwani moja isiyobadilika kwa vyote viwili, kikao cha pili kinakili cha kwanza, na suluhisho ni utambulisho tofauti au ugawaji tofauti na sio uhariri wa upande wa mteja.

Ukaguzi 4: je, kitu kingine kinashikilia nafasi ya handaki?

Android huruhusu huduma moja tu ya VPN inayotumika kwa wakati mmoja. Programu nyingine ya VPN, au ingizo la VPN linaloendelea kuwaka lililoachwa likiwa limewashwa kwa wasifu ambao haufanyi kazi tena, inaweza kuchukua nafasi hiyo kabla mteja wako wa OpenVPN hajaita establish(). Kiolesura hicho hakiishi kuonekana hata wasifu ukiwa halali, hivyo tenganisha VPN nyingine, zima mpangilio wa kuendelea kuwaka na unganisha tena kabla ya kugusa wasifu.

Huduma inayosisitiza daraja la Ethernet ndiyo njia nyingine iliyofungwa. Programu ya Android bila root inaweza kuunda handaki la IP, sio sehemu ya Ethernet iliyodarajiwa, hivyo hakuna anwani unayoandika itakayofanya seva ya dev tap ifanye kazi; mwendeshaji lazima atoe huduma inayopitia njia. Unaporipoti tatizo, jumuisha jina na toleo la mteja, seti ya chaguo zilizosukumwa, topolojia na hatua kamili ambapo anwani ilipaswa kuonekana.

Ikiwa ukaguzi wote nne utapita na anwani ipo, ni ya kipekee na imefunikwa vizuri, swali la njia linakuwa la kawaida: ni viambishi gani seva inaruhusu na mteja anapaswa kuvipunguza vipi. Andika anwani ya handaki, kifuniko cha mtandao na topolojia kabla ya kubadilisha kitu kingine chochote, kwa sababu thamani hizo tatu ni kile mwendeshaji anahitaji kulinganisha na mtazamo wa seva.

Makala zinazohusiana