Maci VPN-klient: Network Extension versus System Extension
Network Extension on võimekus ja System Extensions tarnev mehhanism: eraldage need, et valida macOS-i kinnitamise samm ja loetav logi.
Kahte Apple'i terminit kasutatakse nii, nagu nimetaksid need sama asja, ja see segadus suunab inimesed vale seadete paneeli juurde. Network Extension kirjeldab võimekust: toetatud viisi VPN-tunnelite, puhverserverite ja filtrite rakendamiseks. System Extensions kirjeldab kasutajaruumi laienduste tarne- ja kinnitamismehhanismi. Kaasaegne Maci VPN-klient vajab tavaliselt mõlemat, mistõttu kumbki silt üksi sümptomit ei selgita. Kahe eraldamine vastab, millist komponenti kontrollida ja millist kinnitamise sammu oodata.
Kaks küsimust, mitte üks silt
Küsige, mida komponent teeb, enne kui küsite, kuidas seda paigaldatakse. Võimekus määrab, milline teenusepakkuja klass olemas on ja seega, milline kood teie pakette töötleb. Tarne mehhanism määrab, kuidas binaarfail saabub, kuidas seda kinnitatakse ja kuhu selle olek salvestatakse. Toode võib pakett-tunnelit rakendada ilma vanematel versioonidel süsteemilaiendit tarnimata, ja see võib tarnida süsteemilaiendi, mis rakendab midagi muud kui tunnelit.
Kernelilaiendid on kolmas termin, mida inimesed segavad. Need olid vanem viis privilegeeritud võrgukoodi käivitamiseks, nõudsid teistsuguseid kinnitusi ja Apple on arendajaid juba aastaid nendest eemale suunanud. Kernelilaiendi kinnitamise retsepti rakendamine kaasaegsele kliendile raiskab aega dialoogile, mis ei ilmu kunagi.
Lugege tarnija juurutusmärkmeid teie kasutatava macOS-i versiooni kohta varasema versiooni foorumipostituse asemel. Arhitektuur muutus rohkem kui korra ja juhised vananevad kiiresti. Märge, mis mainib kernelilaiendi kinnitamist, kirjeldab toote teist ajastut.
Mida Network Extension pakub
Raamistik pakub teenusepakkuja tüüpe tavapäraste võrguülesannete jaoks: pakett-tunnel VPN-liikluse jaoks, rakenduse puhverserver rakendusepõhiste voogude jaoks, sisufilter liikluse kontrollimiseks ja DNS-puhverserveri käsitlemine lahendaja käitumise jaoks. Teenusepakkuja tüüp määrab, mida laiend teha saab, ja klient, mis tarnib kahte teenusepakkujat, võib teha kahte erinevat tööd.
See loeb diagnoosimisel, sest sama ühenduvuse sümptom võib tulla tunnelist, filtrist või DNS-puhverserverist. Veebisaidi blokeerimine on filtri otsus, privaatse alamvõrgu kättesaamatus on tavaliselt tunneli otsus ja vale aadressi lahendamine on tavaliselt lahendaja otsus. Teenusepakkuja tüübi nimetamine kitsendab otsingut enne ühegi logi lugemist.
Miski raamistikus ei eelda privaatsushoiakut. Kasutajaruumi laiendil on endiselt õigused, konfiguratsioon ja operaator taga, seega käsitlege arhitektuuri rakendusdetaili, mitte usaldussignaalina. Küsige, kes haldab lõpp-punkti ja mida see on konfigureeritud koguma.
Mida System Extensions muudab
Mehhanism liigutab privilegeeritud koodi kerneliist kasutajaruumi ja muudab seda, kuidas operatsioonisüsteem nõusolekut küsib. Aktiveerimine on paigaldamisest eraldi samm ja kasutaja või MDM-profiil peab selle lubama. Klient, mis paigaldub, kuid ei aktiveeru kunagi näib olevat kaustas Applications ja ei tee ühenduvuse jaoks midagi.
Oleku salvestab süsteem, mitte rakendus, mis on kasulik, sest seda saab pärida. Allolev käsk loetleb laiendid, mida süsteem teab, ja nende aktiveerimise oleku.
systemextensionsctl list
scutil --nc list
Esimene käsk vastab, kas komponent on paigaldatud ja aktiveeritud. Teine loetleb VPN-konfiguratsioonid, mida süsteem hoiab, mis on teine küsimus ja sageli just see, mis loeb, kui ühenduse profiil on puudu, mitte katki.
Mida konkreetse sümptomi puhul kontrollida
Sobitage sümptom kihiga enne seadete paneeli avamist. Puuduv konfiguratsioon on profiili küsimus, paigaldatud kuid mitteaktiivne komponent on tarne küsimus ja aktiivne komponent, mis ei lase liiklust läbi, on võimekuse küsimus.
| Symptom | First place to look |
|---|---|
| No VPN entry at all | Configuration profile or scutil list |
| Client installed, nothing happens | Extension activation state |
| Tunnel up, private host unreachable | Tunnel provider routes and policy |
| One app blocked, others fine | Filter or app proxy provider |
Logivoog on kahe viimase rea ühine tõend. Võrgulaiendi alamsüsteemi lugemine ütleb, milline teenusepakkuja voogu käsitles, ja filtri otsus näeb teistsugune välja kui tunneli tõrge, isegi kui kasutaja nimetab mõlemat katkiseks VPN-iks.
log show --last 10m --predicate 'process == "nesessionmanager"'
Ärge järeldage, et laiend on aktiivne, sest menüüribal on ikoon. Ikoonid jäävad alles ebaõnnestunud aktiveerimistest ja vananenud ikoon on üks tavalisemaid põhjusi, miks tugikõne algab vales kohas. Lugege selle asemel aktiveerimise olekut, sest selle salvestab süsteem.
Kinnitamine, MDM ja kernelilaiendi müüt
Hallatavatel Macidel kuulub kinnitamise samm MDM-profiilile ja kasutaja, kes klõpsab System Settings menüüs Allow, võib siiski olla blokeeritud poliitikaga, mida ei ole uuendatud. Küsige töölaua meeskonnalt, milline mehhanism selle parve jaoks laiendi kinnitab, enne kui palute kasutajal millelegi klõpsata.
Haldamata Macil ilmub kinnitamise viip üks kord ja tagasilükkamine võib olla püsiv, kuni laiend uuesti paigaldatakse. See käitumine seletab masinat, kus klient töötas enne operatsioonisüsteemi uuendust ja teatab nüüd ühendusest, mis ei teki kunagi.
Kirjutage üles teenusepakkuja tüüp, aktiveerimise olek ja kinnitamismehhanism kliendi jaoks, mida juurutate. Need kolm fakti vastavad enamikule tulevastele küsimustele Maci VPN-i kohta, avamata uuesti vaidlust võimekuse ja tarne vahel.