Mac VPN klijent: Network Extension nasuprot System Extension
Network Extension je mogućnost, a System Extensions mehanizam isporuke: razdvojite ih da biste odabrali korak odobrenja u macOS-u i dnevnik koji čitate.
Dva Apple termina koriste se kao da imenuju istu stvar, a ta zabuna šalje ljude na pogrešan panel postavki. Network Extension opisuje mogućnost: podržan način za implementaciju VPN tunela, proksija i filtera. System Extensions opisuje mehanizam isporuke i odobrenja za proširenja u korisničkom prostoru. Moderan Mac VPN klijent obično treba oboje, zato nijedna oznaka sama ne objašnjava simptom. Razdvajanje njih dvaju odgovara koji komponent pregledati i koji korak odobrenja očekivati.
Dva pitanja, a ne jedna oznaka
Pitajte šta komponent radi prije nego što pitate kako se instalira. Mogućnost odlučuje koja klasa provajdera postoji i zato koji kod obrađuje vaše pakete. Mehanizam isporuke odlučuje kako binar stiže, kako se odobrava i gdje se bilježi njegovo stanje. Proizvod može implementirati paketni tunel bez isporuke sistemskog proširenja na starijim izdanjima, a može isporučiti sistemsko proširenje koje implementira nešto drugo osim tunela.
Proširenja jezgra su treći termin koji ljudi miješaju. Bila su stariji način pokretanja privilegovanog mrežnog koda, zahtijevala su drugačija odobrenja, a Apple već godinama usmjerava developere dalje od njih. Primjena recepta za odobrenje proširenja jezgra na moderan klijent gubi vrijeme na dijalog koji se nikada neće pojaviti.
Pročitajte bilješke o implementaciji dobavljača za verziju macOS-a koju koristite umjesto forumske objave iz ranijeg izdanja. Arhitektura se promijenila više puta, a uputstva brzo stare. Bilješka koja spominje odobrenje proširenja jezgra opisuje drugu eru proizvoda.
Šta Network Extension pruža
Okvir pruža tipove provajdera za uobičajene mrežne zadatke: paketni tunel za VPN saobraćaj, aplikacijski proksi za tokove po aplikaciji, filter sadržaja za pregled saobraćaja i upravljanje DNS proksijem za ponašanje rezolvera. Tip provajdera određuje šta proširenje može raditi, a klijent koji isporučuje dva provajdera može obavljati dva različita zadatka.
To je važno tokom dijagnostike jer isti simptom povezanosti može doći od tunela, filtera ili DNS proksija. Blokiranje web stranice je odluka filtera, nemogućnost dolaska do privatne podmreže obično je odluka tunela, a razrješavanje pogrešne adrese obično je odluka rezolvera. Imenovanje tipa provajdera sužava pretragu prije nego što se pročita bilo koji dnevnik.
Ništa u okviru ne podrazumijeva stav o privatnosti. Proširenje u korisničkom prostoru i dalje ima dozvole, konfiguraciju i operatora iza sebe, zato tretirajte arhitekturu kao detalj implementacije, a ne kao signal povjerenja. Pitajte ko upravlja krajnjom tačkom i šta je konfigurisano da prikuplja.
Šta System Extensions mijenja
Mehanizam premješta privilegovani kod iz jezgra u korisnički prostor i mijenja način na koji operativni sistem traži saglasnost. Aktivacija je odvojen korak od instalacije, a korisnik ili MDM profil mora je dozvoliti. Klijent koji se instalira, ali nikada ne aktivira izgleda prisutno u fascikli Applications i ne čini ništa za povezanost.
Stanje bilježi sistem, a ne aplikacija, što je korisno jer se može upitati. Komanda ispod navodi proširenja koja sistem poznaje i njihovo stanje aktivacije.
systemextensionsctl list
scutil --nc list
Prva komanda odgovara da li je komponenta instalirana i aktivirana. Druga navodi VPN konfiguracije koje sistem drži, što je drugačije pitanje i često ono koje je važno kada profil veze nedostaje, a nije pokvaren.
Šta pregledati za dati simptom
Uskladite simptom sa slojem prije nego što otvorite panel postavki. Nedostajuća konfiguracija je pitanje profila, instalirana ali neaktivna komponenta je pitanje isporuke, a aktivna komponenta koja ne može propustiti saobraćaj je pitanje mogućnosti.
| 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 |
Tok dnevnika je zajednički dokaz za posljednja dva reda. Čitanje podsistema mrežnog proširenja kaže koji provajder je obradio tok, a odluka filtera izgleda drugačije od kvara tunela čak i kada korisnik oboje opisuje kao pokvaren VPN.
log show --last 10m --predicate 'process == "nesessionmanager"'
Ne zaključujte da je proširenje aktivno samo zato što postoji ikona u meni baru. Ikone preživljavaju neuspjele aktivacije, a zastarjela ikona jedan je od najčešćih razloga zašto poziv podršci počinje na pogrešnom mjestu. Čitajte umjesto toga stanje aktivacije, jer to sistem bilježi.
Odobrenje, MDM i mit o proširenju jezgra
Na upravljanim Mac računarima korak odobrenja pripada MDM profilu, a korisnik koji klikne Allow u System Settings i dalje može biti blokiran politikom koja nije ažurirana. Pitajte desktop tim koji mehanizam odobrava proširenje za taj park prije nego što zamolite korisnika da bilo šta klikne.
Za neupravljani Mac, upit za odobrenje pojavljuje se jednom i odbijanje može biti trajno dok se proširenje ne reinstalira. To ponašanje objašnjava mašinu na kojoj je klijent radio prije nadogradnje OS-a, a sada prijavljuje vezu koja se nikada ne uspostavlja.
Zapišite tip provajdera, stanje aktivacije i mehanizam odobrenja za klijent koji isporučujete. Te tri činjenice odgovaraju na većinu budućih pitanja o Mac VPN-u bez ponovnog otvaranja rasprave o mogućnosti nasuprot isporuci.