Hook ya mteja au hook ya seva? Skript ya OpenVPN inaendeshwa wapi
Njia ya skript katika usanidi wa seva ni njia kwenye seva. Chagua hook kulingana na mashine inayopaswa kufanya kazi, na acha kutarajia push itaendesha msimbo kwenye kompyuta ya mkononi.
Kazi iko wazi: kompyuta ya mkononi inapoungana, kitu kwenye kompyuta hiyo kinapaswa kubadilika. Usanidi unaohaririwa ni wa seva, na hapo ndipo dhana inapovunjika. Njia katika faili ya seva inataja faili kwenye seva hiyo, na hakuna kiwango chochote cha push kinachobadilisha mchakato wa nani unaoitekeleza. Kuchagua kati ya hook mbili ni zaidi uamuzi wa mashine ipi inamiliki kazi, na kukubali mipaka inayofuata.
Mashine mbili, maswali mawili ya kujibiwa kwanza
Uliza wapi mabadiliko ya hali yanapaswa kutokea, kisha uliza ni tukio gani linalolingana nayo. Ikiwa mabadiliko ni idhini kwa kila mtumiaji au uamuzi wa usanidi kwa kila mteja, ni mali ya mahali ambapo saraka ya watumiaji inajulikana: seva. Ikiwa mabadiliko ni njia, mpangilio wa resolver au msaidizi wa ndani kwenye kituo cha mwisho, ni mali ya kituo cha mwisho, na ni kituo cha mwisho pekee kinachoweza kufanya hivyo.
Kujibu maswali hayo mawili kwa mpangilio wa kinyume ndiko kunakofanya watu kuishia kujaribu kusukuma faili ya batch kwenye kompyuta ya mkononi ya Windows. Seva inajua nani aliunganisha; kompyuta ya mkononi inajua stack yake ya mtandao inaonekanaje. Hakuna hata mmoja aliye na taarifa za mwingine, na jaribio mara nyingi hushindwa kimya badala ya kwa hitilafu iliyo wazi.
Kabla ya zote mbili inafaa kuuliza swali la tatu: je, jukwaa linatoa hook unayotaka hata kidogo? Kifaa kinachozalisha usanidi wake yenyewe kinaweza kisitoe majina sawa ya matukio, na mteja wa kompyuta ya mezani anayeingiza faili ya .ovpn si lazima awe mteja yule yule ambaye faili iliandikiwa. Kuthibitisha jukwaa kwanza kunakuokoa kuunda kuzunguka hook ambayo haipo hapo. Pia inakuambia nyaraka zipi zinatumika kweli kwa mashine iliyo mbele yako.
Chaguo la upande wa seva: tukio kwa kila muunganisho
Skript ya client-connect inaendeshwa katika muktadha wa mchakato wa seva mteja aliyethibitishwa anapoungana, na hupokea maelezo ya muunganisho yaliyoandikwa kama common name na anwani iliyotengwa. Ni mahali sahihi pa kuandika kipande cha usanidi kwa kila mteja, kutekeleza uamuzi wa sera au kurekodi hali ambayo seva inamiliki.
Tofauti ambayo watu huikosa ni tofauti kati ya hook hiyo na hook ya up ya seva. Hook ya up huwaka seva inapofungua kifaa chake cha handaki, jambo ambalo kwenye seva yenye wateja wengi hutokea mara moja wakati daemon inaanza. Si tukio la kila kuingia, na msimbo uliowekwa hapo unaendeshwa huduma inapoanza badala ya watumiaji wanapoungana.
Kwenye kifaa chenye kiolesura cha wavuti, tumia utaratibu wa upanuzi unaotumika badala ya kuhariri faili za daemon zilizozalishwa. Faili zilizozalishwa huandikwa upya wakati wa kuhifadhi kunakofuata, na uandikaji upya huo huondoa mabadiliko yako kimya wakati mbaya zaidi. Weka nakala ya maandishi ya upanuzi nje ya kifaa ili sasisho la firmware lisipoteze pia kusudi.
Chaguo la upande wa mteja: kazi ambayo lazima iendeshwe ndani
Mteja wa jumuiya anaweza kuendesha skript ya ndani kifaa cha handaki kinapoinuka na tena njia zinapowekwa. Hizo ni nyakati mbili tofauti, na kuchagua isiyofaa huzaa shindano la kawaida ambapo msaidizi huanza kabla njia inayomtegemea haipo.
Msaidizi lazima awepo kwenye mteja huyo, asomeke na aweze kuendeshwa na akaunti inayoendesha mteja, na aruhusiwe na mpangilio wa script-security ulio wazi. Skript inayofanya kazi unapoanzisha mteja kama msimamizi haikuambii chochote kuhusu huduma ya kabla ya kuingia au kipindi cha mtumiaji mwingine.
Majina pia ni muhimu. Hook ya up inalingana na uundaji wa kifaa na route-up na usanikishaji wa njia, lakini kazi inayohitaji mtandao wa kibinafsi kufikiwa inapaswa kuthibitisha ufikivu badala ya kudhani kuwa uundaji wa kifaa unamaanisha kila njia, ingizo la resolver na programu ziko tayari.
Kwa nini kusukuma msimbo unaotekelezeka hakumo kwenye chaguo
Chaguo zinazosukumwa kwa push zimewekewa mipaka kwa makusudi, na chaguo zinazoendesha skript ni miongoni mwa makundi ambayo seva hairuhusiwi kupeleka chini. Kikomo hicho kipo kwa sababu njia mbadala ingeruhusu seva iliyoathiriwa au isiyosanidiwa vizuri kuendesha amri ovyo kwenye kila mteja anayeungana kamwe.
Kuwezesha utekelezaji wa skript ndani hakubadilishi hilo. Mpangilio wako wa script-security unaruhusu skript za ndani ulizochagua; haimpi seva mamlaka ya kutoa mpya.
Ikiwa lengo ni kusakinisha njia za VPN tu, tumia usanidi wa njia unaotumika badala ya kubuni mpango wa utekelezaji wa mbali. Ikiwa lengo kwa kweli linahitaji msimbo wa ndani, usambaze kupitia zana za usimamizi wa vituo vya mwisho vya shirika na ukague kama programu nyingine yoyote inayoendeshwa kwa haki za mtumiaji.
Nini cha kuthibitisha kabla ya kuamini hook yoyote kati ya hizo mbili
Andika mambo manne kwa kila hook: mashine, jina la tukio, akaunti inayoendeshwa nayo, na mabadiliko ya hali inayopaswa kuzalisha. Kisha jaribu muunganisho, muunganisho upya na njia ya kusafisha, kwa sababu hook inayovujisha hali wakati wa kuunganisha upya ni mbaya kuliko ile ambayo haikuendeshwa kamwe.
Jaribu chini ya akaunti itakayoitekeleza kweli, wakati itakapotekelezwa kweli. Mwongozo wa openvpn(8) unaandika familia zote mbili za hook na vikomo vya push; jukwaa unalotumia linaandika ikiwa linazitoa hata kidogo. Skript inayofaulu kwenye terminal ya msimamizi inayoshirikiana ni dhana, si uthibitisho.