Kāds jautā, vai VPN darbojas, un trīs dažādi cilvēki ar to saprot trīs dažādas lietas. Operators saprot, ka Office profils ir pabeidzis autentifikāciju. Plānotājs saprot, ka privātais API atbildēs. Drošības pārskats saprot, ka šis konkrētais pieprasījums izgāja pa aizsargāto ceļu. Skripts, kas ar grep meklē maršrutu tabulā saskarnes nosaukumu, uzticami neatbild ne uz vienu no tiem.

Tāpēc kontrolsaraksts sākas pirms jebkuras komandas palaišanas: nosauciet pārbaudes subjektu. Viss pēc tam ir tās saskarnes izvēle, kas to patiešām var ziņot.

Nosauciet subjektu pirms komandas

Uzrakstiet jautājumu kā predikātu ar subjektu. „Vai Office profils ir savienots“ ir pārbaudāms, un tam ir īpašnieks, kas var atbildēt. „Vai šis darbs var sasniegt iekšējo API“ ir otrs predikāts ar citu kļūmes režīmu. „Vai šis pieprasījums izmanto aizsargāto ceļu“ ir trešais, un tas ir vienīgais, kas runā par vienu plūsmu, nevis par visu mašīnu.

To sajaukšana rada automatizāciju, kas pārliecinoši melo. Darbs, kas pārbauda profila stāvokli un pēc tam pieņem, ka API ir gatavs, izsauks kādu nepareizajā slānī, un darbs, kas pingē API un nosauc to par tuneļa pierādījumu, nevar atšķirt strādājošu VPN no klēpjdatora, kas nejauši atrodas biroja tīklā.

Viens profils: jautājiet tam, kam tas pieder

Vietējam Mac pakalpojumam tīkla savienojuma vadīklas scutil ziņo tieši to. Tās nolasa nosauktas konfigurācijas stāvokli, nevis kaut ko secina no saskarnes.

scutil --nc list
scutil --nc status "Office VPN"

Profila nosaukumam šajā komandā jābūt īstajam no saraksta izvades, nevis minējumam. Tas ir tikai lasīšanas ceļš vietējiem pakalpojumiem, un tas negarantē, ka trešās puses klients tur vispār parādīsies; pakalpojumu sniedzējam, kas pārvalda savu tuneli, vajadzīga sava atbalstītā stāvokļa saskarne. Pārbaudiet sarakstu pirms stāvokļa izsaukuma rakstīšanas, lai trūkstošais nosaukums redzami neizdotos, nevis klusi nesaskanētu ar neko.

Network Extension lietotnē lasiet stāvokli no pārvaldnieka un savienojuma objektiem, nevis no sistēmas. Pievērsiet uzmanību tvērumam: ielādējot saglabātās konfigurācijas, tiek atgrieztas tikai tās, ko izveidojusi izsaucēja lietotne, tāpēc tukšs rezultāts nozīmē „neviena no manējām“, nevis „šajā Mac nav VPN“. Atšķiriet neizdevušos vaicājumu no apstiprināta atvienota stāvokļa, un pārejas stāvokļus uzskatiet par atsevišķiem rezultātiem, nevis mēģiniet vēlreiz savienojumu, kas jau ceļas.

Viens darbs: gatavība ir atsevišķs predikāts

Ja jautājums ir, vai darbs var turpināties, pārbaudiet darba faktisko atkarību pēc tam, kad savienojuma īpašnieks ir paziņojis paredzēto stāvokli. Ierobežota gatavības pārbaude pret privāto resursu ir pareizā forma: tā pierāda, kas darbam vajadzīgs, un ne vairāk.

Tā joprojām nevar pierādīt, ka katrs mašīnas pieprasījums izmanto tuneli, un to nevajadzētu ziņot tā, it kā varētu. Tāpat resurss, kas atbild pa parasto tīklu, nav VPN pierādījums, tāpēc abas pārbaudes paliek atsevišķas arī tad, kad abas izdodas.

Kad darbam patiešām vajadzīgs aizsargāts ceļš, šai prasībai vajadzīgs paša izvietojuma izpildes dizains: maršrutēšana, sadalītā tuneļa izņēmumi, ugunsmūra noteikums vai lietojumprogrammas līmeņa prasība. Galapunkta pieejamība ir fakts par serveri. Izpilde ir fakts par klienta konfigurāciju, un viens neparāda otru.

Viena plūsma: pārbaudiet izvēlēto maršrutu

Vienai plūsmai apskatiet galamērķi, adrešu saimi un avota kontekstu ar maršrutēšanas diagnostiku, kas ziņo izvēlēto ceļu tieši šim galamērķim. Šī izvade nosauc faktiski izmantoto saskarni un avota adresi, kas ir daudz spēcīgāks apgalvojums nekā noklusējuma maršruta ieraksts.

Plašās pārlūka pārbaudes atbild uz pavisam citu jautājumu. Publiskās IP rezultāts apraksta, kā viens pieprasījums izskatījās no viena servera skatpunkta, un tas neko nesaka par privāto DNS, izslēgtajām lietojumprogrammām vai otru tīkla kontekstu, ko izmanto cits process.

Atgrieziet rezultātu, ko izsaucējs var izmantot

Izvēlieties predikātam atbilstošu atgriešanas formu: nosauktu profila stāvokli, resursa gatavības spriedumu vai skaidru nezināmo ar pierādījumiem, kas to radīja. Sprieduma malā saglabājiet konfigurācijas identitāti un kļūmes iemeslu.

Tieši pēdējais ieradums rada atšķirību starp automatizāciju, kas palīdz, un automatizāciju, kas slēpj problēmas. „Office VPN: atvienots, pēdējais mēģinājums neizdevās autentifikācijā“ pasaka operatoram, kur skatīties. „VPN ir nokritis“ aicina pārinstalēt, un „saskarne atrasta“ aicina uz viltus viss ir kārtībā.

Network Extension atsauce par saglabāto tuneļa konfigurāciju ielādi ir vieta, kur apstiprināt izsaucējas lietotnes tvērumu, pirms kaut ko uz tās būvējat.

Saistītie raksti