VPN статус на Mac: проверете го профилот, ресурсот или текот
Една булова вредност не може да одговори на три различни прашања. Прво изберете го субјектот, потоа користете го интерфејсот што навистина го пријавува и задржете ги причините за неуспех.
Некој прашува дали VPN е подигнат, а три различни луѓе мислат на три различни работи. Оператор мисли дека профилот Office завршил автентикација. Планер мисли дека приватниот API ќе одговори. Безбедносен преглед мисли дека ова конкретно барање излегло по заштитениот пат. Скрипта што пребарува со grep во табелата со рути за име на интерфејс не одговара веродостојно на ниту едно од нив.
Затоа контролната листа започнува пред да се изврши која било наредба: именувајте го субјектот на проверката. Сѐ потоа е избор на интерфејсот што навистина може да го пријави.
Именувајте го субјектот пред наредбата
Напишете го прашањето како предикат со субјект. „Дали профилот Office е поврзан“ може да се провери и има сопственик што може да одговори. „Дали оваа работа може да го достигне внатрешниот API“ е втор предикат со различен режим на неуспех. „Дали ова барање го користи заштитениот пат“ е трет и единствениот што зборува за еден тек, а не за целата машина.
Нивното мешање создава автоматизација што самоуверено лаже. Работа што ја проверува состојбата на профилот и потоа претпоставува дека API е подготвен ќе повика некого на погрешен слој, а работа што прави ping на API и го нарекува тоа доказ за тунел не може да разликува работен VPN од преносно сметач што случајно е на канцелариската мрежа.
Еден профил: прашајте го она што го поседува
За нативна Mac услуга, контролите за мрежна врска во scutil го пријавуваат точно ова. Тие ја читаат состојбата на именувана конфигурација наместо да извлекуваат нешто од интерфејс.
scutil --nc list
scutil --nc status "Office VPN"
Името на профилот во таа наредба мора да биде вистинското од излезот на списокот, а не претпоставка. Ова е пат само за читање за нативни услуги и не е гаранција дека клиент од трета страна воопшто ќе се појави таму; давателот што управува со сопствен тунел му треба сопствен поддржан интерфејс за состојба. Проверете го списокот пред да го напишете повикот за состојба, за да не успее името што недостасува видливо наместо тивко да се совпадне со ништо.
Внатре во апликација Network Extension, читајте ја состојбата од објектите на менаџерот и врската наместо од системот. Внимавајте на опсегот: вчитувањето зачувани конфигурации враќа само оние што ги создала апликацијата што повикува, па празен резултат значи „ниту една моја“, а не „нема VPN на овој Mac“. Разликувајте неуспешно барање од потврдена исклучена состојба и третирајте ги преодните состојби како сопствени резултати наместо повторно да пробате врска што веќе се подига.
Една работа: подготвеноста е одделен предикат
Ако прашањето е дали работата може да продолжи, проверете ја вистинската зависност на работата откако сопственикот на врската ќе ја пријави саканата состојба. Ограничена проверка на подготвеноста кон приватниот ресурс е вистинската форма: докажува што ѝ треба на работата и ништо повеќе.
Таа сѐ уште не може да докаже дека секое барање на машината го користи тунелот и не треба да се пријавува како да може. Исто така, ресурс што одговара преку обичната мрежа не е доказ за VPN, затоа двете проверки остануваат одделни дури и кога двете успеваат.
Кога работата навистина бара заштитен пат, тоа барање бара сопствен дизајн за спроведување на распоредувањето: рутирање, исклучувања на разделен тунел, правило за огнен ѕид или барање на ниво на апликација. Достапноста на крајната точка е факт за серверот. Спроведувањето е факт за конфигурацијата на клиентот и едното не го докажува другото.
Еден тек: проверете ја избраната рута
За еден тек гледајте ја дестинацијата, фамилијата адреси и контекстот на изворот со дијагностиката за рутирање што ја пријавува избраната патека за таа конкретна дестинација. Тој излез ги именува интерфејсот и изворната адреса што навистина се користени, што е многу посилно тврдење од запис за стандардна рута.
Широките проверки во прелистувачот одговараат на сосема друго прашање. Резултатот за јавна IP адреса опишува како изгледало едно барање од гледна точка на еден сервер и не кажува ништо за приватниот DNS, исклучените апликации или втор мрежен контекст што го користи друг процес.
Вратете резултат што повикувачот може да го користи
Изберете форма на враќање што одговара на предикатот: именувана состојба на профил, пресуда за подготвеноста на ресурсот или експлицитно непознато со доказите што го создале. Задржете го идентитетот на конфигурацијата и причината за неуспехот покрај пресудата.
Токму последната навика ја прави разликата помеѓу автоматизација што помага и автоматизација што крие проблеми. „Office VPN: исклучено, последниот обид не успеа при автентикација“ му кажува на операторот каде да гледа. „VPN падна“ повикува на повторно инсталирање, а „интерфејсот е пронајден“ повикува на лажно сѐ е во ред.
Референцата за Network Extension за вчитување зачувани конфигурации на тунел е местото каде да го потврдите опсегот на апликацијата што повикува пред да изградите нешто врз неа.