tun iliyoundwa mapema katika OpenVPN: kulinganisha miundo miwili ya umiliki
Kiolesura cha tun kilichoundwa mapema kinaweza kutumika tena, lakini kipengele kimoja tu kinapaswa kumiliki anwani na njia zake. Linganisha miundo yote miwili kabla ya kuongeza ifconfig-noexec.
Mtu fulani aliunda tun1 mapema, wasifu unasema dev tun1, na muunganisho bado haushikamani. Kuwepo kwa jina kwenye mwenyeji hakuambii karibu chochote, kwa sababu kuhusisha kunategemea nafasi ya majina, aina ya kifaa, nani anamiliki kiungo na kile kinachoruhusiwa kwa daemon. Kutumia kifaa tena pia kunalazimisha uamuzi ambao usanidi wa chaguo-msingi unauficha: kipengele kipi kinaandika anwani na njia. Namna za kushindwa za mipangilio hiyo miwili zinatofautiana zaidi kuliko mistari ya usanidi, kwa hiyo amua kabla ya kuhariri wasifu.
Jina si kuhusisha
dev tun1 inaomba OpenVPN kiolesura hicho kilichotajwa, na miundo ya jadi ya nafasi ya mtumiaji itajaribu kukifungua. Ikiwa jina halifuati mtindo wa kawaida wa tun au tap, wasifu pia unahitaji dev-type linalolingana, kwa sababu aina haikamilikiwi kamwe kutoka kwa mfuatano. Kifaa cha TAP si kifaa cha TUN chenye lebo nyingine: kuhusisha kile kisicho sahihi ama hushindwa mara moja au hutengeneza kiungo kinachobeba fremu ambazo hakuna anayezitarajia. Angalia aina kabla ya kitu kingine chochote, kwa sababu kila ukaguzi wa baadaye unadhani pande zote mbili zinakubaliana juu yake. Kuanzia hapo, thibitisha kwamba mchakato unaweza kwa kweli kufungua kifaa, na si kuona tu.
dev tun1
dev-type tun
Kiolesura cha mtandao na /dev/net/tun ni vitu tofauti: kimoja ni kiungo ndani ya nafasi ya majina, kingine ni kifaa cha herufi ambacho programu ya nafasi ya mtumiaji hutumia kuhusisha. Nyaraka za Linux TUN/TAP zinaeleza njia hiyo ya kuhusisha na kanuni za umiliki kwa vifaa vya kudumu. Shell ya root inayoweza kuendesha ip link inathibitisha tu kwamba shell ina ruhusa, si kwamba daemon inazo. Umiliki wa nodi ya kifaa, seti ya uwezo wa huduma na mtumiaji ambaye inaendeshwa chini yake yote yanapaswa kupatana kabla ya ufunguzi kufanikiwa.
Kifaa kilichopo ambacho hakiwezi kufunguliwa ni tatizo la umiliki, si la uelekezaji. Kichukulie hivyo wakati wa utatuzi, la sivyo mchana utaisha kwa kusoma majedwali ya njia ambayo hayakuwa tatizo kamwe.
Nani anasanidi kiungo: miundo miwili ya umiliki
Katika muundo wa kwanza OpenVPN inasanidi anwani na njia kama sehemu ya kuinua muunganisho. Hiyo ni tabia ya chaguo-msingi na rahisi kufikiri, kwa sababu kipengele kimoja huunda hali na kisha kuiondoa tena. Katika muundo wa pili msimamizi wa nje anamiliki kiolesura, na ifconfig-noexec inazuia OpenVPN kuendesha amri zake za usanidi wa anwani na kukabidhi vigezo kwa skripti. Wakati huo msimamizi anapaswa kutekeleza mwenyewe usanidi sahihi wa ndani na wa mwenza, kazi ambayo ni kubwa kuliko inavyodokezwa na jina la chaguo. Kuchagua kati ya hivyo ni swali la nani anaweza kubadilisha kiungo wakati kikiwa juu.
ifconfig-noexec inashughulikia anwani pekee: jedwali la uelekezaji linabaki bila kuguswa, na usanidi wa njia ni wa route-noexec. Chukulia maagizo mawili kama vidhibiti tofauti vyenye wamiliki tofauti, kwa sababu kuweka kimoja na kudhani kingine ni chanzo cha kawaida cha viungo vilivyosanidiwa nusu. Chagua mmiliki mmoja hasa kwa kila tabaka, anwani mahali pamoja na njia mahali pamoja. Msimamizi wa mtandao na msaidizi wa VPN wote wanaandika anwani ndiyo njia ambayo kukatika kunafuta hali ambayo upande mwingine bado unaitegemea.
Kagua kifaa kutoka nafasi ya majina inayojalisha
Kagua kifaa kutoka nafasi ya majina ambayo mchakato wa VPN unaendesha, si ile ambayo shell yako ipo kwa bahati. Amri mbili zilizo hapa chini zinajibu maswali tofauti, na tofauti huonekana wakati mwenyeji anaona kiolesura ambacho kontena haioni. Zifanye kwa mpangilio uliotolewa, kwa sababu ya pili ina maana tu baada ya kujua kama kiungo kipo kabisa.
ip -details link show dev tun1
ip tuntap show
Amri ya kwanza inachapisha kiungo jinsi kernel inakiona, ikiwa ni pamoja na bendera na aina ya kiolesura, na hivyo unathibitisha kuwa hiki ni kifaa ulichokusudia. Ya pili inaorodhesha maingizo ya tun/tap ya kudumu, ambayo yapo bila mchakato wowote kuyashikilia. Kiolesura kinachosubiri mmiliki wake aliyekusudiwa ni hali tofauti na handaki hai lililounganishwa na VPN nyingine, na ya pili pekee inaeleza kwa nini uhusishaji wako mwenyewe hushindwa. Tafuta mchakato unaoshikilia kifaa kabla ya kubadilisha kitu chochote, kwa sababu ingizo la kudumu na kiolesura kilichobanwa vina marekebisho tofauti.
Usaidizi wa foleni nyingi ni mpangilio maalum wa kiendeshi wenye mahitaji yake, si ruhusa kwa michakato isiyohusiana kushiriki kiolesura kimoja. Kikao hai cha mmiliki mwingine ni tatizo la uratibu, na hakuna uhariri wa wasifu unaolitatua.
Aina mbili za udumu
Udumu wa kernel na persist-tun zinaeleza muda wa maisha ambao ni rahisi kuchanganya na ghali kukosea. Kifaa cha kudumu kipo bila kutegemea mchakato wowote, kwa hiyo kinastahimili kusimamishwa na uanzishaji unaofuata unaweza kukitumia tena. persist-tun huhifadhi rasilimali katika upyaupya laini unaotumika ndani ya mchakato mmoja wa OpenVPN, upeo mfupi zaidi. Hakuna kimoja kinachoahidi kwamba kusimamisha huduma kunaacha njia na anwani mahali pake, na kiolesura kinachoendelea kuonekana si ushahidi wa kikao cha usimbaji fiche kinachofanya kazi.
Thibitisha pia backend, kwa sababu kiolesura kilichoundwa mapema hakisemi chochote kuhusu utekelezaji upi utakachofungua. Miundo ya jamii iliyo na njia ya moja kwa moja ya data itajaribu kuitumia isipokuwa muundo useme vinginevyo. Pale ambapo toleo linatumia swichi, disable-dco huchagua badala yake njia ya nafasi ya mtumiaji; injini za zamani na wateja wengine hawana maagizo kama hayo, kwa hiyo weka sharti la toleo kando ya chaguo badala ya kudhani linatumika.
Ni nini huvunjika wakati uanzishaji pekee unajaribiwa
Makubaliano ya umiliki yanaweza kupita jaribio la kwanza na kushindwa la mwisho, jambo linalofanya uanzishaji kuwa ukaguzi hafifu peke yake. Badala yake angalia mabadiliko mawili: upyaupya laini, na kusimamishwa kamili kinachofuatiwa na uanzishaji.
systemctl status openvpn-client@lab
ip -details link show dev tun1
Uanzishaji ni kisa rahisi: kitengo kinapanda, kiungo kinaonekana, na matokeo ya hali yanataja wasifu uliopakiwa. Uhusishaji ni wakati daemon inafungua kifaa, kwa hiyo endesha ukaguzi wa kiungo baada ya kitengo kuripoti kuwa hai, si kabla. Ikiwa kiungo kipo wakati hali bado inawashwa, unaangalia kifaa cha kudumu ambacho hakuna mtu amehusisha nacho bado, si handaki inayofanya kazi. Pitisha trafiki halisi kupitia kiungo kabla ya kuendelea, kwa sababu kiolesura kilichohusishwa bila njia inayoweza kutumika bado ni kushindwa.
kill -SIGHUP $(pidof openvpn)
journalctl -u openvpn-client@lab -n 40
systemctl stop openvpn-client@lab
ip -details link show dev tun1
Upyaupya laini unapaswa kuacha kikao kikitumika na rasilimali zikiwa salama, na hiyo ni kazi ambayo persist-tun hufanya. Kusimamishwa kamili ni mahali ambapo msimamizi wa nje hujidhihirisha: ikiwa kiungo au anwani zake zinastahimili kusimamishwa, mtu mwingine anazimiliki, na hiyo ni ama hali uliyoandika au hitilafu uliyoipata sasa hivi. Andika maoni yote mawili kando ya wasifu, ili mabadiliko yajayo yaanze kutokana na ushahidi na si kutokana na mchoro.