Seva au mteja: kitengo kipi cha OpenVPN kwenye Pi yenye dhima mbili
Visa viwili vya OpenVPN hushiriki Pi moja: kimoja hukubali watumiaji wanaozunguka, kingine hupiga simu kwa mtoa huduma wa juu. Soma jina la kitengo na saraka kabla ya kuwasha upya chochote kati yao.
Michakato miwili ya OpenVPN hukimbia kwenye Pi moja ambayo kwa wakati mmoja hukubali watumiaji wanaozunguka na kufikia mtoa huduma wa juu, na haishiriki karibu chochote isipokuwa maunzi. Kimoja husikiliza vichuguu vinavyokuja na kingine hupiga simu kwenda nje. Kila kimoja husoma saraka yake, na kila kimoja kina hali yake ya kushindwa. Kuwasha upya kile kisichofaa ndiyo njia ya kawaida zaidi ambayo marekebisho ya mteja huishia kutingisha kisikilizaji badala yake.
Oanisha jina la kitengo na saraka inayoipakia
Upstream 2.6 hutoa vitengo viwili vya kiolezo, [email protected] na [email protected]. Kiolezo cha seva huanza katika /etc/openvpn/server na hupakia %i.conf kutoka hapo. Kiolezo cha mteja huanza katika /etc/openvpn/client. Kisa kinachoitwa roaming kinaweza kuwepo sehemu zote mbili kwa wakati mmoja, kama seva na kama mteja, na usanidi mbili zisizohusiana na hakuna kiungo kati yao isipokuwa mfuatano.
Uliza systemd badala ya mfumo wa faili, kwa sababu wafungaji wa vifurushi huongeza faili za ziada zinazoweza kubadilisha saraka ya kazi au hoja ambazo faili binary hupokea.
systemctl list-units --type=service 'openvpn-*@*' systemctl cat [email protected] systemctl show -p WorkingDirectory -p ExecStart [email protected]
Amri ya kwanza huorodhesha kila kitengo kilichoundwa, ikiwa ni pamoja na vile vilivyoshindwa na kubaki vimepakiwa. Ya pili huchapa faili ya kitengo pamoja na ubatilishaji wowote. Ya tatu ni njia ya haraka zaidi ya kuona mambo mawili yanayoamua swali: saraka ambayo mchakato huanza, na njia ya usanidi iliyopewa.
Amua kwa mwelekeo wa pakiti, si kwa jina la kiolesura
Kisa cha seva kinamiliki soketi ya kusikiliza na hukubali miunganisho. Usafirishaji wake uliosimbwa ni ingizo la ndani na tokeo la ndani kwenye Pi, wakati trafiki inayosambaza kwa watumiaji hufuata njia ya usambazaji na kutii seti nyingine ya kanuni. Kisa cha mteja hakina kisikilizaji kwa maana hiyo: hupiga simu kwa mwenza, kwa hiyo usafirishaji wake uliosimbwa ni tokeo la ndani kuelekea tabaka la chini.
Tofauti hiyo inakuambia kanuni inapaswa kuwa wapi. Kanuni inayolingana na kiolesura ndani ya mnyororo wa usambazaji huruhusu tu trafiki ambayo uelekezaji tayari umeichagua; kamwe haichagui njia. Wakati pakiti za mtumiaji anayezunguka zinatoka kwa njia isiyofaa, mnyororo wa kukagua ni forward, si output.
Angalia soketi kabla ya kufanya nadharia. Seva iliyofungwa kwa udp/1194 inaonyesha soketi ya kusikiliza. Mteja anaonyesha uhusiano na anwani ya mtoa huduma na hakuna kinachosikiliza.
ss -lunp | grep openvpn ss -unp state established '( dport = :1194 or sport = :1194 )'
Njia chaguo-msingi ya kisa kimoja inaweza kunasa majibu ya kingine
redirect-gateway inayosukumwa na mteja wa juu husakinisha njia chaguo-msingi inayoshindana na kila kitu kingine kwenye mashine, ikiwa ni pamoja na majibu ambayo seva hutuma kwa watumiaji wanaozunguka. OpenVPN hufanya ubaguzi kwa anwani yake ya mwenza ili vichuguu vibaki vikifikika, lakini ubaguzi huo hausemi chochote kuhusu simu iliyo kwenye mtandao wa hoteli.
Dalili kwa kawaida hailingani. Ushikaji mikono hukamilika, mteja huripoti ameunganishwa, na trafiki hufa baada ya pakiti ya kwanza ya jibu. Uelekezaji wa sera unaotegemea chanzo, au alama ya pakiti iliyowekwa kwenye kisa cha seva kwa --mark, huweka mitiririko miwili tofauti; hakuna hata mmoja ulio seti kamili ya kanuni peke yake, na zote mbili zinahitaji njia halali katika jedwali wanalochagua.
Jaribu uamuzi wa ndani badala ya hali ya kichuguu, kwa sababu kerneli huchagua chanzo na kiolesura kabla OpenVPN kuona pakiti.
ip route get 203.0.113.44 ip rule show
Washa upya dhima moja na uthibitishe kwamba nyingine ilinusurika
Mpangilio ni muhimu wakati dhima zote mbili zinategemea tabaka moja la chini. Washa upya mteja kwanza ikiwa njia ya juu lazima iwepo kabla trafiki ya watumiaji inaweza kusambazwa, na washa upya seva kwanza unapobadilisha tu kisikilizaji chake au bwawa lake. Kwa vyovyote vile, thibitisha vitengo vyote viwili baadaye, kwa sababu kuwasha upya kusikofanikiwa kunaweza kumwacha dhima nyingine ikiendeshwa na hali ya kizamani.
Andika sharti la kusimama kabla ya mabadiliko: upotevu wa kichuguu cha juu huzuia watumiaji wanaozunguka, au hurudi kwenye kiungo cha juu cha Pi chenyewe? DNS na IPv6 pia zinahitaji jibu la wazi, kwa sababu kitatuzi kilichosukumwa mara nyingi huishi muda mrefu kuliko njia iliyoifanya kuwa muhimu.
systemctl restart [email protected] systemctl is-active [email protected] journalctl -u [email protected] -n 20 --no-pager
Kubali mabadiliko tu wakati mambo matatu yanashikilia kwa wakati mmoja: muunganisho mpya unaoingia hukamilika, programu iliyosambazwa hufikia lengo lake kupitia tokeo lililokusudiwa, na michakato yote miwili bado huripoti mwenza wao anayetarajiwa. Ikiwa mmoja wa watatu unashindwa, umebadilisha kisa kisichofaa au njia isiyofaa, na hatua inayofuata ni kusoma kitengo tena badala ya kuwasha upya kitu kingine.