Скриптіңіз VPN-ды іске қосады, бірақ оны дайындамайды
Іске қосу пәрменіне бұрыннан бар және бекітілген қосылым қажет. Дайындауды сессияны басқарудан бөліңіз, әйтпесе скрипт тек сіздің Mac-та жұмыс істейді.
Сіз қосылым атауымен scutil --nc start орындайтын скрипт жазасыз, ол сіздің Mac-та жұмыс істейді және кеңседегі әрбір жаңа орнатылған машинада сәтсіз аяқталады. Скрипт бүлінген жоқ. Одан ешқашан істей алмайтын нәрсе сұралып отыр: бар қосылымды іске қосу жаңасын жасаумен бірдей операция емес.
Дайындау мен сессияны басқару — екі иесі бар екі жұмыс, ал керісінше деп есептейтін жұмыс ағыны жазылған машинада барлық сынақтан өтеді.
Іске қосу пәрмені шын мәнінде кіммен сөйлеседі
Сессияны басқару пәрмені бұрыннан бар және бұрын бекітілген конфигурацияға жүгінеді. Ол жүйеден сол аталған қосылымды көтеруді сұрайды, бұрын сақталған сервер параметрлерін, сәйкестендіру сілтемелерін және саясатты пайдаланып. Егер олар ешқашан орнатылмаса, іске қосатын ештеңе жоқ.
Сондықтан ақау жаңа жабдықта пайда болады, әкімшінің ноутбугінде емес. Ноутбук айлар бұрын мұны ұмытып кеткен адаммен дайындалған. Іске қосу пәрменін өткен тоқсанда біреу сым тартқан есік қоңырауы деп ойлаңыз. Оны басу сымды тартумен бірдей емес.
VPN конфигурациясының үш иесі
Ұйым басқаратын профиль құрылғыларды басқарудан келеді. Профиль сервер мекенжайларын, аутентификация тәртібін және ұйым талап ететін саясатты алып жүреді, ал VPN әкімшісі — оларды ұсынатын адам. Скрипт бұл параметрлерді тізімнен тапқан көрсетілім атауынан қайта құрмауы керек.
Жергілікті жеке VPN конфигурациясы Apple-тың Network Extension API арқылы жасалады, ол кірістірілген IPsec және IKEv2 протоколдарын қамтиды. Бұл сақтау қадамы мен пайдаланушының мақұлдауы бар қолданба интерфейсі, ал жеткізуші ұсынатын кез келген туннель түрін үнсіз жасайтын shell пәрмені емес.
Үшінші тарап клиенті — өз импорт форматы, өз басқару құралы және жиі өз артықшылықты көмекшісі бар үшінші жағдай. Оның сессиясы сол жеткізушінің процесіне тиесілі. Ұқсас атаулы жүйелік қызметті табу жүйелік пәрменнің туннельді басқаратынына дәлел емес, және солай деп есептеу жеткізуші клиентті жаңартқанша жұмыс істеп тұрғандай көрінетін скрипттер жасайды.
Жергілікті дайындауда сақтау мен мақұлдау бар
Apple үлгісі — жүктеу, өзгерту, сақтау. Қолданба іске қосылғаннан кейінгі бірінші сақтауының алдында бар қалауларды жүктейді, конфигурацияны өзгертеді, содан кейін сақтайды. Сақтау тұрақты сақтай алмағанда қате туралы хабарлайды, және бұл нәтижені елемеу дайындау ақауын үш қадамнан кейін қосылым ақауына айналдырады.
Бірінші сақтау пайдаланушының қолданбаны мақұлдауын да талап етеді. Бұл әдейі қойылған қауіпсіздік шекарасы, және бұл жаңа Mac-тағы бірінші іске қосудың интерактивті екенін білдіреді, тіпті кейінгі әрбір қосылу мен ажырауды автоматтандыруға болса да. Бірінші іске қосуды адам қатысатын адами тапсырма ретінде жоспарлаңыз. Екінші іске қосуды және одан кейінгілерді автоматтандырыңыз, және мұны runbook-қа жазыңыз, сонда ешкім мүмкін емес нәрсені уәде етпейді. Толық қадағалаусыз бірінші іске қосуды уәде ететін орналастыру жоспары платформа ұсынбайтын нәрсені уәде етеді.
Apple сонымен қатар API-ға сүйенбес бұрын сервердің үйлесімділігін конфигурация профилімен тексеруді ұсынады. Бұл тексеруді бірінші жасау «сервер бұл клиентті қабылдамайды» мен «клиент параметрлерді ешқашан сақтамады» жағдайларын ажыратады, ал бұлар әртүрлі топтар үшін әртүрлі билеттер.
Қайталанатын іске қосу пәрмені нені болжай алады
Дайындаудан кейін скрипт өз иесінің интерфейсі арқылы бар қосылымды нысанаға ала алады. Оған қосылымның тұрақты сәйкестігін және қалаған әрекетті беріңіз, басқа ештеңе жоқ. Ол болжамды қалау жолын оқымауы керек, және мәзірде көрсетілген атау бүкіл жүйеде бірегей деп есептемеуі керек.
Жергілікті қосылымдар үшін scutil --nc start сияқты аталған сессия сұранысы — басқару операциясы. Ол сервер параметрлерін орнатпайды, тіркелгі деректерін импорттамайды және бірінші сақтаудың авторизациясын орындамайды. Оны тізбектің соңғы қадамы ретінде қарастырыңыз, ешқашан бүкіл тізбек ретінде емес.
Құпияларды пәрмен жолының аргументтерінен және қарапайым диагностикалық шығыстан тыс ұстаңыз. Орналастыру қандай сәйкестендіру механизмін таңдаса да, іске қосу пәрмені соған сүйенуі керек, ал shell тарихына қойылған құпия сөз кез келген шолуда табылым болып табылады.
Екі қабылдау тексерісі
Бірінші тексеріс — дайындау: жаңадан орнатылған Mac алып, конфигурацияның бар екенін, дұрыс менеджерге тиесілі екенін және толық мақұлданғанын дәлелдеңіз. Мұны қосылымды сынаудан бұрын жасаңыз, өйткені дайындалмаған машинадағы қосылым сынағы скрипт туралы ештеңе дәлелдемейді.
Екінші тексеріс — сессия: қосылыңыз, рұқсат етілген ресурсқа жетіңіз және таза ажыраңыз. Енді әрбір ақаудың иесі бар, және бұл екі жұмысты бөлудің практикалық пайдасы. Жоқ профиль — жеткізу мәселесі, сақтау қатесі — мақұлдау мәселесі, қабылданбаған кіру — аутентификация мәселесі, ал сәтті іске қосудан кейінгі уақыт аяқталуы —— сессия қабаты. Олардың ешқайсысы «скрипт бүлінген» емес.