Sinu skript käivitab VPN-i, aga ei seadista seda
Käivituskäsk vajab ühendust, mis on juba olemas ja kinnitatud. Eralda seadistamine sessiooni haldamisest, muidu töötab skript ainult sinu Macis.
Sa kirjutad skripti, mis käivitab scutil --nc start ühenduse nimega, see töötab sinu Macis ja ebaõnnestub igas värskelt paigaldatud kontori masinas. Skript ei ole katki. Sellelt küsitakse midagi, mida see kunagi teha ei saanud: olemasoleva ühenduse käivitamine ei ole sama toiming kui uue loomine.
Seadistamine ja sessiooni haldamine on kaks tööd kahe omanikuga ning töövoog, mis eeldab vastupidist, läbib kõik testid masinas, kus see kirjutati.
Millega käivituskäsk tegelikult räägib
Sessiooni haldamise käsk pöördub konfiguratsiooni poole, mis on juba olemas ja juba kinnitatud. See palub süsteemil selle nimetatud ühenduse üles tõsta, kasutades varem salvestatud serveri seadeid, identiteediviiteid ja poliitikat. Kui neid kunagi ei paigaldatud, ei ole midagi käivitada.
Seetõttu ilmneb viga uuel riistvaral, mitte administraatori sülearvutis. Sülearvuti seadistati kuid tagasi inimese poolt, kes on selle vahepeal unustanud. Mõtle käivituskäsule kui uksekellale, mille keegi eelmises kvartalis juhtmetega ühendas. Selle vajutamine ei ole sama, mis juhtmestiku paigaldamine.
VPN-i konfiguratsiooni kolm omanikku
Organisatsiooni hallatav profiil tuleb seadmehaldusest. Profiil kannab serveri aadresse, autentimise korda ja poliitikat, mida organisatsioon nõuab, ning VPN-i administraator on inimene, kes need tarnib. Skript ei tohiks neid seadeid rekonstrueerida loendist leitud kuvanime põhjal.
Natiivne isiklik VPN-i konfiguratsioon luuakse Apple'i Network Extension API kaudu, mis hõlmab sisseehitatud IPsec- ja IKEv2-protokolle. See on rakendusliides, millel on salvestamise samm ja kasutaja kinnitus, mitte shell-käsk, mis vaikselt loob mis tahes tunnelitüübi, mida tarnija pakub.
Kolmanda osapoole klient on kolmas juhtum oma impordivormingu, oma haldusvahendi ja sageli oma privilegeeritud abilisega. Selle sessiooni omab selle tarnija protsess. Sarnase nimega süsteemiteenuse leidmine ei ole tõend, et süsteemikäsk tunnelit juhib, ja selle eeldamine loob skripte, mis näivad töötavat, kuni tarnija klienti uuendab.
Natiivsel seadistamisel on salvestus ja kinnitus
Apple'i mudel on laadi, muuda, salvesta. Rakendus laadib olemasolevad eelistused enne oma esimest salvestust pärast käivitumist, muudab konfiguratsiooni ja salvestab selle seejärel. Salvestus teatab veast, kui see ei saa püsida, ja selle tulemuse eiramine muudab seadistamisvea kolm sammu hiljem ühendusveaks.
Esimene salvestus nõuab ka seda, et kasutaja rakenduse kinnitaks. See on tahtlik turvapiir ja tähendab, et esimene käivitus uues Macis on interaktiivne isegi siis, kui iga hilisema ühenduse ja katkestuse saab automatiseerida. Planeeri esimest käivitust inimese ülesandena, kus inimene on kohal. Automatiseeri teine käivitus ja edasi ning ütle seda runbookis, et keegi ei lubaks võimatut. Juurutuskava, mis lubab täiesti järelevalveta esimest käivitust, lubab midagi, mida platvorm ei paku.
Apple soovitab ka enne API-le tuginemist valideerida serveri ühilduvust konfiguratsiooniprofiiliga. Selle kontrolli esimesena tegemine eristab «server ei võta seda klienti vastu» olukorrast «klient ei salvestanud seadeid kunagi», mis on eri meeskondade jaoks eri piletid.
Mida korratav käivituskäsk võib eeldada
Pärast seadistamist saab skript turvaliselt sihtida olemasolevat ühendust selle omaniku liidese kaudu. Anna sellele ühenduse püsiv identiteet pluss soovitud toiming ja mitte midagi muud. See ei tohiks lugeda oletatud eelistuste teed ega eeldada, et menüüs näidatav nimi on kogu süsteemis unikaalne.
Natiivsete ühenduste puhul on nimetatud sessioonitaotlus nagu scutil --nc start haldustoiming. See ei paigalda serveri seadeid, ei impordi volitusi ega tee esimese salvestuse autoriseerimist. Käsitle seda ahela viimase sammuna, mitte kunagi kogu ahelana.
Hoia saladused käsurea argumentidest ja tavalisest diagnostikaväljundist eemal. Millise identiteedimehhanismi juurutus ka valis, just sellele peaks käivituskäsk tuginema, ja shelli ajalukku kleebitud parool on leid igas ülevaates.
Kaks vastuvõtukontrolli
Esimene kontroll on seadistamine: võta värskelt paigaldatud Mac ja tõesta, et konfiguratsioon on olemas, õige haldaja oma ja täielikult kinnitatud. Tee seda enne ühenduvuse testimist, sest ühenduse test seadistamata masinas ei tõesta skripti kohta midagi.
Teine kontroll on sessioon: ühendu, jõua volitatud ressursini ja katkesta puhtalt. Nüüd on igal veal omanik, ja see on kahe töö eraldamise praktiline kasu. Puuduv profiil on tarneprobleem, salvestusviga on kinnitamise probleem, tagasi lükatud sisselogimine on autentimise probleem ja edukale käivitusele järgnev aegumine on sessioonikiht. Ükski neist ei ole «skript on katki».