Skripti yako inaanzisha VPN; haiiandai
Amri ya kuanzisha inahitaji muunganisho ambao tayari upo na umeidhinishwa. Tenganisha uandaaji na udhibiti wa kipindi, vinginevyo skripti itafanya kazi kwenye Mac yako pekee.
Unaandika skripti inayoendesha scutil --nc start na jina la muunganisho, inafanya kazi kwenye Mac yako, na inashindikana kwenye kila mashine mpya iliyosakinishwa ofisini. Skripti haijavunjika. Inaombwa kufanya kitu ambacho haikuweza kamwe: kuanzisha muunganisho uliopo si kitendo kimoja na kuunda mpya.
Uandaaji na udhibiti wa kipindi ni kazi mbili zenye wamiliki wawili, na mtiririko wa kazi unaodhani kinyume utafaulu kila jaribio kwenye mashine ulikoandikwa.
Amri ya kuanzisha inazungumza na nini kwa kweli
Amri ya udhibiti wa kipindi inaelekea kwenye usanidi ambao tayari upo na umeidhinishwa. Inaomba mfumo kuinua muunganisho huo uliotajwa, kwa kutumia mipangilio ya seva, marejeleo ya utambulisho na sera zilizohifadhiwa awali. Iwapo hizo hazikusakinishwa kamwe, hakuna cha kuanzisha.
Ndiyo sababu hitilafu inaonekana kwenye maunzi mapya na si kwenye kompyuta ya mkononi ya msimamizi. Kompyuta hiyo iliandaliwa miezi kadhaa iliyopita na mtu ambaye amesahau kufanya hivyo. Fikiria amri ya kuanzisha kama kengele ya mlango ambayo mtu alipitisha waya kwake robo iliyopita. Kuibonyeza si sawa na kuweka nyaya.
Wamiliki watatu wa usanidi wa VPN
Wasifu unaosimamiwa na shirika unatoka kwenye usimamizi wa vifaa. Wasifu hubeba anwani za seva, mpangilio wa uthibitishaji na sera inayohitajika na shirika, na msimamizi wa VPN ni mtu anayezitoa. Skripti haipaswi kuunda upya mipangilio hiyo kutokana na jina la kuonyesha ililoliona kwenye orodha.
Usanidi wa VPN binafsi asilia huundwa kupitia Network Extension API ya Apple, ambayo inashughulikia itifaki za IPsec na IKEv2 zilizojengwa ndani. Ni kiolesura cha programu chenye hatua ya kuhifadhi na idhini ya mtumiaji, si amri ya shell inayounda kimyakimya aina yoyote ya handaki ambayo msambazaji anatoa.
Mteja wa mtu wa tatu ni kesi ya tatu yenye umbizo lake la kuingiza, chombo chake cha usimamizi na mara nyingi msaidizi wake mwenye upendeleo. Kipindi chake kinamilikiwa na mchakato wa msambazaji huyo. Kupata huduma ya mfumo yenye jina linalofanana si ushahidi kwamba amri ya mfumo inadhibiti handaki, na kudhani hivyo huzalisha skripti zinazoonekana kufanya kazi hadi msambazaji asasishe mteja.
Uandaaji asilia una uhifadhi na idhini
Mfano wa Apple ni pakia, badilisha, hifadhi. Programu hupakia mapendeleo yaliyopo kabla ya uhifadhi wake wa kwanza baada ya kuzinduliwa, hubadilisha usanidi kisha huuhifadhi. Uhifadhi huripoti hitilafu wakati hauwezi kudumu, na kupuuza matokeo hayo hubadilisha hitilafu ya uandaaji kuwa hitilafu ya muunganisho hatua tatu baadaye.
Uhifadhi wa kwanza pia unahitaji mtumiaji kuidhinisha programu. Hiyo ni mpaka wa usalama wa kukusudia, na inamaanisha uendeshaji wa kwanza kwenye Mac mpya ni wa mwingiliano hata wakati kila kuunganisha na kutenganisha baadaye kunaweza kuendeshwa kiotomatiki. Panga uendeshaji wa kwanza kama kazi ya kibinadamu na mtu akiwepo. Endesha kiotomatiki uendeshaji wa pili na kuendelea, na andika hivyo kwenye runbook ili mtu asiahidi lisilowezekana. Mpango wa usambazaji unaoahidi uendeshaji wa kwanza bila uangalizi kabisa unaahidi kitu ambacho jukwaa haliwezi kutoa.
Apple pia inapendekeza kuthibitisha upatanisho wa seva na wasifu wa usanidi kabla ya kutegemea API. Kufanya ukaguzi huo kwanza hutenganisha «seva haitakubali mteja huyu» na «mteja hakuwahi kuhifadhi mipangilio», ambayo ni tikiti tofauti kwa timu tofauti.
Amri ya kuanzisha inayoweza kurudiwa inaweza kudhani nini
Baada ya uandaaji, skripti inaweza kwa usalama kuelekeza kwenye muunganisho uliopo kupitia kiolesura cha mmiliki wake. Ipe utambulisho thabiti wa muunganisho pamoja na kitendo unachotaka, na hakuna kingine. Haipaswi kusoma njia ya mapendeleo iliyokisiwa, na haipaswi kudhani jina linaloonyeshwa kwenye menyu ni la kipekee katika mfumo wote.
Kwa miunganisho asilia, ombi la kipindi lenye jina kama scutil --nc start ni operesheni ya udhibiti. Haisakinishi mipangilio ya seva, haiingizi vitambulisho na haifanyi idhini ya uhifadhi wa kwanza. Iichukulie kama hatua ya mwisho ya mnyororo, kamwe si mnyororo mzima.
Weka siri nje ya hoja za mstari wa amri na nje ya matokeo ya kawaida ya uchunguzi. Utaratibu wowote wa utambulisho uliochaguliwa na usambazaji ndio amri ya kuanzisha inapaswa kuutegemea, na nenosiri lililobandikwa kwenye historia ya shell ni ugunduzi katika ukaguzi wowote.
Ukaguzi mbili wa kukubali
Ukaguzi wa kwanza ni uandaaji: chukua Mac mpya iliyosakinishwa na uthibitishe kuwa usanidi upo, unamilikiwa na msimamizi sahihi na umeidhinishwa kikamilifu. Fanya hivi kabla ya kujaribu muunganisho, kwa sababu jaribio la muunganisho kwenye mashine isiyoandaliwa halithibitishi chochote kuhusu skripti.
Ukaguzi wa pili ni kipindi: ungana, fikia rasilimali iliyoidhinishwa na tenganisha kwa usafi. Sasa kila hitilafu ina mmiliki, na hiyo ni faida ya kivitendo ya kutenganisha kazi mbili. Wasifu unaokosekana ni tatizo la usambazaji, hitilafu ya uhifadhi ni tatizo la idhini, kuingia lililokataliwa ni tatizo la uthibitishaji, na muda kupita baada ya kuanzisha kwa mafanikio ni tabaka la kipindi. Hakuna hata moja ambayo ni «skripti imevunjika».